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