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