home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 May / INTERNET103.ISO / pc / software / windows / building / php_nuke / html / admin / modules / encyclopedia.php < prev    next >
Encoding:
PHP Script  |  2002-09-16  |  16.9 KB  |  439 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 radminency, radminsuper from ".$prefix."_authors where aid='$aid'", $dbi);
  18. list($radminency, $radminsuper) = sql_fetch_row($result, $dbi);
  19. if (($radminency==1) OR ($radminsuper==1)) {
  20.  
  21. /*********************************************************/
  22. /* Sections Manager Functions                            */
  23. /*********************************************************/
  24.  
  25. function alpha($eid) {
  26.     global $module_name, $prefix, $dbi;
  27.     $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M",
  28.                        "N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
  29.     $num = count($alphabet) - 1;
  30.     echo "<center>[ ";
  31.     $counter = 0;
  32.     while (list(, $ltr) = each($alphabet)) {
  33.     $result = sql_query("select * from ".$prefix."_encyclopedia_text where eid='$eid' AND UPPER(title) LIKE '$ltr%'", $dbi);
  34.     if (sql_num_rows($result) > 0) {
  35.         echo "<a href=\"admin.php?op=encyclopedia_terms&eid=$eid<r=$ltr\">$ltr</a>";
  36.     } else {
  37.         echo "$ltr";
  38.     }
  39.         if ( $counter == round($num/2) ) {
  40.             echo " ]\n<br>\n[ ";
  41.         } elseif ( $counter != $num ) {
  42.             echo " | \n";
  43.         }
  44.         $counter++;
  45.     }
  46.     echo " ]</center><br><br>\n\n\n";
  47. }
  48.  
  49. function encyclopedia() {
  50.     global $prefix, $dbi, $language, $multilingual, $bgcolor2;
  51.     include("header.php");
  52.     GraphicAdmin();
  53.     title(""._ENCYCLOPEDIAMANAGER."");
  54.     OpenTable();
  55.     echo "<table border=\"0\" width=\"100%\"><tr>"
  56.     ."<td bgcolor=\"$bgcolor2\"><b>"._TITLE."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._TERMS."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._CURRENTSTATUS."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._FUNCTIONS."</b></td></tr>";
  57.     $result = sql_query("select * from ".$prefix."_encyclopedia order by eid", $dbi);
  58.     while($ency = sql_fetch_array($result, $dbi)) {
  59.     $num = sql_num_rows(sql_query("select * from ".$prefix."_encyclopedia_text WHERE eid='$ency[eid]'", $dbi), $dbi);
  60.     if ($ency[active] == 1) {
  61.         $status = _ACTIVE;
  62.         $status_chng = _DEACTIVATE;
  63.         $active = 1;
  64.     } else {
  65.         $status = "<i>"._INACTIVE."</i>";
  66.         $status_chng = _ACTIVATE;
  67.         $active = 0;
  68.     }
  69.     echo "<tr><td><a href=\"modules.php?name=Encyclopedia&op=list_content&eid=$ency[eid]\">$ency[title]</a></td><td align=\"center\">$num</td><td align=\"center\">$status</td><td align=\"center\">[ <a href=\"admin.php?op=encyclopedia_edit&eid=$ency[eid]\">"._EDIT."</a> | <a href=\"admin.php?op=encyclopedia_change_status&eid=$ency[eid]&active=$active\">$status_chng</a> | <a href=\"admin.php?op=encyclopedia_delete&eid=$ency[eid]\">"._DELETE."</a> ]</td></tr>";
  70.     }
  71.     echo "</table>";
  72.     CloseTable();
  73.     echo "<br>";
  74.     OpenTable();
  75.     echo "<center><b>"._ADDNEWENCYCLOPEDIA."</b></center><br><br>"
  76.     ."<form action=\"admin.php\" method=\"post\">"
  77.     ."<b>"._TITLE.":</b><br>"
  78.     ."<input type=\"text\" name=\"title\" size=\"50\"><br><br>"
  79.     ."<b>"._DESCRIPTION.":</b><br>"
  80.     ."<textarea name=\"description\" cols=\"60\" rows=\"10\"></textarea><br><br>";
  81.     if ($multilingual == 1) {
  82.     echo "<br><b>"._LANGUAGE.": </b>"
  83.         ."<select name=\"elanguage\">";
  84.     $handle=opendir('language');
  85.     while ($file = readdir($handle)) {
  86.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  87.             $langFound = $matches[1];
  88.         $languageslist .= "$langFound ";
  89.         }
  90.     }
  91.     closedir($handle);
  92.     $languageslist = explode(" ", $languageslist);
  93.     sort($languageslist);
  94.     for ($i=0; $i < sizeof($languageslist); $i++) {
  95.         if($languageslist[$i]!="") {
  96.             echo "<option value=\"$languageslist[$i]\" ";
  97.             if($languageslist[$i]==$language) echo "selected";
  98.         echo ">".ucfirst($languageslist[$i])."</option>\n";
  99.         }
  100.     }
  101.     echo "</select><br><br>";
  102.     } else {
  103.     echo "<input type=\"hidden\" name=\"elanguage\" value=\"$language\">";
  104.     }
  105.     echo "<b>"._ACTIVATEPAGE."</b><br>"
  106.     ."<input type=\"radio\" name=\"active\" value=\"1\" checked> "._YES."  <input type=\"radio\" name=\"active\" value=\"0\"> "._NO."<br><br>"
  107.     ."<input type=\"hidden\" name=\"op\" value=\"encyclopedia_save\">"
  108.     ."<input type=\"submit\" value=\""._SEND."\">"
  109.     ."</form>";
  110.     CloseTable();
  111.     $result = sql_query("select eid, title from ".$prefix."_encyclopedia", $dbi);
  112.     if (sql_num_rows($result, $dbi) > 0) {
  113.     echo "<br>";
  114.     OpenTable();
  115.     echo "<center><b>"._ADDNEWENCYTERM."</b></center><br><br>"
  116.         ."<form action=\"admin.php\" method=\"post\">"
  117.         ."<b>"._TITLE.":</b><br>"
  118.         ."<input type=\"text\" name=\"title\" size=\"50\"><br><br>"
  119.         ."<b>"._TERMTEXT.":</b><br>"._PAGEBREAK."<br>"
  120.         ."<textarea name=\"text\" cols=\"60\" rows=\"20\"></textarea><br><br>";
  121.     if ($multilingual == 1) {
  122.         echo "<br><b>"._LANGUAGE.": </b>"
  123.         ."<select name=\"elanguage\">";
  124.         $handle=opendir('language');
  125.         while ($file = readdir($handle)) {
  126.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  127.                 $langFound = $matches[1];
  128.             $languageslist .= "$langFound ";
  129.         }
  130.         }
  131.         closedir($handle);
  132.         $languageslist = explode(" ", $languageslist);
  133.         sort($languageslist);
  134.         for ($i=0; $i < sizeof($languageslist); $i++) {
  135.         if($languageslist[$i]!="") {
  136.                 echo "<option value=\"$languageslist[$i]\" ";
  137.                 if($languageslist[$i]==$language) echo "selected";
  138.             echo ">".ucfirst($languageslist[$i])."</option>\n";
  139.         }
  140.         }
  141.         echo "</select><br><br>";
  142.     } else {
  143.         echo "<input type=\"hidden\" name=\"elanguage\" value=\"$language\">";
  144.     }
  145.     echo "<b>"._ENCYCLOPEDIA.":</b><br><select name=\"eid\">";
  146.     while(list($eid, $title) = sql_fetch_row($result, $dbi)) {
  147.         echo "<option value=\"$eid\" name=\"eid\">$title</option>";
  148.     }
  149.     echo "</select><br><br>"
  150.         ."<input type=\"hidden\" name=\"op\" value=\"encyclopedia_text_save\">"
  151.         ."<input type=\"submit\" value=\""._ADD."\">"
  152.         ."</form>";
  153.     CloseTable();
  154.  
  155.     }
  156.     $result = sql_query("select eid, title from ".$prefix."_encyclopedia", $dbi);
  157.     $result2 = sql_query("select eid, title from ".$prefix."_encyclopedia", $dbi);
  158.     if (sql_num_rows($result, $dbi) > 1) {
  159.     echo "<br>";
  160.     OpenTable();
  161.     echo "<center><b>"._MOVETERMS."</b><br><br>"
  162.         ."<form action=\"admin.php\" method=\"post\">"
  163.         .""._MOVEALLTERMSFROM.": <select name=\"eid\">";
  164.     while(list($eid, $title) = sql_fetch_row($result, $dbi)) {
  165.         echo "<option name=\"eid\" value=\"$eid\">$title";
  166.     }
  167.     echo "</select> "._TO.": <select name=\"new_eid\">";
  168.     while(list($eid, $title) = sql_fetch_row($result2, $dbi)) {
  169.         echo "<option name=\"new_eid\" value=\"$eid\">$title";
  170.     }    
  171.     echo "</select>  "
  172.         ."<input type=\"hidden\" name=\"op\" value=\"move_terms\">"
  173.         ."<input type=\"submit\" value=\""._SAVECHANGES."\">"
  174.         ."</form></center>";
  175.     CloseTable();
  176.     }
  177.     include("footer.php");
  178. }
  179.  
  180. function encyclopedia_edit($eid) {
  181.     global $prefix, $dbi, $language, $multilingual, $bgcolor2;
  182.     include("header.php");
  183.     GraphicAdmin();
  184.     title(""._ENCYCLOPEDIAMANAGER."");
  185.     $result = sql_query("select * from ".$prefix."_encyclopedia WHERE eid='$eid'", $dbi);
  186.     $ency = sql_fetch_array($result, $dbi);
  187.     if ($ency[active] == 1) {
  188.         $sel1 = "checked";
  189.         $sel2 = "";
  190.     } else {
  191.         $sel1 = "";
  192.         $sel2 = "checked";
  193.     }
  194.     OpenTable();
  195.     echo "<center><b>"._EDITENCYCLOPEDIA."</b></center><br><br>"
  196.     ."<form action=\"admin.php\" method=\"post\">"
  197.     ."<b>"._TITLE.":</b><br>"
  198.     ."<input type=\"text\" name=\"title\" size=\"50\" value=\"$ency[title]\"><br><br>"
  199.     ."<b>"._DESCRIPTION.":</b><br>"
  200.     ."<textarea name=\"description\" cols=\"60\" rows=\"10\">$ency[description]</textarea><br><br>";
  201.     if ($multilingual == 1) {
  202.     echo "<br><b>"._LANGUAGE.": </b>"
  203.         ."<select name=\"elanguage\">";
  204.     $handle=opendir('language');
  205.     while ($file = readdir($handle)) {
  206.         if (preg_match("/^lang\-(.+)\.php/", $file, $matches)) {
  207.             $langFound = $matches[1];
  208.         $languageslist .= "$langFound ";
  209.         }
  210.     }
  211.     closedir($handle);
  212.     $languageslist = explode(" ", $languageslist);
  213.     sort($languageslist);
  214.     for ($i=0; $i < sizeof($languageslist); $i++) {
  215.         if($languageslist[$i]!="") {
  216.             echo "<option value=\"$languageslist[$i]\" ";
  217.             if($languageslist[$i]==$language) echo "selected";
  218.         echo ">".ucfirst($languageslist[$i])."</option>\n";
  219.         }
  220.     }
  221.     echo "</select><br><br>";
  222.     } else {
  223.     echo "<input type=\"hidden\" name=\"elanguage\" value=\"$ency[elanguage]\">";
  224.     }
  225.     echo "<b>"._ACTIVATEPAGE."</b><br>"
  226.     ."<input type=\"radio\" name=\"active\" value=\"1\" $sel1> "._YES."  <input type=\"radio\" name=\"active\" value=\"0\" $sel2> "._NO."<br><br>"
  227.     ."<input type=\"hidden\" name=\"eid\" value=\"$ency[eid]\">"
  228.     ."<input type=\"hidden\" name=\"op\" value=\"encyclopedia_save_edit\">"
  229.     ."<input type=\"submit\" value=\""._SAVECHANGES."\">"
  230.     ."</form>";
  231.     CloseTable();
  232.     echo "<br>";
  233.     OpenTable();
  234.     echo "<center><b>"._ENCYTERMSEDIT."</b></center><br><br>";
  235.     alpha($eid);
  236.     CloseTable();
  237.     include("footer.php");
  238. }
  239.  
  240. function encyclopedia_terms($eid, $ltr) {
  241.     global $prefix, $dbi;
  242.     include("header.php");
  243.     GraphicAdmin();
  244.     title(""._ENCYCLOPEDIAMANAGER."");
  245.     $result = sql_query("select title from ".$prefix."_encyclopedia where eid='$eid' AND UPPER(title) LIKE '%$ltr%'", $dbi);
  246.     list($title) = sql_fetch_row($result, $dbi);
  247.     title("$title");
  248.     OpenTable();
  249.     echo "<center>"._SELECTONETERM."</center><br><br>"
  250.         ."<table border=\"0\" align=\"center\">";
  251.     $result = sql_query("select tid, title from ".$prefix."_encyclopedia_text WHERE UPPER(title) LIKE '$ltr%' AND eid='$eid'", $dbi);
  252.     if (sql_num_rows($result, $dbi) == 0) {
  253.         echo "<center><i>"._NOCONTENTFORLETTER." $ltr.</i></center>";
  254.     }
  255.     while(list($tid, $title) = sql_fetch_row($result, $dbi)) {
  256.         echo "<tr><td><a href=\"admin.php?op=encyclopedia_text_edit&tid=$tid\">$title</a></td></tr>";
  257.     }
  258.     echo "</table><br><br>";
  259.     alpha($eid);
  260.     echo "<center>"._GOBACK."</center>";
  261.     CloseTable();
  262.     include("footer.php");
  263. }
  264.  
  265. function encyclopedia_text_edit($tid) {
  266.     global $prefix, $dbi, $language, $multilingual, $bgcolor2;
  267.     include("header.php");
  268.     GraphicAdmin();
  269.     title(""._ENCYCLOPEDIAMANAGER."");
  270.     $result = sql_query("select * from ".$prefix."_encyclopedia_text WHERE tid='$tid'", $dbi);
  271.     $ency = sql_fetch_array($result, $dbi);
  272.     OpenTable();
  273.     echo "<center><b>"._ENCYTERMSEDIT."</b></center><br><br>"
  274.     ."<form action=\"admin.php\" method=\"post\">"
  275.     ."<b>"._TITLE.":</b><br>"
  276.     ."<input type=\"text\" name=\"title\" size=\"50\" value=\"$ency[title]\"><br><br>"
  277.     ."<b>"._TERMTEXT.":</b><br>"._PAGEBREAK."<br>"
  278.     ."<textarea name=\"text\" cols=\"60\" rows=\"20\">$ency[text]</textarea><br><br>"
  279.     ."<b>"._CHANGETOENCY.":</b><br>"
  280.     ."<select name=\"eid\">";
  281.     $result = sql_query("select eid, title from ".$prefix."_encyclopedia", $dbi);
  282.     while(list($eid, $title) = sql_fetch_row($result, $dbi)) {
  283.     if ($eid == $ency[eid]) {
  284.         $sel = "selected";
  285.     } else {
  286.         $sel = "";
  287.     }
  288.     echo "<option value=\"$eid\" name=\"eid\" $sel>$title</option>";
  289.     }
  290.     echo "</select><br><br>"
  291.     ."<input type=\"hidden\" name=\"op\" value=\"encyclopedia_text_save_edit\">"
  292.     ."<input type=\"hidden\" name=\"tid\" value=\"$tid\">"
  293.     ."<input type=\"submit\" value=\""._SAVECHANGES."\">    [ <a href=\"admin.php?op=encyclopedia_text_delete&tid=$tid&ok=0\">"._DELETE."</a> ]"
  294.     ."</form>";
  295.     CloseTable();
  296.     include("footer.php");
  297. }
  298.  
  299. function encyclopedia_save($title, $description, $elanguage, $active) {
  300.     global $prefix, $dbi;
  301.     sql_query("insert into ".$prefix."_encyclopedia values(NULL, '$title', '$description', '$elanguage', '$active')", $dbi);
  302.     Header("Location: admin.php?op=encyclopedia");
  303. }
  304.  
  305. function encyclopedia_text_save($eid, $title, $text) {
  306.     global $prefix, $dbi;
  307.     sql_query("insert into ".$prefix."_encyclopedia_text values(NULL, '$eid', '$title', '$text', '0')", $dbi);
  308.     Header("Location: admin.php?op=encyclopedia");
  309. }
  310.  
  311. function encyclopedia_save_edit($eid, $title, $description, $elanguage, $active) {
  312.     global $prefix, $dbi;
  313.     sql_query("update ".$prefix."_encyclopedia set title='$title', description='$description', elanguage='$elanguage', active='$active' where eid='$eid'", $dbi);
  314.     Header("Location: admin.php?op=encyclopedia");
  315. }
  316.  
  317. function encyclopedia_text_save_edit($tid, $eid, $title, $text) {
  318.     global $prefix, $dbi;
  319.     sql_query("update ".$prefix."_encyclopedia_text set eid='$eid', title='$title', text='$text' WHERE tid='$tid'", $dbi);
  320.     Header("Location: admin.php?op=encyclopedia");
  321. }
  322. function encyclopedia_change_status($eid, $active) {
  323.     global $prefix, $dbi;
  324.     if ($active == 1) {
  325.     $new_active = 0;
  326.     } elseif ($active == 0) {
  327.     $new_active = 1;
  328.     }
  329.     sql_query("update ".$prefix."_encyclopedia set active='$new_active' WHERE eid='$eid'", $dbi);
  330.     Header("Location: admin.php?op=encyclopedia");
  331. }
  332.  
  333. function encyclopedia_delete($eid, $ok=0) {
  334.     global $prefix, $dbi;
  335.     if ($ok==1) {
  336.         sql_query("delete from ".$prefix."_encyclopedia where eid='$eid'", $dbi);
  337.     sql_query("delete from ".$prefix."_encyclopedia_text where eid='$eid'", $dbi);
  338.         Header("Location: admin.php?op=encyclopedia");
  339.     } else {
  340.         include("header.php");
  341.         GraphicAdmin();
  342.     title(""._ENCYCLOPEDIAMANAGER."");
  343.     $result = sql_query("select title from ".$prefix."_encyclopedia where eid='$eid'", $dbi);
  344.     list($title) = sql_fetch_row($result, $dbi);
  345.     OpenTable();
  346.     echo "<center><b>"._DELENCYCLOPEDIA.": $title</b><br><br>"
  347.         .""._DELENCYCONTWARNING."<br><br>"
  348.         ."[ <a href=\"admin.php?op=encyclopedia\">"._NO."</a> | <a href=\"admin.php?op=encyclopedia_delete&eid=$eid&ok=1\">"._YES."</a> ]</center>";
  349.     CloseTable();
  350.         include("footer.php");
  351.     }
  352. }
  353.  
  354. function encyclopedia_text_delete($tid, $ok=0) {
  355.     global $prefix, $dbi;
  356.     if ($ok==1) {
  357.         sql_query("delete from ".$prefix."_encyclopedia_text where tid='$tid'", $dbi);
  358.         Header("Location: admin.php?op=encyclopedia");
  359.     } else {
  360.         include("header.php");
  361.         GraphicAdmin();
  362.     title(""._ENCYCLOPEDIAMANAGER."");
  363.     $result = sql_query("select title from ".$prefix."_encyclopedia_text where tid='$tid'", $dbi);
  364.     list($title) = sql_fetch_row($result, $dbi);
  365.     OpenTable();
  366.     echo "<center><b>"._DELENCYCLOPEDIATEXT.": $title</b><br><br>"
  367.         .""._DELENCYTEXTWARNING."<br><br>"
  368.         ."[ <a href=\"admin.php?op=encyclopedia\">"._NO."</a> | <a href=\"admin.php?op=encyclopedia_text_delete&tid=$tid&ok=1\">"._YES."</a> ]</center>";
  369.     CloseTable();
  370.         include("footer.php");
  371.     }
  372. }
  373.  
  374. function move_terms($eid, $new_eid) {
  375.     global $prefix, $dbi;
  376.     $result = sql_query("select tid from ".$prefix."_encyclopedia_text WHERE eid='$eid'", $dbi);
  377.     while(list($tid) = sql_fetch_row($result, $dbi)) {
  378.     sql_query("update ".$prefix."_encyclopedia_text set eid='$new_eid' WHERE tid='$tid'", $dbi);
  379.     }
  380.     Header("Location: admin.php?op=encyclopedia");
  381. }
  382.  
  383. switch ($op) {
  384.  
  385.     case "encyclopedia":
  386.     encyclopedia();
  387.     break;
  388.  
  389.     case "move_terms":
  390.     move_terms($eid, $new_eid);
  391.     break;
  392.  
  393.     case "encyclopedia_terms":
  394.     encyclopedia_terms($eid, $ltr);
  395.     break;
  396.  
  397.     case "encyclopedia_edit":
  398.     encyclopedia_edit($eid);
  399.     break;
  400.  
  401.     case "encyclopedia_text_edit":
  402.     encyclopedia_text_edit($tid);
  403.     break;
  404.  
  405.     case "encyclopedia_delete":
  406.     encyclopedia_delete($eid, $ok);
  407.     break;
  408.  
  409.     case "encyclopedia_text_delete":
  410.     encyclopedia_text_delete($tid, $ok);
  411.     break;
  412.  
  413.     case "encyclopedia_save":
  414.     encyclopedia_save($title, $description, $elanguage, $active);
  415.     break;
  416.  
  417.     case "encyclopedia_text_save":
  418.     encyclopedia_text_save($eid, $title, $text);
  419.     break;
  420.  
  421.     case "encyclopedia_save_edit":
  422.     encyclopedia_save_edit($eid, $title, $description, $elanguage, $active);
  423.     break;
  424.  
  425.     case "encyclopedia_text_save_edit":
  426.     encyclopedia_text_save_edit($tid, $eid, $title, $text);
  427.     break;
  428.  
  429.     case "encyclopedia_change_status":
  430.     encyclopedia_change_status($eid, $active);
  431.     break;
  432.  
  433. }
  434.  
  435. } else {
  436.     echo "Access Denied";
  437. }
  438.  
  439. ?>