home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 May / INTERNET103.ISO / pc / software / windows / building / php_nuke / html / admin / modules / topics.php < prev    next >
Encoding:
PHP Script  |  2002-09-16  |  12.1 KB  |  292 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 radmintopic, radminsuper from ".$prefix."_authors where aid='$aid'", $dbi);
  18. list($radmintopic, $radminsuper) = sql_fetch_row($result, $dbi);
  19. if (($radmintopic==1) OR ($radminsuper==1)) {
  20.  
  21. /*********************************************************/
  22. /* Topics Manager Functions                              */
  23. /*********************************************************/
  24.  
  25. function topicsmanager() {
  26.     global $prefix, $dbi;
  27.     include("header.php");
  28.     GraphicAdmin();
  29.     OpenTable();
  30.     echo "<center><font class=\"title\"><b>"._TOPICSMANAGER."</b></font></center>";
  31.     CloseTable();
  32.     echo "<br>";
  33.     OpenTable();
  34.     echo "<center><font class=\"option\"><b>"._CURRENTTOPICS."</b></font><br>"._CLICK2EDIT."</font></center><br>"
  35.     ."<table border=\"0\" width=\"100%\" align=\"center\" cellpadding=\"2\">";
  36.     $count = 0;
  37.     $result = sql_query("select topicid, topicname, topicimage, topictext from ".$prefix."_topics order by topicname", $dbi);
  38.     while(list($topicid, $topicname, $topicimage, $topictext) = sql_fetch_array($result, $dbi)) {
  39.     echo "<td align=\"center\">"
  40.         ."<a href=\"admin.php?op=topicedit&topicid=$topicid\"><img src=\"images/topics/$topicimage\" border=\"0\" alt=\"\"></a><br>"
  41.         ."<font class=\"content\"><b>$topictext</td>";
  42.     $count++;
  43.     if ($count == 5) {
  44.         echo "</tr><tr>";
  45.         $count = 0;
  46.     }
  47.     }
  48.     echo "</table>";
  49.     CloseTable();
  50.     echo "<br><a name=\"Add\">";
  51.     OpenTable();
  52.     echo "<center><font class=\"option\"><b>"._ADDATOPIC."</b></font></center><br>"
  53.         ."<form action=\"admin.php\" method=\"post\">"
  54.     ."<b>"._TOPICNAME.":</b><br><font class=\"tiny\">"._TOPICNAME1."<br>"
  55.     .""._TOPICNAME2."</font><br>"
  56.     ."<input type=\"text\" name=\"topicname\" size=\"20\" maxlength=\"20\" value=\"$topicname\"><br><br>"
  57.     ."<b>"._TOPICTEXT.":</b><br><font class=\"tiny\">"._TOPICTEXT1."<br>"
  58.     .""._TOPICTEXT2."</font><br>"
  59.     ."<input type=\"text\" name=\"topictext\" size=\"40\" maxlength=\"40\" value=\"$topictext\"><br><br>"
  60.     ."<b>"._TOPICIMAGE.":</b><br>"
  61.     ."<select name=\"topicimage\">";
  62.     $path1 = explode ("/", "images/topics/");
  63.     $path = "$path1[0]/$path1[1]";
  64.     $handle=opendir($path);
  65.     while ($file = readdir($handle)) {
  66.     if ( (ereg("^([_0-9a-zA-Z]+)([.]{1})([_0-9a-zA-Z]{3})$",$file)) AND $file != "AllTopics.gif") {
  67.         $tlist .= "$file ";
  68.     }
  69.     }
  70.     closedir($handle);
  71.     $tlist = explode(" ", $tlist);
  72.     sort($tlist);
  73.     for ($i=0; $i < sizeof($tlist); $i++) {
  74.     if($tlist[$i]!="") {
  75.         echo "<option name=\"topicimage\" value=\"$tlist[$i]\">$tlist[$i]\n";
  76.     }
  77.     }
  78.     echo "</select><br><br>"
  79.     ."<input type=\"hidden\" name=\"op\" value=\"topicmake\">"
  80.     ."<input type=\"submit\" value=\""._ADDTOPIC."\">"
  81.     ."</form>";
  82.     CloseTable();
  83.     include("footer.php");
  84. }
  85.  
  86. function topicedit($topicid) {
  87.     global $prefix, $dbi;
  88.     include("header.php");
  89.     GraphicAdmin();
  90.     OpenTable();
  91.     echo "<center><font class=\"title\"><b>"._TOPICSMANAGER."</b></font></center>";
  92.     CloseTable();
  93.     echo "<br>";
  94.     OpenTable();
  95.     $result = sql_query("select topicid, topicname, topicimage, topictext from ".$prefix."_topics where topicid=$topicid", $dbi);
  96.     list($topicid, $topicname, $topicimage, $topictext) = sql_fetch_array($result, $dbi);
  97.     echo "<img src=\"images/topics/$topicimage\" border=\"0\" align=\"right\" alt=\"$topictext\">"
  98.     ."<font class=\"option\"><b>"._EDITTOPIC.": $topictext</b></font>"
  99.     ."<br><br>"
  100.     ."<form action=\"admin.php\" method=\"post\"><br>"
  101.     ."<b>"._TOPICNAME.":</b><br><font class=\"tiny\">"._TOPICNAME1."<br>"
  102.     .""._TOPICNAME2."</font><br>"
  103.     ."<input type=\"text\" name=\"topicname\" size=\"20\" maxlength=\"20\" value=\"$topicname\"><br><br>"
  104.     ."<b>"._TOPICTEXT.":</b><br><font class=\"tiny\">"._TOPICTEXT1."<br>"
  105.     .""._TOPICTEXT2."</font><br>"
  106.     ."<input type=\"text\" name=\"topictext\" size=\"40\" maxlength=\"40\" value=\"$topictext\"><br><br>"
  107.     ."<b>"._TOPICIMAGE.":</b><br>"
  108.     ."<select name=\"topicimage\">";
  109.     $path1 = explode ("/", "images/topics/");
  110.     $path = "$path1[0]/$path1[1]";
  111.     $handle=opendir($path);
  112.     while ($file = readdir($handle)) {
  113.     if ( (ereg("^([_0-9a-zA-Z]+)([.]{1})([_0-9a-zA-Z]{3})$",$file)) AND $file != "AllTopics.gif") {
  114.         $tlist .= "$file ";
  115.     }
  116.     }
  117.     closedir($handle);
  118.     $tlist = explode(" ", $tlist);
  119.     sort($tlist);
  120.     for ($i=0; $i < sizeof($tlist); $i++) {
  121.     if($tlist[$i]!="") {
  122.         if ($topicimage == $tlist[$i]) {
  123.         $sel = "selected";
  124.         } else {
  125.         $sel = "";
  126.         }
  127.         echo "<option name=\"topicimage\" value=\"$tlist[$i]\" $sel>$tlist[$i]\n";
  128.     }
  129.     }
  130.     echo "</select><br><br>"
  131.     ."<b>"._ADDRELATED.":</b><br>"
  132.     .""._SITENAME.": <input type=\"text\" name=\"name\" size=\"30\" maxlength=\"30\"><br>"
  133.     .""._URL.": <input type=\"text\" name=\"url\" value=\"http://\" size=\"50\" maxlength=\"200\"><br><br>"
  134.     ."<b>"._ACTIVERELATEDLINKS.":</b><br>"
  135.     ."<table width=\"100%\" border=\"0\">";
  136.     $res=sql_query("select rid, name, url from ".$prefix."_related where tid=$topicid", $dbi);
  137.     $num = sql_num_rows($res, $dbi);
  138.     if ($num == 0) {
  139.     echo "<tr><td><font class=\"tiny\">"._NORELATED."</font></td></tr>";
  140.     }
  141.     while(list($rid, $name, $url) = sql_fetch_row($res, $dbi)) {
  142.         echo "<tr><td align=\"left\"><font class=\"content\"><strong><big>·</big></strong>  <a href=\"$url\">$name</a></td>"
  143.             ."<td align=\"center\"><font class=\"content\"><a href=\"$url\">$url</a></td><td align=\"right\"><font class=\"content\">[ <a href=\"admin.php?op=relatededit&tid=$topicid&rid=$rid\">"._EDIT."</a> | <a href=\"admin.php?op=relateddelete&tid=$topicid&rid=$rid\">"._DELETE."</a> ]</td></tr>";
  144.     }
  145.     echo "</table><br><br>"
  146.     ."<input type=\"hidden\" name=\"topicid\" value=\"$topicid\">"
  147.     ."<input type=\"hidden\" name=\"op\" value=\"topicchange\">"
  148.         ."<INPUT type=\"submit\" value=\""._SAVECHANGES."\"> <font class=\"content\">[ <a href=\"admin.php?op=topicdelete&topicid=$topicid\">"._DELETE."</a> ]</font>"
  149.     ."</form>";
  150.     CloseTable();
  151.     include("footer.php");
  152. }
  153.  
  154. function relatededit($tid, $rid) {
  155.     global $prefix, $dbi;
  156.     include("header.php");
  157.     GraphicAdmin();
  158.     OpenTable();
  159.     echo "<center><font class=\"title\"><b>"._TOPICSMANAGER."</b></font></center>";
  160.     CloseTable();
  161.     echo "<br>";
  162.     $result=sql_query("select name, url from ".$prefix."_related where rid=$rid", $dbi);
  163.     list($name, $url) = sql_fetch_row($result, $dbi);
  164.     $result2=sql_query("select topictext, topicimage from ".$prefix."_topics where topicid=$tid", $dbi);
  165.     list($topictext, $topicimage) = sql_fetch_row($result2, $dbi);
  166.     OpenTable();    
  167.     echo "<center>"
  168.     ."<img src=\"images/topics/$topicimage\" border=\"0\" alt=\"$topictext\" align=\"right\">"
  169.     ."<font class=\"option\"><b>"._EDITRELATED."</b></font><br>"
  170.     ."<b>"._TOPIC.":</b> $topictext</center>"
  171.     ."<form action=\"admin.php\" method=\"post\">"
  172.     .""._SITENAME.": <input type=\"text\" name=\"name\" value=\"$name\" size=\"30\" maxlength=\"30\"><br><br>"
  173.     .""._URL.": <input type=\"text\" name=\"url\" value=\"$url\" size=\"60\" maxlength=\"200\"><br><br>"
  174.     ."<input type=\"hidden\" name=\"op\" value=\"relatedsave\">"
  175.     ."<input type=\"hidden\" name=\"tid\" value=\"$tid\">"
  176.         ."<input type=\"hidden\" name=\"rid\" value=\"$rid\">"
  177.     ."<input type=\"submit\" value=\""._SAVECHANGES."\"> "._GOBACK.""
  178.     ."</form>";
  179.     CloseTable();
  180.     include("footer.php");
  181. }
  182.  
  183. function relatedsave($tid, $rid, $name, $url) {
  184.     global $prefix, $dbi;
  185.     sql_query("update ".$prefix."_related set name='$name', url='$url' where rid=$rid", $dbi);
  186.     Header("Location: admin.php?op=topicedit&topicid=$tid");
  187. }
  188.  
  189. function relateddelete($tid, $rid) {
  190.     global $prefix, $dbi;
  191.     sql_query("delete from ".$prefix."_related where rid='$rid'", $dbi);
  192.     Header("Location: admin.php?op=topicedit&topicid=$tid");
  193. }
  194.  
  195. function topicmake($topicname, $topicimage, $topictext) {
  196.     global $prefix, $dbi;
  197.     $topicname = stripslashes(FixQuotes($topicname));
  198.     $topicimage = stripslashes(FixQuotes($topicimage));
  199.     $topictext = stripslashes(FixQuotes($topictext));
  200.     sql_query("INSERT INTO ".$prefix."_topics VALUES (NULL,'$topicname','$topicimage','$topictext','0')", $dbi);
  201.     Header("Location: admin.php?op=topicsmanager#Add");
  202. }
  203.  
  204. function topicchange($topicid, $topicname, $topicimage, $topictext, $name, $url) {
  205.     global $prefix, $dbi;
  206.     $topicname = stripslashes(FixQuotes($topicname));
  207.     $topicimage = stripslashes(FixQuotes($topicimage));
  208.     $topictext = stripslashes(FixQuotes($topictext));
  209.     $name = stripslashes(FixQuotes($name));
  210.     $url = stripslashes(FixQuotes($url));
  211.     sql_query("update ".$prefix."_topics set topicname='$topicname', topicimage='$topicimage', topictext='$topictext' where topicid=$topicid", $dbi);
  212.     if (!$name) {
  213.     } else {
  214.         sql_query("insert into ".$prefix."_related VALUES (NULL, '$topicid','$name','$url')", $dbi);
  215.     }
  216.     Header("Location: admin.php?op=topicedit&topicid=$topicid");
  217. }
  218.  
  219. function topicdelete($topicid, $ok=0) {
  220.     global $prefix, $dbi;
  221.     if ($ok==1) {
  222.     $result=sql_query("select sid from ".$prefix."_stories where topic='$topicid'", $dbi);
  223.     list($sid) = sql_fetch_row($result, $dbi);
  224.     sql_query("delete from ".$prefix."_stories where topic='$topicid'", $dbi);
  225.     sql_query("delete from ".$prefix."_topics where topicid='$topicid'", $dbi);
  226.     sql_query("delete from ".$prefix."_related where tid='$topicid'", $dbi);
  227.     $result = sql_query("select sid from ".$prefix."_comments where sid='$sid'", $dbi);
  228.     list($sid) = sql_fetch_row($result, $dbi);
  229.     sql_query("delete from ".$prefix."_comments where sid='$sid'", $dbi);
  230.     Header("Location: admin.php?op=topicsmanager");
  231.     } else {
  232.     global $topicimage;
  233.     include("header.php");
  234.     GraphicAdmin();
  235.         OpenTable();
  236.     echo "<center><font class=\"title\"><b>"._TOPICSMANAGER."</b></font></center>";
  237.     CloseTable();
  238.     echo "<br>";
  239.     $result2=sql_query("select topicimage, topictext from ".$prefix."_topics where topicid='$topicid'", $dbi);
  240.     list($topicimage, $topictext) = sql_fetch_row($result2, $dbi);
  241.     OpenTable();
  242.     echo "<center><img src=\"images/topics/$topicimage\" border=\"0\" alt=\"$topictext\"><br><br>"
  243.         ."<b>"._DELETETOPIC." $topictext</b><br><br>"
  244.         .""._TOPICDELSURE." <i>$topictext</i>?<br>"
  245.         .""._TOPICDELSURE1."<br><br>"
  246.         ."[ <a href=\"admin.php?op=topicsmanager\">"._NO."</a> | <a href=\"admin.php?op=topicdelete&topicid=$topicid&ok=1\">"._YES."</a> ]</center><br><br>";
  247.     CloseTable();
  248.     include("footer.php");
  249.     }
  250. }
  251.  
  252. switch ($op) {
  253.  
  254.     case "topicsmanager":
  255.     topicsmanager();
  256.     break;
  257.  
  258.     case "topicedit":
  259.     topicedit($topicid);
  260.     break;
  261.  
  262.     case "topicmake":
  263.     topicmake($topicname, $topicimage, $topictext);
  264.     break;
  265.  
  266.     case "topicdelete":
  267.     topicdelete($topicid, $ok);
  268.     break;
  269.  
  270.     case "topicchange":
  271.     topicchange($topicid, $topicname, $topicimage, $topictext, $name, $url);
  272.     break;
  273.  
  274.     case "relatedsave":
  275.     relatedsave($tid, $rid, $name, $url);
  276.     break;
  277.     
  278.     case "relatededit":
  279.     relatededit($tid, $rid);
  280.     break;
  281.             
  282.     case "relateddelete":
  283.     relateddelete($tid, $rid);
  284.     break;
  285.  
  286. }
  287.  
  288. } else {
  289.     echo "Access Denied";
  290. }
  291.  
  292. ?>