home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / unitednuke / unitednuke.exe / html / admin / modules / sections.php < prev    next >
PHP Script  |  2004-01-10  |  15KB  |  361 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 radminsection, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'"));
  19. if (($row['radminsection'] == 1) OR ($row['radminsuper'] == 1)) {
  20.  
  21. /*********************************************************/
  22. /* Sections Manager Functions                            */
  23. /*********************************************************/
  24.  
  25. function sections() {
  26.     global $prefix, $db, $language, $multilingual;
  27.     include("header.php");
  28.     GraphicAdmin();
  29.     OpenTable();
  30.     echo "<center><font class=\"title\"><b>"._SECTIONSADMIN."</b></font></center>";
  31.     CloseTable();
  32.     $result = $db->sql_query("SELECT secid, secname from ".$prefix."_sections order by secid");
  33.     $numrows = $db->sql_numrows($result);
  34.     if ($numrows > 0) {
  35.     echo "<br>";
  36.     OpenTable();
  37.     echo "<center><b>"._ACTIVESECTIONS."</b><br><font class=\"content\">"._CLICK2EDITSEC."</font></center><br>"
  38.         ."<table border=0 width=100% align=center cellpadding=1 align=\"center\"><tr><td align=center>";
  39.     while($row = $db->sql_fetchrow($result)) {
  40.         $secid = intval($row['secid']);
  41.         $secname = $row['secname'];
  42.         echo "<strong><big>·</big></strong>  <a href=\"admin.php?op=sectionedit&secid=$secid\">$secname</a>";
  43.     }
  44.     echo "</td></tr></table>";
  45.     CloseTable();
  46.     echo "<br>";
  47.     OpenTable();
  48.     echo "<center><font class=\"option\"><b>"._ADDSECARTICLE."</b></font></center><br>"
  49.         ."<form action=\"admin.php\" method=\"post\">"
  50.         ."<b>"._TITLE."</b><br>"
  51.         ."<input type=\"text\" name=\"title\" size=\"60\"><br><br>"
  52.         ."<b>"._SELSECTION.":</b><br>";
  53.         $result2 = $db->sql_query("SELECT secid, secname from " . $prefix . "_sections order by secid");
  54.         while ($row2 = $db->sql_fetchrow($result2)) {
  55.         $secid = intval($row2['secid']);
  56.         $secname = $row2['secname'];
  57.         echo "<input type=\"radio\" name=\"secid\" value=\"$secid\"> $secname<br>";
  58.     }
  59.     echo "<font class=\"content\">"._DONTSELECT."</font><br>";
  60.     if ($multilingual == 1) {
  61.         echo "<br><b>"._LANGUAGE.": </b>"
  62.         ."<select name=\"slanguage\">";
  63.         $handle=opendir('language');
  64.         while ($file = readdir($handle)) {
  65.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  66.                 $langFound = $matches[1];
  67.             $languageslist .= "$langFound ";
  68.         }
  69.         }
  70.         closedir($handle);
  71.         $languageslist = explode(" ", $languageslist);
  72.         sort($languageslist);
  73.         for ($i=0; $i < sizeof($languageslist); $i++) {
  74.         if($languageslist[$i]!="") {
  75.             echo "<option value=\"$languageslist[$i]\" ";
  76.             if($languageslist[$i]==$language) echo "selected";
  77.             echo ">".ucfirst($languageslist[$i])."</option>\n";
  78.         }
  79.         }
  80.         echo "</select>";
  81.     } else {
  82.         echo "<input type=\"hidden\" name=\"slanguage\" value=\"$language\">";
  83.     }
  84.     echo "<br><br><b>"._CONTENT."</b><br>"
  85.         ."<textarea name=\"content\" cols=\"60\" rows=\"10\"></textarea><br>"
  86.         ."<font class=\"content\">"._PAGEBREAK."</font><br><br>"
  87.         ."<input type=\"hidden\" name=\"op\" value=\"secarticleadd\">"
  88.         ."<input type=\"submit\" value=\""._ADDARTICLE."\">"
  89.         ."</form>";
  90.     CloseTable();
  91.     echo "<br>";
  92.     OpenTable();
  93.     echo "<center><font class=\"option\"><b>"._LAST." 20 "._ARTICLESLAST."</b></font></center><br>"
  94.         ."<ul>";
  95.     $result3 = $db->sql_query("SELECT artid, secid, title, content, slanguage from " . $prefix . "_seccont order by artid desc limit 0,20");
  96.     while ($row3 = $db->sql_fetchrow($result3)) {
  97.     $artid = intval($row3['artid']);
  98.     $secid = intval($row3['secid']);
  99.     $title = $row3['title'];
  100.     $content = $row3['content'];
  101.     $slanguage = $row3['slanguage'];
  102.         $row4 = $db->sql_fetchrow($db->sql_query("SELECT secid, secname from ".$prefix."_sections where secid='$secid'"));
  103.         $secid = intval($row4['secid']);
  104.         $secname = $row4['secname'];
  105.     if ($multilingual == 1) {
  106.         echo "<li>$title - ($slanguage) - ($secname) [ <a href=\"admin.php?op=secartedit&artid=$artid\">"._EDIT."</a> | <a href=\"admin.php?op=secartdelete&artid=$artid&ok=0\">"._DELETE."</a> ]";
  107.         } else {
  108.         echo "<li>$title - ($secname) [ <a href=\"admin.php?op=secartedit&artid=$artid\">"._EDIT."</a> | <a href=\"admin.php?op=secartdelete&artid=$artid&ok=0\">"._DELETE."</a> ]";
  109.         }
  110.     }
  111.     echo "</ul>"
  112.         ."<form action=\"admin.php\" method=\"post\">"
  113.         .""._EDITARTID.": <input type=\"text\" name=\"artid\" size=\"10\">  "
  114.         ."<input type=\"hidden\" name=\"op\" value=\"secartedit\">"
  115.         ."<input type=\"submit\" value=\""._OK."\">"
  116.         ."</form>";
  117.     CloseTable();
  118.     }
  119.     echo "<br>";
  120.     OpenTable();
  121.     echo "<center><font class=\"option\"><b>"._ADDSECTION."</b></font></center><br>"
  122.     ."<form action=\"admin.php\" method=\"post\"><br>"
  123.     ."<b>"._SECTIONNAME.":</b><br>"
  124.     ."<input type=\"text\" name=\"secname\" size=\"40\" maxlength=\"40\"><br><br>"
  125.     ."<b>"._SECTIONIMG."</b><br><font class=\"tiny\">"._SECIMGEXAMPLE."</font><br>"
  126.     ."<input type=\"text\" name=\"image\" size=\"40\" maxlength=\"50\"><br><br>"
  127.     ."<input type=\"hidden\" name=\"op\" value=\"sectionmake\">"
  128.     ."<INPUT type=\"submit\" value=\""._ADDSECTIONBUT."\">"
  129.     ."</form>";
  130.     CloseTable();
  131.     include("footer.php");
  132. }
  133.  
  134. function secarticleadd($secid, $title, $content, $slanguage) {
  135.     global $prefix, $db;
  136.     $title = stripslashes(FixQuotes($title));
  137.     $content = stripslashes(FixQuotes($content));
  138.     $secid = intval($secid);
  139.     $db->sql_query("INSERT INTO ".$prefix."_seccont VALUES (NULL,'$secid','$title','$content','0','$slanguage')");
  140.     Header("Location: admin.php?op=sections");
  141. }
  142.  
  143. function secartedit($artid) {
  144.     global $prefix, $db, $multilingual;
  145.     include("header.php");
  146.     GraphicAdmin();
  147.     OpenTable();
  148.     echo "<center><font class=\"title\"><b>"._SECTIONSADMIN."</b></font></center>";
  149.     CloseTable();
  150.     echo "<br>";
  151.         $artid = intval($artid);
  152.     $row = $db->sql_fetchrow($db->sql_query("SELECT artid, secid, title, content, slanguage from ".$prefix."_seccont where artid='$artid'"));
  153.     $artid = intval($row['artid']);
  154.     $secid = intval($row['secid']);
  155.     $title = $row['title'];
  156.     $content = $row['content'];
  157.     $slanguage = $row['slanguage'];
  158.     OpenTable();
  159.     echo "<center><font class=\"option\"><b>"._EDITARTICLE."</b></font></center><br>"
  160.     ."<form action=\"admin.php\" method=\"post\">"
  161.     ."<b>"._TITLE."</b><br>"
  162.     ."<input type=\"text\" name=\"title\" size=\"60\" value=\"$title\"><br><br>"
  163.     ."<b>"._SELSECTION.":</b><br>";
  164.         $result2 = $db->sql_query("SELECT secid, secname from " . $prefix . "_sections order by secname");
  165.         while ($row2 = $db->sql_fetchrow($result2)) {
  166.         $secid2 = intval($row2['secid']);
  167.         $secname = $row2['secname'];
  168.         if ($secid2==$secid) {
  169.         $che = "checked";
  170.         }
  171.         echo "<input type=\"radio\" name=\"secid\" value=\"$secid2\" $che>$secname<br>";
  172.         $che = "";
  173.     }
  174.     if ($multilingual == 1) {
  175.     echo "<br><b>"._LANGUAGE.": </b>"
  176.         ."<select name=\"slanguage\">";
  177.     $handle=opendir('language');
  178.     while ($file = readdir($handle)) {
  179.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  180.             $langFound = $matches[1];
  181.             $languageslist .= "$langFound ";
  182.         }
  183.     }
  184.     closedir($handle);
  185.     $languageslist = explode(" ", $languageslist);
  186.     sort($languageslist);
  187.     for ($i=0; $i < sizeof($languageslist); $i++) {
  188.         if($languageslist[$i]!="") {
  189.         echo "<option value=\"$languageslist[$i]\" ";
  190.         if($languageslist[$i]==$slanguage) echo "selected";
  191.         echo ">".ucfirst($languageslist[$i])."</option>\n";
  192.         }
  193.     }
  194.     echo "</select><br>";
  195.     } else {
  196.     echo "<input type=\"hidden\" name=\"slanguage\" value=\"$language\">";
  197.     }
  198.     echo "<br><b>"._CONTENT."</b><br>"
  199.     ."<textarea name=\"content\" cols=\"60\" rows=\"10\">$content</textarea><br><br>"
  200.     ."<input type=\"hidden\" name=\"artid\" value=\"$artid\">"
  201.     ."<input type=\"hidden\" name=\"op\" value=\"secartchange\">"
  202.     ."<input type=\"submit\" value=\""._SAVECHANGES."\"> [ <a href=\"admin.php?op=secartdelete&artid=$artid&ok=0\">"._DELETE."</a> ]"
  203.     ."</form>";
  204.     CloseTable();
  205.     include("footer.php");
  206. }
  207.  
  208. function sectionmake($secname, $image) {
  209.     global $prefix, $db;
  210.     $secname = stripslashes(FixQuotes($secname));
  211.     $image = stripslashes(FixQuotes($image));
  212.     $db->sql_query("INSERT INTO ".$prefix."_sections VALUES (NULL,'$secname', '$image')");
  213.     Header("Location: admin.php?op=sections");
  214. }
  215.  
  216. function sectionedit($secid) {
  217.     global $prefix, $db;
  218.     include("header.php");
  219.     GraphicAdmin();
  220.     OpenTable();
  221.     echo "<center><font class=\"title\"><b>"._SECTIONSADMIN."</b></font></center>";
  222.     CloseTable();
  223.     echo "<br>";
  224.     $secid = intval($secid);
  225.     $row = $db->sql_fetchrow($db->sql_query("SELECT secid, secname, image from ".$prefix."_sections where secid='$secid'"));
  226.     $secid = intval($row['secid']);
  227.     $secname = $row['secname'];
  228.     $image = $row['image'];
  229.         $result2 = $db->sql_query("SELECT artid from ".$prefix."_seccont where secid='$secid'");
  230.         $number = $db->sql_numrows($result2);
  231.     OpenTable();
  232.     echo "<img src=\"images/sections/$image\" border=\"0\" alt=\"\"><br><br>"
  233.     ."<font class=\"option\"><b>"._EDITSECTION.": $secname</b></font>"
  234.     ."<br>("._SECTIONHAS." $number "._ARTICLESATTACH.")"
  235.     ."<br><br>"
  236.     ."<form action=\"admin.php\" method=\"post\">"
  237.     ."<b>"._SECTIONNAME."</b><br><font class=\"tiny\">"._40CHARSMAX."</font><br>"
  238.     ."<input type=\"text\" name=\"secname\" size=\"40\" maxlength=\"40\" value=\"$secname\"><br><br>"
  239.     ."<b>"._SECTIONIMG."</b><br><font class=\"tiny\">"._SECIMGEXAMPLE."</font><br>"
  240.     ."<input type=\"text\" name=\"image\" size=\"40\" maxlength=\"50\" value=\"$image\"><br><br>"
  241.     ."<input type=\"hidden\" name=\"secid\" value=\"$secid\">"
  242.     ."<input type=\"hidden\" name=\"op\" value=\"sectionchange\">"
  243.     ."<input type=\"submit\" value=\""._SAVECHANGES."\"> [ <a href=\"admin.php?op=sectiondelete&secid=$secid&ok=0\">"._DELETE."</a> ]"
  244.     ."</form>";
  245.     CloseTable();
  246.     include("footer.php");
  247. }
  248.  
  249. function sectionchange($secid, $secname, $image) {
  250.     global $prefix, $db;
  251.     $secname = stripslashes(FixQuotes($secname));
  252.     $image = stripslashes(FixQuotes($image));
  253.     $secid = intval($secid);
  254.     $db->sql_query("update ".$prefix."_sections set secname='$secname', image='$image' where secid='$secid'");
  255.     Header("Location: admin.php?op=sections");
  256. }
  257.  
  258. function secartchange($artid, $secid, $title, $content, $slanguage) {
  259.     global $prefix, $db;
  260.     $title = stripslashes(FixQuotes($title));
  261.     $content = stripslashes(FixQuotes($content));
  262.     $secid = intval($secid);
  263.     $db->sql_query("update ".$prefix."_seccont set secid='$secid', title='$title', content='$content', slanguage='$slanguage' where artid='$artid'");
  264.     Header("Location: admin.php?op=sections");
  265. }
  266.  
  267. function sectiondelete($secid, $ok=0) {
  268.     global $prefix, $db;
  269.     $secid = intval($secid);
  270.     if ($ok==1) {
  271.         $db->sql_query("delete from ".$prefix."_seccont where secid='$secid'");
  272.         $db->sql_query("delete from ".$prefix."_sections where secid='$secid'");
  273.         Header("Location: admin.php?op=sections");
  274.     } else {
  275.         include("header.php");
  276.         GraphicAdmin();
  277.     OpenTable();
  278.     echo "<center><font class=\"title\"><b>"._SECTIONSADMIN."</b></font></center>";
  279.     CloseTable();
  280.     echo "<br>";
  281.     $row = $db->sql_fetchrow($db->sql_query("SELECT secname from ".$prefix."_sections where secid='$secid'"));
  282.     $secname = $row['secname'];
  283.     OpenTable();
  284.     echo "<center><b>"._DELSECTION.": $secname</b><br><br>"
  285.         .""._DELSECWARNING." $secname?<br>"
  286.         .""._DELSECWARNING1."<br><br>"
  287.         ."[ <a href=\"admin.php?op=sections\">"._NO."</a> | <a href=\"admin.php?op=sectiondelete&secid=$secid&ok=1\">"._YES."</a> ]</center>";
  288.     CloseTable();
  289.         include("footer.php");
  290.     }
  291. }
  292.  
  293. function secartdelete($artid, $ok=0) {
  294.     global $prefix, $db;
  295.     $artid = intval($artid);
  296.     if ($ok==1) {
  297.         $db->sql_query("delete from ".$prefix."_seccont where artid='$artid'");
  298.         Header("Location: admin.php?op=sections");
  299.     } else {
  300.         include("header.php");
  301.         GraphicAdmin();
  302.     OpenTable();
  303.     echo "<center><font class=\"title\"><b>"._SECTIONSADMIN."</b></font></center>";
  304.     CloseTable();
  305.     echo "<br>";
  306.     $row = $db->sql_fetchrow($db->sql_query("SELECT title from ".$prefix."_seccont where artid='$artid'"));
  307.     $title = $row['title'];
  308.     OpenTable();
  309.     echo "<center><b>"._DELARTICLE.": $title</b><br><br>"
  310.         .""._DELARTWARNING."<br><br>"
  311.         ."[ <a href=\"admin.php?op=sections\">"._NO."</a> | <a href=\"admin.php?op=secartdelete&artid=$artid&ok=1\">"._YES."</a> ]</center>";
  312.     CloseTable();
  313.         include("footer.php");
  314.     }
  315. }
  316.  
  317. switch ($op) {
  318.  
  319.     case "sections":
  320.     sections();
  321.     break;
  322.  
  323.     case "sectionedit":
  324.     sectionedit($secid);
  325.     break;
  326.  
  327.     case "sectionmake":
  328.     sectionmake($secname, $image);
  329.     break;
  330.  
  331.     case "sectiondelete":
  332.     sectiondelete($secid, $ok);
  333.     break;
  334.  
  335.     case "sectionchange":
  336.     sectionchange($secid, $secname, $image);
  337.     break;
  338.  
  339.     case "secarticleadd":
  340.     secarticleadd($secid, $title, $content, $slanguage);
  341.     break;
  342.  
  343.     case "secartedit":
  344.     secartedit($artid);
  345.     break;
  346.  
  347.     case "secartchange":
  348.     secartchange($artid, $secid, $title, $content, $slanguage);
  349.     break;
  350.  
  351.     case "secartdelete":
  352.     secartdelete($artid, $ok);
  353.     break;
  354.  
  355. }
  356.  
  357. } else {
  358.     echo "Access Denied";
  359. }
  360.  
  361. ?>