home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / unitednuke / unitednuke.exe / html / admin / modules / content.php < prev    next >
PHP Script  |  2004-01-10  |  18KB  |  421 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 radmincontent, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'"));
  19. if (($row['radmincontent'] == 1) OR ($row['radminsuper'] == 1)) {
  20.  
  21. /*********************************************************/
  22. /* Sections Manager Functions                            */
  23. /*********************************************************/
  24.  
  25. function content() {
  26.     global $prefix, $db, $language, $multilingual, $bgcolor2;
  27.     include("header.php");
  28.     GraphicAdmin();
  29.     title(""._CONTENTMANAGER."");
  30.     OpenTable();
  31.     echo "<table border=\"0\" width=\"100%\"><tr>"
  32.         ."<td bgcolor=\"$bgcolor2\"><b>"._TITLE."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._CURRENTSTATUS."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._CATEGORY."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._FUNCTIONS."</b></td></tr>";
  33.     $result = $db->sql_query("SELECT * from " . $prefix . "_pages order by pid");
  34.     while ($mypages = $db->sql_fetchrow($result)) {
  35.     $mycid = intval($mypages['cid']);
  36.     $myactive = intval($mypages['active']);
  37.     $mypid = intval($mypages['pid']);
  38.     $mytitle = $mypages['title'];
  39.     if ($mycid == "0" OR $mycid == "") {
  40.             $cat_title = _NONE;
  41.         } else {
  42.     $row_res = $db->sql_fetchrow($db->sql_query("SELECT title from ".$prefix."_pages_categories where cid='$mycid'"));
  43.     $cat_title = $row_res['title'];
  44.         }
  45.     if ($myactive == 1) {
  46.             $status = "" . _ACTIVE . "";
  47.             $status_chng = "" . _DEACTIVATE . "";
  48.         $active = 1;
  49.     } else {
  50.         $status = "<i>" . _INACTIVE . "</i>";
  51.             $status_chng = "" . _ACTIVATE . "";
  52.             $active = 0;
  53.         }
  54.     echo "<tr><td><a href=\"modules.php?name=Content&pa=showpage&pid=$mypid\">$mytitle</a></td><td align=\"center\">$status</td><td align=\"center\">$cat_title</td><td align=\"center\">[ <a href=\"admin.php?op=content_edit&pid=$mypid\">"._EDIT."</a> | <a href=\"admin.php?op=content_change_status&pid=$mypid&active=$active\">$status_chng</a> | <a href=\"admin.php?op=content_delete&pid=$mypid\">"._DELETE."</a> ]</td></tr>";
  55.     }
  56.     echo "</table>";
  57.     CloseTable();
  58.     echo "<br>";
  59.  
  60.     OpenTable();
  61.     echo "<center><b>"._ADDCATEGORY."</b></center><br><br>"
  62.         ."<form action=\"admin.php\" method=\"post\">"
  63.         ."<b>"._TITLE.":</b><br><input type=\"text\" name=\"cat_title\" size=\"50\"><br><br>"
  64.         ."<b>"._DESCRIPTION.":</b><br><textarea name=\"description\" rows=\"10\" cols=\"50\"></textarea><br><br>"
  65.         ."<input type=\"hidden\" name=\"op\" value=\"add_category\">"
  66.         ."<input type=\"submit\" value=\""._ADD."\">"
  67.         ."</form>";
  68.     CloseTable();
  69.     $rescat = $db->sql_query("SELECT cid, title from ".$prefix."_pages_categories order by title");
  70.     $numrows = $db->sql_numrows($rescat);
  71.     if ($numrows > 0) {
  72.         echo "<br>";
  73.         OpenTable();
  74.         echo "<center><b>"._EDITCATEGORY."</b></center><br><br>"
  75.             ."<form action=\"admin.php\" method=\"post\">"
  76.             ."<b>"._CATEGORY.":</b> "
  77.             ."<select name=\"cid\">";
  78.     while ($row_cat = $db->sql_fetchrow($rescat)) {
  79.     $cid = intval($row_cat['cid']);
  80.     $cat_title = $row_cat['title'];
  81.             echo "<option value=\"$cid\">$cat_title</option>";
  82.         }
  83.         echo "</select>  "
  84.             ."<input type=\"hidden\" name=\"op\" value=\"edit_category\">"
  85.             ."<input type=\"submit\" value=\""._EDIT."\">"
  86.             ."</form>";
  87.         CloseTable();
  88.     }
  89.  
  90.     echo "<br>";
  91.     OpenTable();
  92.     $res2 = $db->sql_query("SELECT cid, title from ".$prefix."_pages_categories order by title");
  93.     $numrows2 = $db->sql_numrows($res2);
  94.     echo "<center><b>"._ADDANEWPAGE."</b></center><br><br>"
  95.         ."<form action=\"admin.php\" method=\"post\">"
  96.         ."<b>"._TITLE.":</b><br>"
  97.         ."<input type=\"text\" name=\"title\" size=\"50\"><br><br>";
  98.     if (numrows2 > 0) {
  99.         echo "<b>"._CATEGORY.":</b>  "
  100.             ."<select name=\"cid\">"
  101.             ."<option value=\"0\" selected>"._NONE."</option>";
  102.     while ($row_res2 = $db->sql_fetchrow($res2)) {
  103.     $cid = intval($row_res2['cid']);
  104.     $cat_title = $row_res2['title'];
  105.             echo "<option value=\"$cid\">$cat_title</option>";
  106.         }
  107.         echo "</select><br><br>";
  108.     } else {
  109.         echo "<input type=\"hidden\" name=\"cid\" value=\"0\">";
  110.     }
  111.     echo "<b>"._CSUBTITLE.":</b><br>"
  112.         ."<input type=\"text\" name=\"subtitle\" size=\"50\"><br><br>"
  113.         ."<b>"._HEADERTEXT.":</b><br>"
  114.         ."<textarea name=\"page_header\" cols=\"60\" rows=\"10\"></textarea><br><br>"
  115.         ."<b>"._PAGETEXT.":</b><br>"
  116.         ."<font class=\"tiny\">"._PAGEBREAK."</font><br>"
  117.         ."<textarea name=\"text\" cols=\"60\" rows=\"40\"></textarea><br><br>"
  118.         ."<b>"._FOOTERTEXT.":</b><br>"
  119.         ."<textarea name=\"page_footer\" cols=\"60\" rows=\"10\"></textarea><br><br>"
  120.         ."<b>"._SIGNATURE.":</b><br>"
  121.         ."<textarea name=\"signature\" cols=\"60\" rows=\"5\"></textarea><br><br>";
  122.     if ($multilingual == 1) {
  123.         echo "<br><b>"._LANGUAGE.": </b>"
  124.             ."<select name=\"clanguage\">";
  125.         $handle=opendir('language');
  126.         while ($file = readdir($handle)) {
  127.             if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  128.                 $langFound = $matches[1];
  129.                 $languageslist .= "$langFound ";
  130.             }
  131.         }
  132.         closedir($handle);
  133.         $languageslist = explode(" ", $languageslist);
  134.         sort($languageslist);
  135.         for ($i=0; $i < sizeof($languageslist); $i++) {
  136.             if($languageslist[$i]!="") {
  137.                 echo "<option value=\"$languageslist[$i]\" ";
  138.                 if($languageslist[$i]==$language) echo "selected";
  139.                 echo ">".ucfirst($languageslist[$i])."</option>\n";
  140.             }
  141.         }
  142.         echo "</select><br><br>";
  143.     } else {
  144.         echo "<input type=\"hidden\" name=\"clanguage\" value=\"$language\">";
  145.     }
  146.     echo "<b>"._ACTIVATEPAGE."</b><br>"
  147.         ."<input type=\"radio\" name=\"active\" value=\"1\" checked> "._YES."  <input type=\"radio\" name=\"active\" value=\"0\"> "._NO."<br><br>"
  148.         ."<input type=\"hidden\" name=\"op\" value=\"content_save\">"
  149.         ."<input type=\"submit\" value=\""._SEND."\">"
  150.         ."</form>";
  151.     CloseTable();
  152.     include("footer.php");
  153. }
  154.  
  155. function add_category($cat_title, $description) {
  156.     global $prefix, $db;
  157.     $db->sql_query("insert into ".$prefix."_pages_categories values (NULL, '$cat_title', '$description')");
  158.     Header("Location: admin.php?op=content");
  159. }
  160.  
  161. function edit_category($cid) {
  162.     global $prefix, $db;
  163.     include("header.php");
  164.     GraphicAdmin();
  165.     title(""._CONTENTMANAGER."");
  166.     OpenTable();
  167.     $cid = intval($cid);
  168.     $row = $db->sql_fetchrow($db->sql_query("SELECT title, description from ".$prefix."_pages_categories where cid='$cid'"));
  169.     $title = $row['title'];
  170.     $description = $row['description'];
  171.     echo "<center><b>"._EDITCATEGORY."</b></center><br><br>"
  172.         ."<form action=\"admin.php\" method=\"post\">"
  173.         ."<b>"._TITLE."</b><br>"
  174.         ."<input type=\"text\" name=\"cat_title\" value='$title' size=\"50\"><br><br>"
  175.         ."<b>"._DESCRIPTION."</b>:<br>"
  176.         ."<textarea cols=\"50\" rows=\"10\" name=\"description\">$description</textarea><br><br>"
  177.         ."<input type=\"hidden\" name=\"cid\" value=\"$cid\">"
  178.         ."<input type=\"hidden\" name=\"op\" value=\"save_category\">"
  179.         ."<input type=\"submit\" value=\""._SAVECHANGES."\">  "
  180.         ."[ <a href=\"admin.php?op=del_content_cat&cid=$cid\">"._DELETE."</a> ]"
  181.         ."</form>";
  182.     CloseTable();
  183.     include("footer.php");
  184. }
  185.  
  186. function save_category($cid, $cat_title, $description) {
  187.     global $prefix, $db;
  188.     $cid = intval($cid);
  189.     $db->sql_query("update ".$prefix."_pages_categories set title='$cat_title', description='$description' where cid='$cid'");
  190.     Header("Location: admin.php?op=content");
  191. }
  192.  
  193. function del_content_cat($cid, $ok=0) {
  194.     global $prefix, $db;
  195.     if ($ok==1) {
  196.         $cid = intval($cid);
  197.         $db->sql_query("delete from ".$prefix."_pages_categories where cid='$cid'");
  198.     $result = $db->sql_query("SELECT pid from " . $prefix . "_pages where cid='$cid'");
  199.     while ($row = $db->sql_fetchrow($result)) {
  200.     $pid = intval($row['pid']);
  201.         $db->sql_query("update ".$prefix."_pages set cid='0' where pid='$pid'");
  202.         }
  203.         Header("Location: admin.php?op=content");
  204.     } else {
  205.         include("header.php");
  206.         GraphicAdmin();
  207.         title(""._CONTENTMANAGER."");
  208.         $cid = intval($cid);
  209.     $row2 = $db->sql_fetchrow($db->sql_query("SELECT title from ".$prefix."_pages_categories where cid='$cid'"));
  210.     $title = $row2['title'];
  211.         OpenTable();
  212.         echo "<center><b>"._DELCATEGORY.": $title</b><br><br>"
  213.             .""._DELCONTENTCAT."<br><br>"
  214.             ."[ <a href=\"admin.php?op=content\">"._NO."</a> | <a href=\"admin.php?op=del_content_cat&cid=$cid&ok=1\">"._YES."</a> ]</center>";
  215.         CloseTable();
  216.         include("footer.php");
  217.     }
  218. }
  219.  
  220. function content_edit($pid) {
  221.     global $prefix, $db, $language, $multilingual, $bgcolor2;
  222.     include("header.php");
  223.     GraphicAdmin();
  224.     title(""._CONTENTMANAGER."");
  225.     $pid = intval($pid);
  226.     $mypages = $db->sql_fetchrow($db->sql_query("SELECT * from " . $prefix . "_pages WHERE pid='$pid'"));
  227.     $mycid = intval($mypages['cid']);
  228.     $myactive = intval($mypages['active']);
  229.     $mytitle = $mypages['title'];
  230.     $mysubtitle = $mypages['subtitle'];
  231.     $mypage_header = $mypages['page_header'];
  232.     $mytext = $mypages['text'];
  233.     $mypage_footer = $mypages['page_footer'];
  234.     $mysignature = $mypages['signature'];
  235.     $myclanguage = $mypages['clanguage'];
  236.     if ($myactive == 1) {
  237.         $sel1 = "checked";
  238.             $sel2 = "";
  239.         } else {
  240.             $sel1 = "";
  241.             $sel2 = "checked";
  242.         }
  243.     OpenTable();
  244.     echo "<center><b>"._EDITPAGECONTENT."</b></center><br><br>"
  245.         ."<form action=\"admin.php\" method=\"post\">"
  246.         ."<b>"._TITLE.":</b><br>"
  247.     ."<input type=\"text\" name=\"title\" size=\"50\" value=\"$mytitle\"><br><br>";
  248.     $res = $db->sql_query("SELECT cid, title from ".$prefix."_pages_categories");
  249.     $numrows = $db->sql_numrows($res);
  250.     if ($numrows > 0) {
  251.         echo "<b>"._CATEGORY.":</b>  "
  252.             ."<select name=\"cid\">";
  253.     if ($mycid == 0) {
  254.             $sel = "selected";
  255.         } else {
  256.             $sel = "";
  257.         }
  258.         echo "<option value=\"0\" $sel>"._NONE."</option>";
  259.     while ($row_res = $db->sql_fetchrow($res)) {
  260.     $cid = intval($row_res['cid']);
  261.     $cat_title = $row_res['title'];
  262.         if ($mycid == $cid) {
  263.                 $sel = "selected";
  264.             } else {
  265.                 $sel = "";
  266.             }
  267.             echo "<option value=\"$cid\" $sel>$cat_title</option>";
  268.         }
  269.         echo "</select><br><br>";
  270.     } else {
  271.         echo "<input type=\"hidden\" name=\"cid\" value=\"0\">";
  272.     }
  273.     echo "<b>"._CSUBTITLE.":</b><br>"
  274.     ."<input type=\"text\" name=\"subtitle\" size=\"50\" value=\"$mysubtitle\"><br><br>"
  275.     ."<b>"._HEADERTEXT.":</b><br>"
  276.     ."<textarea name=\"page_header\" cols=\"60\" rows=\"10\">$mypage_header</textarea><br><br>"
  277.     ."<b>"._PAGETEXT.":</b><br>"
  278.     ."<font class=\"tiny\">"._PAGEBREAK."</font><br>"
  279.     ."<textarea name=\"text\" cols=\"60\" rows=\"40\">$mytext</textarea><br><br>"
  280.     ."<b>"._FOOTERTEXT.":</b><br>"
  281.     ."<textarea name=\"page_footer\" cols=\"60\" rows=\"10\">$mypage_footer</textarea><br><br>"
  282.         ."<b>"._SIGNATURE.":</b><br>"
  283.     ."<textarea name=\"signature\" cols=\"60\" rows=\"5\">$mysignature</textarea><br><br>";
  284.     if ($multilingual == 1) {
  285.         echo "<br><b>"._LANGUAGE.": </b>"
  286.             ."<select name=\"clanguage\">";
  287.         $handle=opendir('language');
  288.         while ($file = readdir($handle)) {
  289.             if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  290.                 $langFound = $matches[1];
  291.                 $languageslist .= "$langFound ";
  292.             }
  293.         }
  294.         closedir($handle);
  295.         $languageslist = explode(" ", $languageslist);
  296.         sort($languageslist);
  297.         for ($i=0; $i < sizeof($languageslist); $i++) {
  298.             if($languageslist[$i]!="") {
  299.                 echo "<option value=\"$languageslist[$i]\" ";
  300.                 if($languageslist[$i]==$language) echo "selected";
  301.                 echo ">".ucfirst($languageslist[$i])."</option>\n";
  302.             }
  303.         }
  304.         echo "</select><br><br>";
  305.     } else {
  306.     echo "<input type=\"hidden\" name=\"clanguage\" value=\"$myclanguage\">";
  307.     }
  308.     echo "<b>"._ACTIVATEPAGE."</b><br>"
  309.         ."<input type=\"radio\" name=\"active\" value=\"1\" $sel1> "._YES."  <input type=\"radio\" name=\"active\" value=\"0\" $sel2> "._NO."<br><br>"
  310.         ."<input type=\"hidden\" name=\"pid\" value=\"$pid\">"
  311.         ."<input type=\"hidden\" name=\"op\" value=\"content_save_edit\">"
  312.         ."<input type=\"submit\" value=\""._SAVECHANGES."\">"
  313.         ."</form>";
  314.     CloseTable();
  315.     include("footer.php");
  316. }
  317.  
  318. function content_save($title, $subtitle, $page_header, $text, $page_footer, $signature, $clanguage, $active, $cid) {
  319.     global $prefix, $db;
  320.     $text = stripslashes(FixQuotes($text));
  321.     $title = stripslashes(FixQuotes($title));
  322.     $subtitle = stripslashes(FixQuotes($subtitle));
  323.     $db->sql_query("insert into ".$prefix."_pages values (NULL, '$cid', '$title', '$subtitle', '$active', '$page_header', '$text', '$page_footer', '$signature', now(), '0', '$clanguage')");
  324.     Header("Location: admin.php?op=content");
  325. }
  326.  
  327. function content_save_edit($pid, $title, $subtitle, $page_header, $text, $page_footer, $signature, $clanguage, $active, $cid) {
  328.     global $prefix, $db;
  329.     $text = stripslashes(FixQuotes($text));
  330.     $title = stripslashes(FixQuotes($title));
  331.     $subtitle = stripslashes(FixQuotes($subtitle));
  332.     $pid = intval($pid);
  333.     $db->sql_query("update ".$prefix."_pages set cid='$cid', title='$title', subtitle='$subtitle', active='$active', page_header='$page_header', text='$text', page_footer='$page_footer', signature='$signature', clanguage='$clanguage' where pid='$pid'");
  334.     Header("Location: admin.php?op=content");
  335. }
  336.  
  337. function content_change_status($pid, $active) {
  338.     global $prefix, $db;
  339.     if ($active == 1) {
  340.         $new_active = 0;
  341.     } elseif ($active == 0) {
  342.         $new_active = 1;
  343.     }
  344.     $pid = intval($pid);
  345.     $db->sql_query("update ".$prefix."_pages set active='$new_active' WHERE pid='$pid'");
  346.     Header("Location: admin.php?op=content");
  347. }
  348.  
  349. function content_delete($pid, $ok=0) {
  350.     global $prefix, $db;
  351.     $pid = intval($pid);
  352.     if ($ok==1) {
  353.         $db->sql_query("delete from ".$prefix."_pages where pid='$pid'");
  354.         Header("Location: admin.php?op=content");
  355.     } else {
  356.         include("header.php");
  357.         GraphicAdmin();
  358.         title(""._CONTENTMANAGER."");
  359.     $row = $db->sql_fetchrow($db->sql_query("SELECT title from ".$prefix."_pages where pid='$pid'"));
  360.     $title = $row['title'];
  361.         OpenTable();
  362.         echo "<center><b>"._DELCONTENT.": $title</b><br><br>"
  363.             .""._DELCONTWARNING." $title?<br><br>"
  364.             ."[ <a href=\"admin.php?op=content\">"._NO."</a> | <a href=\"admin.php?op=content_delete&pid=$pid&ok=1\">"._YES."</a> ]</center>";
  365.         CloseTable();
  366.         include("footer.php");
  367.     }
  368. }
  369.  
  370. switch ($op) {
  371.  
  372.     case "content":
  373.     content();
  374.     break;
  375.  
  376.     case "content_edit":
  377.     content_edit($pid);
  378.     break;
  379.  
  380.     case "content_delete":
  381.     content_delete($pid, $ok);
  382.     break;
  383.  
  384.     case "content_review":
  385.     content_review($title, $subtitle, $page_header, $text, $page_footer, $signature, $clanguage, $active);
  386.     break;
  387.  
  388.     case "content_save":
  389.     content_save($title, $subtitle, $page_header, $text, $page_footer, $signature, $clanguage, $active, $cid);
  390.     break;
  391.  
  392.     case "content_save_edit":
  393.     content_save_edit($pid, $title, $subtitle, $page_header, $text, $page_footer, $signature, $clanguage, $active, $cid);
  394.     break;
  395.  
  396.     case "content_change_status":
  397.     content_change_status($pid, $active);
  398.     break;
  399.  
  400.     case "add_category":
  401.     add_category($cat_title, $description);
  402.     break;
  403.  
  404.     case "edit_category":
  405.     edit_category($cid);
  406.     break;
  407.  
  408.     case "save_category":
  409.     save_category($cid, $cat_title, $description);
  410.     break;
  411.  
  412.     case "del_content_cat":
  413.     del_content_cat($cid, $ok);
  414.     break;
  415. }
  416.  
  417. } else {
  418.     echo "Access Denied";
  419. }
  420.  
  421. ?>