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