home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / unitednuke / unitednuke.exe / html / admin / modules / messages.php < prev    next >
PHP Script  |  2004-01-10  |  14KB  |  379 lines

  1. <?php
  2.  
  3. /************************************************************************/
  4. /* PHP-NUKE: Web Portal System                                          */
  5. /* ===========================                                          */
  6. /*                                                                      */
  7. /* Copyright (c) 2002 by Francisco Burzi                                */
  8. /* http://phpnuke.org                                                   */
  9. /*                                                                      */
  10. /* This program is free software. You can redistribute it and/or modify */
  11. /* it under the terms of the GNU General Public License as published by */
  12. /* the Free Software Foundation; either version 2 of the License.       */
  13. /************************************************************************/
  14.  
  15. if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
  16. global $prefix, $db;
  17. $aid = substr(trim($aid), 0,25);
  18. $row = $db->sql_fetchrow($db->sql_query("SELECT radminsuper FROM ".$prefix."_authors WHERE aid='$aid'"));
  19. if ($row['radminsuper'] == 1) {
  20.  
  21. /*********************************************************/
  22. /* Messages Functions                                    */
  23. /*********************************************************/
  24.  
  25. function MsgDeactive($mid) {
  26.     global $prefix, $db;
  27.     $mid = intval($mid);
  28.     $db->sql_query("update ".$prefix."_message set active='0' WHERE mid='$mid'");
  29.     Header("Location: admin.php?op=messages");
  30. }
  31.  
  32. function messages() {
  33.     global $admin, $admlanguage, $language, $bgcolor1, $bgcolor2, $prefix, $db, $multilingual;
  34.     include ("header.php");
  35.     GraphicAdmin();
  36.     OpenTable();
  37.     echo "<center><font class=\"title\"><b>"._MESSAGESADMIN."</b></font></center>";
  38.     CloseTable();
  39.     echo "<br>";
  40.     if ($admlanguage == "") {
  41.         $admlanguage = $language; /* This to make sure some language is pre-selected */
  42.     }
  43.     OpenTable();
  44.     echo "<center><font class=\"title\"><b>"._ALLMESSAGES."</b></font><br><br><table border=\"1\" width=\"100%\" bgcolor=\"$bgcolor1\">"
  45.     ."<td bgcolor=\"$bgcolor2\" align=\"center\"><b>"._ID."</b></td>"
  46.     ."<td bgcolor=\"$bgcolor2\" align=\"center\"><b>"._TITLE."</b></td>"
  47.     ."<td bgcolor=\"$bgcolor2\" align=\"center\"> <b>"._LANGUAGE."</b> </td>"
  48.     ."<td bgcolor=\"$bgcolor2\" align=\"center\" nowrap> <b>"._VIEW."</b> </td>"
  49.     ."<td bgcolor=\"$bgcolor2\" align=\"center\"> <b>"._ACTIVE."</b> </td>"
  50.     ."<td bgcolor=\"$bgcolor2\" align=\"center\"> <b>"._FUNCTIONS."</b> </td></tr>";
  51.     $result = $db->sql_query("SELECT mid, title, content, date, expire, active, view, mlanguage from " . $prefix . "_message");
  52.     while ($row = $db->sql_fetchrow($result)) {
  53.     $mid = intval($row['mid']);
  54.     $title = $row['title'];
  55.     $content = $row['content'];
  56.     $mdate = $row['date'];
  57.     $expire = intval($row['expire']);
  58.     $active = intval($row['active']);
  59.     $view = intval($row['view']);
  60.     $mlanguage = $row['mlanguage'];
  61.     if ($active == 1) {
  62.     $mactive = ""._YES."";
  63.     } elseif ($active == 0) {
  64.     $mactive = ""._NO."";
  65.     }
  66.     if ($view == 1) {
  67.     $mview = ""._MVALL."";
  68.     } elseif ($view == 2) {
  69.     $mview = ""._MVUSERS."";
  70.     } elseif ($view == 3) {
  71.     $mview = ""._MVANON."";
  72.     } elseif ($view == 4) {
  73.     $mview = ""._MVADMIN."";
  74.     }
  75.     if ($mlanguage == "") {
  76.     $mlanguage = ""._ALL."";
  77.     }
  78.     echo "<tr><td align=\"right\"><b>$mid</b>"
  79.         ."</td><td align=\"left\" width=\"100%\"><b>$title</b>"
  80.         ."</td><td align=\"center\">$mlanguage"
  81.         ."</td><td align=\"center\" nowrap>$mview"
  82.         ."</td><td align=\"center\">$mactive"
  83.         ."</td><td align=\"right\" nowrap>(<a href=\"admin.php?op=editmsg&mid=$mid\">"._EDIT."</a>-<a href=\"admin.php?op=deletemsg&mid=$mid\">"._DELETE."</a>)"
  84.         ."</td></tr>";
  85.  
  86.     }
  87.     echo "</table></center><br>";
  88.     CloseTable();
  89.     echo "<br>";
  90.     OpenTable();
  91.     echo "<center><font class=\"title\"><b>"._ADDMSG."</b></font></center><br>";
  92.     echo "<form action=\"admin.php\" method=\"post\">"
  93.     ."<br><b>"._MESSAGETITLE.":</b><br>"
  94.     ."<input type=\"text\" name=\"add_title\" value=\"\" size=\"50\" maxlength=\"100\"><br><br>"
  95.     ."<b>"._MESSAGECONTENT.":</b><br>"
  96.     ."<textarea name=\"add_content\" rows=\"15\" wrap=\"virtual\" cols=\"60\"></textarea><br><br>";
  97.     if ($multilingual == 1) {
  98.     echo "<b>"._LANGUAGE.": </b>"
  99.         ."<select name=\"add_mlanguage\">";
  100.     $handle=opendir('language');
  101.     while ($file = readdir($handle)) {
  102.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  103.             $langFound = $matches[1];
  104.             $languageslist .= "$langFound ";
  105.         }
  106.     }
  107.     closedir($handle);
  108.     $languageslist = explode(" ", $languageslist);
  109.     sort($languageslist);
  110.     for ($i=0; $i < sizeof($languageslist); $i++) {
  111.         if($languageslist[$i]!="") {
  112.         echo "<option value=\"$languageslist[$i]\" ";
  113.         if($languageslist[$i]==$language) echo "selected";
  114.         echo ">".ucfirst($languageslist[$i])."</option>\n";
  115.         }
  116.     }
  117.     echo "<option value=\"\">"._ALL."</option></select><br><br>";
  118.     } else {
  119.     echo "<input type=\"hidden\" name=\"add_mlanguage\" value=\"\">";
  120.     }
  121.     $now = time();
  122.     echo "<b>"._EXPIRATION.":</b> <select name=\"add_expire\">"
  123.     ."<option value=\"86400\" >1 "._DAY."</option>"
  124.     ."<option value=\"172800\" >2 "._DAYS."</option>"
  125.     ."<option value=\"432000\" >5 "._DAYS."</option>"
  126.     ."<option value=\"1296000\" >15 "._DAYS."</option>"
  127.     ."<option value=\"2592000\" >30 "._DAYS."</option>"
  128.     ."<option value=\"0\" >"._UNLIMITED."</option>"
  129.     ."</select><br><br>"
  130.     ."<b>"._MESACTIVE."</b> <input type=\"radio\" name=\"add_active\" value=\"1\" checked>"._YES." "
  131.     ."<input type=\"radio\" name=\"add_active\" value=\"0\" >"._NO."";
  132.     echo "<br><br><b>"._VIEWPRIV."</b> <select name=\"add_view\">"
  133.     ."<option value=\"1\" >"._MVALL."</option>"
  134.     ."<option value=\"2\" >"._MVANON."</option>"
  135.     ."<option value=\"3\" >"._MVUSERS."</option>"
  136.     ."<option value=\"4\" >"._MVADMIN."</option>"
  137.     ."</select><br><br>"
  138.     ."<input type=\"hidden\" name=\"op\" value=\"addmsg\">"
  139.     ."<input type=\"hidden\" name=\"add_mdate\" value=\"$now\">"
  140.     ."<input type=\"submit\" value=\""._ADDMSG."\">"
  141.     ."</form>";
  142.     CloseTable();
  143.     include ("footer.php");
  144. }
  145.  
  146. function editmsg($mid) {
  147.     global $admin, $prefix, $db, $multilingual;
  148.     include ("header.php");
  149.     $mid = intval($mid);
  150.     GraphicAdmin();
  151.     OpenTable();
  152.     echo "<center><font class=\"title\"><b>"._MESSAGESADMIN."</b></font></center>";
  153.     CloseTable();
  154.     echo "<br>";
  155.     $row = $db->sql_fetchrow($db->sql_query("SELECT title, content, date, expire, active, view, mlanguage from ".$prefix."_message WHERE mid='$mid'"));
  156.     $title = $row['title'];
  157.     $content = $row['content'];
  158.     $mdate = $row['date'];
  159.     $expire = intval($row['expire']);
  160.     $active = intval($row['active']);
  161.     $view = intval($row['view']);
  162.     $mlanguage = $row['mlanguage'];
  163.     OpenTable();
  164.     echo "<center><font class=\"title\"><b>"._EDITMSG."</b></font></center>";
  165.     if ($active == 1) {
  166.     $asel1 = "checked";
  167.     $asel2 = "";
  168.     } elseif ($active == 0) {
  169.     $asel1 = "";
  170.     $asel2 = "checked";
  171.     }
  172.     if ($view == 1) {
  173.     $sel1 = "selected";
  174.     $sel2 = "";
  175.     $sel3 = "";
  176.     $sel4 = "";
  177.     } elseif ($view == 2) {
  178.     $sel1 = "";
  179.     $sel2 = "selected";
  180.     $sel3 = "";
  181.     $sel4 = "";
  182.     } elseif ($view == 3) {
  183.     $sel1 = "";
  184.     $sel2 = "";
  185.     $sel3 = "selected";
  186.     $sel4 = "";
  187.     } elseif ($view == 4) {
  188.     $sel1 = "";
  189.     $sel2 = "";
  190.     $sel3 = "";
  191.     $sel4 = "selected";
  192.     }
  193.     if ($expire == 86400) {
  194.     $esel1 = "selected";
  195.     $esel2 = "";
  196.     $esel3 = "";
  197.     $esel4 = "";
  198.     $esel5 = "";
  199.     $esel6 = "";
  200.     } elseif ($expire == 172800) {
  201.     $esel1 = "";
  202.     $esel2 = "selected";
  203.     $esel3 = "";
  204.     $esel4 = "";
  205.     $esel5 = "";
  206.     $esel6 = "";
  207.     } elseif ($expire == 432000) {
  208.     $esel1 = "";
  209.     $esel2 = "";
  210.     $esel3 = "selected";
  211.     $esel4 = "";
  212.     $esel5 = "";
  213.     $esel6 = "";
  214.     } elseif ($expire == 1296000) {
  215.     $esel1 = "";
  216.     $esel2 = "";
  217.     $esel3 = "";
  218.     $esel4 = "selected";
  219.     $esel5 = "";
  220.     $esel6 = "";
  221.     } elseif ($expire == 2592000) {
  222.     $esel1 = "";
  223.     $esel2 = "";
  224.     $esel3 = "";
  225.     $esel4 = "";
  226.     $esel5 = "selected";
  227.     $esel6 = "";
  228.     } elseif ($expire == 0) {
  229.     $esel1 = "";
  230.     $esel2 = "";
  231.     $esel3 = "";
  232.     $esel4 = "";
  233.     $esel5 = "";
  234.     $esel6 = "selected";
  235.     }
  236.     echo "<form action=\"admin.php\" method=\"post\">"
  237.     ."<br><b>"._MESSAGETITLE.":</b><br>"
  238.     ."<input type=\"text\" name=\"title\" value=\"$title\" size=\"50\" maxlength=\"100\"><br><br>"
  239.     ."<b>"._MESSAGECONTENT.":</b><br>"
  240.     ."<textarea name=\"content\" rows=\"15\" wrap=\"virtual\" cols=\"60\">$content</textarea><br><br>";
  241.     if ($multilingual == 1) {
  242.     echo "<b>"._LANGUAGE.": </b>"
  243.         ."<select name=\"mlanguage\">";
  244.     $handle=opendir('language');
  245.     while ($file = readdir($handle)) {
  246.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  247.             $langFound = $matches[1];
  248.             $languageslist .= "$langFound ";
  249.         }
  250.     }
  251.     closedir($handle);
  252.     $languageslist = explode(" ", $languageslist);
  253.     sort($languageslist);
  254.     for ($i=0; $i < sizeof($languageslist); $i++) {
  255.         if($languageslist[$i]!="") {
  256.         echo "<option value=\"$languageslist[$i]\" ";
  257.         if($languageslist[$i]==$mlanguage) echo "selected";
  258.         echo ">".ucfirst($languageslist[$i])."</option>\n";
  259.         }
  260.     }
  261.     if ($mlanguage == "") {
  262.         $sellang = "selected";
  263.     } else {
  264.             $sellang = "";
  265.     }
  266.     echo "<option value=\"\" $sellang>"._ALL."</option></select><br><br>";
  267.     } else {
  268.     echo "<input type=\"hidden\" name=\"mlanguage\" value=\"\">";
  269.     }
  270.     echo "<b>"._EXPIRATION.":</b> <select name=\"expire\">"
  271.     ."<option name=\"expire\" value=\"86400\" $esel1>1 "._DAY."</option>"
  272.     ."<option name=\"expire\" value=\"172800\" $esel2>2 "._DAYS."</option>"
  273.     ."<option name=\"expire\" value=\"432000\" $esel3>5 "._DAYS."</option>"
  274.     ."<option name=\"expire\" value=\"1296000\" $esel4>15 "._DAYS."</option>"
  275.     ."<option name=\"expire\" value=\"2592000\" $esel5>30 "._DAYS."</option>"
  276.     ."<option name=\"expire\" value=\"0\" $esel6>"._UNLIMITED."</option>"
  277.     ."</select><br><br>"
  278.     ."<b>"._MESACTIVE."</b> <input type=\"radio\" name=\"active\" value=\"1\" $asel1>"._YES." "
  279.     ."<input type=\"radio\" name=\"active\" value=\"0\" $asel2>"._NO."";
  280.     if ($active == 1) {
  281.     echo "<br><br><b>"._CHANGEDATE."</b>"
  282.         ."<input type=\"radio\" name=\"chng_date\" value=\"1\">"._YES." "
  283.         ."<input type=\"radio\" name=\"chng_date\" value=\"0\" checked>"._NO."<br><br>";
  284.     } elseif ($active == 0) {
  285.     echo "<br><font class=\"tiny\">"._IFYOUACTIVE."</font><br><br>"
  286.         ."<input type=\"hidden\" name=\"chng_date\" value=\"1\">";
  287.     }
  288.     echo "<b>"._VIEWPRIV."</b> <select name=\"view\">"
  289.     ."<option name=\"view\" value=\"1\" $sel1>"._MVALL."</option>"
  290.     ."<option name=\"view\" value=\"2\" $sel2>"._MVANON."</option>"
  291.     ."<option name=\"view\" value=\"3\" $sel3>"._MVUSERS."</option>"
  292.     ."<option name=\"view\" value=\"4\" $sel4>"._MVADMIN."</option>"
  293.     ."</select><br><br>"
  294.     ."<input type=\"hidden\" name=\"mdate\" value=\"$mdate\">"
  295.     ."<input type=\"hidden\" name=\"mid\" value=\"$mid\">"
  296.     ."<input type=\"hidden\" name=\"op\" value=\"savemsg\">"
  297.     ."<input type=\"submit\" value=\""._SAVECHANGES."\">"
  298.     ."</form>";
  299.     CloseTable();
  300.     include ("footer.php");
  301. }
  302.  
  303. function savemsg($mid, $title, $content, $mdate, $expire, $active, $view, $chng_date, $mlanguage) {
  304.     global $prefix, $db;
  305.     $mid = intval($mid);
  306.     $title = stripslashes(FixQuotes($title));
  307.     $content = stripslashes(FixQuotes($content));
  308.     if ($chng_date == 1) {
  309.     $newdate = time();
  310.     } elseif ($chng_date == 0) {
  311.     $newdate = $mdate;
  312.     }
  313.     $result = $db->sql_query("update ".$prefix."_message set title='$title', content='$content', date='$newdate', expire='$expire', active='$active', view='$view', mlanguage='$mlanguage' WHERE mid='$mid'");
  314.     Header("Location: admin.php?op=messages");
  315. }
  316.  
  317. function addmsg($add_title, $add_content, $add_mdate, $add_expire, $add_active, $add_view, $add_mlanguage) {
  318.     global $prefix, $db;
  319.     $title = stripslashes(FixQuotes($add_title));
  320.     $content = stripslashes(FixQuotes($add_content));
  321.     $result = $db->sql_query("insert into ".$prefix."_message values (NULL, '$add_title', '$add_content', '$add_mdate', '$add_expire', '$add_active', '$add_view', '$add_mlanguage')");
  322.     if (!$result) {
  323.     exit();
  324.     }
  325.     Header("Location: admin.php?op=messages");
  326. }
  327.  
  328. function deletemsg($mid, $ok=0) {
  329.     global $prefix, $db;
  330.     if($ok) {
  331.     $result = $db->sql_query("delete from ".$prefix."_message where mid='$mid'");
  332.         if (!$result) {
  333.         return;
  334.         }
  335.     Header("Location: admin.php?op=messages");
  336.     } else {
  337.     include("header.php");
  338.     GraphicAdmin();
  339.     OpenTable();
  340.     echo "<center><font size=\"4\"><b>"._MESSAGESADMIN."</b></font></center>";
  341.     CloseTable();
  342.     echo "<br>";
  343.     OpenTable();
  344.     echo "<center>"._REMOVEMSG."";
  345.     echo "<br><br>[ <a href=\"admin.php?op=messages\">"._NO."</a> | <a href=\"admin.php?op=deletemsg&mid=$mid&ok=1\">"._YES."</a> ]</center>";
  346.         CloseTable();
  347.     include("footer.php");
  348.     }
  349. }
  350.  
  351. switch ($op){
  352.  
  353.     case "messages":
  354.     messages();
  355.     break;
  356.  
  357.     case "editmsg":
  358.     editmsg($mid, $title, $content, $mdate, $expire, $active, $view, $chng_date, $mlanguage);
  359.     break;
  360.  
  361.     case "addmsg":
  362.     addmsg($add_title, $add_content, $add_mdate, $add_expire, $add_active, $add_view, $add_mlanguage);
  363.     break;
  364.  
  365.     case "deletemsg":
  366.     deletemsg($mid, $ok);
  367.     break;
  368.  
  369.     case "savemsg":
  370.     savemsg($mid, $title, $content, $mdate, $expire, $active, $view, $chng_date, $mlanguage);
  371.     break;
  372.  
  373. }
  374.  
  375. } else {
  376.     echo "Access Denied";
  377. }
  378.  
  379. ?>