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