home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / phpnuke / PHP-Nuke-7.5.exe / html / admin / modules / modules.php < prev    next >
PHP Script  |  2004-07-24  |  12KB  |  311 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. /* Additional security checking code 2003 by chatserv                   */
  16. /* http://www.nukefixes.com -- http://www.nukeresources.com             */
  17. /************************************************************************/
  18.  
  19. if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
  20. global $prefix, $db;
  21. $aid = substr("$aid", 0,25);
  22. $row = $db->sql_fetchrow($db->sql_query("SELECT radminsuper FROM " . $prefix . "_authors WHERE aid='$aid'"));
  23. if ($row['radminsuper'] == 1) {
  24.  
  25. /*********************************************************/
  26. /* Modules Functions                                     */
  27. /*********************************************************/
  28.  
  29. function modules() {
  30.     global $prefix, $db, $multilingual, $bgcolor2;
  31.     include ("header.php");
  32.     GraphicAdmin();
  33.     OpenTable();
  34.     echo "<center><font class=\"title\"><b>" . _MODULESADMIN . "</b></font></center>";
  35.     CloseTable();
  36.     $handle=opendir('modules');
  37.     while ($file = readdir($handle)) {
  38.     if ( (!ereg("[.]",$file)) ) {
  39.         $modlist .= "$file ";
  40.     }
  41.     }
  42.     closedir($handle);
  43.     $modlist = explode(" ", $modlist);
  44.     sort($modlist);
  45.     for ($i=0; $i < sizeof($modlist); $i++) {
  46.     if($modlist[$i] != "") {
  47.         $row = $db->sql_fetchrow($db->sql_query("SELECT mid from " . $prefix . "_modules where title='$modlist[$i]'"));
  48.         $mid = intval($row['mid']);
  49.         if ($mid == "") {
  50.         $db->sql_query("insert into " . $prefix . "_modules values (NULL, '$modlist[$i]', '$modlist[$i]', '0', '0', '1', '0', '')");
  51.         }
  52.     }
  53.     }
  54.     $result2 = $db->sql_query("SELECT title from " . $prefix . "_modules");
  55.     while ($row2 = $db->sql_fetchrow($result2)) {
  56.     $title = $row2['title'];
  57.     $a = 0;
  58.     $handle=opendir('modules');
  59.     while ($file = readdir($handle)) {
  60.         if ($file == $title) {
  61.         $a = 1;
  62.         }
  63.     }
  64.     closedir($handle);
  65.     if ($a == 0) {
  66.         $db->sql_query("delete from " . $prefix . "_modules where title='$title'");
  67.     }
  68.     }
  69.     echo "<br>";
  70.     OpenTable();
  71.     echo "<br><center><font class=\"option\">" . _MODULESADDONS . "</font><br><br>"
  72.     ."<font class=\"content\">" . _MODULESACTIVATION . "</font><br><br>"
  73.     ."" . _MODULEHOMENOTE . "<br><br>" . _NOTINMENU . "<br><br>"
  74.     ."<form action=\"admin.php\" method=\"post\">"
  75.         ."<table border=\"1\" align=\"center\" width=\"90%\"><tr><td align=\"center\" bgcolor=\"$bgcolor2\">"
  76.     ."<b>"._TITLE."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._CUSTOMTITLE."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._STATUS."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._VIEW."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._GROUP."</b></td><td align=\"center\" bgcolor=\"$bgcolor2\"><b>"._FUNCTIONS."</b></td></tr>";
  77.     $main_m = $db->sql_fetchrow($db->sql_query("SELECT main_module from " . $prefix . "_main"));
  78.     $main_module = $main_m['main_module'];
  79.     $result3 = $db->sql_query("SELECT mid, title, custom_title, active, view, inmenu, mod_group from " . $prefix . "_modules order by title ASC");
  80.     while ($row3 = $db->sql_fetchrow($result3)) {
  81.     $mid = intval($row3['mid']);
  82.     $title = $row3['title'];
  83.     $custom_title = $row3['custom_title'];
  84.     $active = intval($row3['active']);
  85.     $view = intval($row3['view']);
  86.     $inmenu = intval($row3['inmenu']);
  87.     $mod_group = intval($row3['mod_group']);
  88.     if ($custom_title == "") {
  89.         $custom_title = ereg_replace("_"," ",$title);
  90.         $db->sql_query("update " . $prefix . "_modules set custom_title='$custom_title' where mid='$mid'");
  91.     }
  92.     if ($active == 1) {
  93.         $active = _ACTIVE;
  94.         $change = _DEACTIVATE;
  95.         $act = 0;
  96.     } else {
  97.         $active = "<i>" . _INACTIVE . "</i>";
  98.         $change = _ACTIVATE;
  99.         $act = 1;
  100.     }
  101.     if ($custom_title == "") {
  102.         $custom_title = ereg_replace("_", " ", $title);
  103.     }
  104.     if ($view == 0) {
  105.         $who_view = _MVALL;
  106.     } elseif ($view == 1) {
  107.         $who_view = _MVUSERS;
  108.     } elseif ($view == 2) {
  109.         $who_view = _MVADMIN;
  110.     } elseif ($view == 3) {
  111.         $who_view = _SUBUSERS;
  112.     }
  113.     if ($title != $main_module AND $inmenu == 0) {
  114.         $title = "[ <big><strong>·</strong></big> ] $title";
  115.     }
  116.     if ($title == $main_module) {
  117.         $title = "<b>$title</b>";
  118.         $custom_title = "<b>$custom_title</b>";
  119.         $active = "<b>$active (" . _INHOME . ")</b>";
  120.         $who_view = "<b>$who_view</b>";
  121.         $puthome = "<i>" . _PUTINHOME . "</i>";
  122.         $change_status = "<i>$change</i>";
  123.         $background = "bgcolor=\"$bgcolor2\"";
  124.     } else {
  125.         $puthome = "<a href=\"admin.php?op=home_module&mid=$mid\">" . _PUTINHOME . "</a>";
  126.         $change_status = "<a href=\"admin.php?op=module_status&mid=$mid&active=$act\">$change</a>";
  127.         $background = "";
  128.     }
  129.     if ($mod_group != 0) {
  130.         $grp = $db->sql_fetchrow($db->sql_query("SELECT name FROM ".$prefix."_groups WHERE id='$mod_group'"));
  131.         $mod_group = $grp['name'];
  132.     } else {
  133.         $mod_group = _NONE;
  134.     }
  135.     echo "<tr><td $background> $title</td><td align=\"center\" $background>$custom_title</td><td align=\"center\" $background>$active</td><td align=\"center\" $background>$who_view</td><td align=\"center\" $background>$mod_group</td><td align=\"center\" $background nowrap>[ <a href=\"admin.php?op=module_edit&mid=$mid\">"._EDIT."</a> | $change_status | $puthome ]</td></tr>";
  136.     }
  137.     echo "</table></form></center>";
  138.     CloseTable();
  139.     include ("footer.php");
  140. }
  141.  
  142. function home_module($mid, $ok=0) {
  143.     global $prefix, $db;
  144.     $mid = intval($mid);
  145.     if ($ok == 0) {
  146.     include ("header.php");
  147.     GraphicAdmin();
  148.     title("" . _HOMECONFIG . "");
  149.     OpenTable();
  150.         $row = $db->sql_fetchrow($db->sql_query("SELECT title from " . $prefix . "_modules where mid='$mid'"));
  151.         $new_m = $row['title'];
  152.         $row2 = $db->sql_fetchrow($db->sql_query("SELECT main_module from " . $prefix . "_main"));
  153.         $old_m = $row2['main_module'];
  154.     echo "<center><b>" . _DEFHOMEMODULE . "</b><br><br>"
  155.         ."" . _SURETOCHANGEMOD . " <b>$old_m</b> " . _TO . " <b>$new_m</b>?<br><br>"
  156.         ."[ <a href=\"admin.php?op=modules\">" . _NO . "</a> | <a href=\"admin.php?op=home_module&mid=$mid&ok=1\">" . _YES . "</a> ]</center>";
  157.     CloseTable();
  158.     include("footer.php");
  159.     } else {
  160.         $row3 = $db->sql_fetchrow($db->sql_query("SELECT title from " . $prefix . "_modules where mid='$mid'"));
  161.         $title = $row3['title'];
  162.     $active = 1;
  163.     $view = 0;
  164.     $res = $db->sql_query("update " . $prefix . "_main set main_module='$title'");
  165.     $res2 = $db->sql_query("update " . $prefix . "_modules set active='$active', view='$view' where mid='$mid'");
  166.     Header("Location: admin.php?op=modules");
  167.     }
  168. }
  169.  
  170. function module_status($mid, $active) {
  171.     global $prefix, $db;
  172.     $mid = intval($mid);
  173.     $db->sql_query("update " . $prefix . "_modules set active='$active' where mid='$mid'");
  174.     Header("Location: admin.php?op=modules");
  175. }
  176.  
  177. function module_edit($mid) {
  178.     global $prefix, $db;
  179.     $main_m = $db->sql_fetchrow($db->sql_query("SELECT main_module from " . $prefix . "_main"));
  180.     $main_module = $main_m['main_module'];
  181.     $mid = intval($mid);
  182.     $row = $db->sql_fetchrow($db->sql_query("SELECT title, custom_title, view, inmenu, mod_group from " . $prefix . "_modules where mid='$mid'"));
  183.     $title = $row['title'];
  184.     $custom_title = $row['custom_title'];
  185.     $view = intval($row['view']);
  186.     $inmenu = intval($row['inmenu']);
  187.     $mod_group = intval($row['mod_group']);
  188.     include ("header.php");
  189.     GraphicAdmin();
  190.     title("" . _MODULEEDIT . "");
  191.     OpenTable();
  192.     if ($view == 0) {
  193.     $sel1 = "selected";
  194.     $sel2 = "";
  195.     $sel3 = "";
  196.     $sel4 = "";
  197.     } elseif ($view == 1) {
  198.     $sel1 = "";
  199.     $sel2 = "selected";
  200.     $sel3 = "";
  201.     $sel4 = "";
  202.     } elseif ($view == 2) {
  203.     $sel1 = "";
  204.     $sel2 = "";
  205.     $sel3 = "selected";    
  206.     $sel4 = "";
  207.     } elseif ($view == 3) {
  208.     $sel1 = "";
  209.     $sel2 = "";
  210.     $sel3 = "";
  211.     $sel4 = "selected";
  212.     }
  213.     if ($title == $main_module) {
  214.     $a = " - " . _INHOME . "";
  215.     } else {
  216.     $a = "";
  217.     }
  218.     if ($inmenu == 1) {
  219.     $insel1 = "checked";
  220.     $insel2 = "";
  221.     } elseif ($inmenu == 0) {
  222.     $insel1 = "";
  223.     $insel2 = "checked";
  224.     }
  225.     echo "<center><b>" . _CHANGEMODNAME . "</b><br>($title$a)</center><br><br>"
  226.     ."<form action=\"admin.php\" method=\"post\">"
  227.     ."<table border=\"0\"><tr><td>"
  228.     ."" . _CUSTOMMODNAME . "</td><td>"
  229.     ."<input type=\"text\" name=\"custom_title\" value=\"$custom_title\" size=\"50\"></td></tr>";
  230.     if ($title == $main_module) {
  231.     echo "<input type=\"hidden\" name=\"view\" value=\"0\">"
  232.         ."<input type=\"hidden\" name=\"inmenu\" value=\"$inmenu\">"
  233.         ."</table><br><br>";
  234.     } else {
  235.     echo "<tr><td>" . _VIEWPRIV . "</td><td><select name=\"view\">"
  236.         ."<option value=\"0\" $sel1>" . _MVALL . "</option>"
  237.         ."<option value=\"1\" $sel2>" . _MVUSERS . "</option>"
  238.         ."<option value=\"2\" $sel3>" . _MVADMIN . "</option>"
  239.         ."<option value=\"3\" $sel4>" . _SUBUSERS . "</option>"
  240.         ."</select></td></tr>";
  241.     $numrow = $db->sql_numrows($db->sql_query("SELECT * FROM " . $prefix . "_groups"));
  242.     if ($numrow > 0) {
  243.         echo "<tr><td>" . _UGROUP . "</td><td><select name=\"mod_group\">";
  244.         $result2 = $db->sql_query("SELECT id, name FROM " . $prefix . "_groups");
  245.         while ($row2 = $db->sql_fetchrow($result2)) {
  246.         if ($row2[id] == $mod_group) { $gsel = "selected"; } else { $gsel = ""; }
  247.         if ($dummy != 1) {
  248.             if ($mod_group == 0) { $ggsel = "selected"; } else { $ggsel = ""; }
  249.             echo "<option value=\"0\" $ggsel>" . _NONE . "</option>";
  250.             $dummy = 1;
  251.         }
  252.         echo "<option value=\"$row2[id]\" $gsel>$row2[name]</option>";
  253.         $gsel = "";
  254.         }
  255.         echo "</select> <i>(" . _VALIDIFREG . ")</i></td></tr>";
  256.     } else {
  257.         echo "<input type=\"hidden\" name=\"mod_group\" value=\"0\">";
  258.     }
  259.     echo "<tr><td>"._SHOWINMENU."</td><td>"
  260.         ."<input type=\"radio\" name=\"inmenu\" value=\"1\" $insel1> " . _YES . "    <input type=\"radio\" name=\"inmenu\" value=\"0\" $insel2> " . _NO . ""
  261.         ."</td></tr></table><br><br>";
  262.     }
  263.     if ($title != $main_module) {
  264.     
  265.     }
  266.     echo "<input type=\"hidden\" name=\"mid\" value=\"$mid\">"
  267.     ."<input type=\"hidden\" name=\"op\" value=\"module_edit_save\">"
  268.     ."<input type=\"submit\" value=\"" . _SAVECHANGES . "\">"
  269.     ."</form>"
  270.     ."<br><br><center>" . _GOBACK . "</center>";
  271.     CloseTable();
  272.     include("footer.php");
  273. }
  274.  
  275. function module_edit_save($mid, $custom_title, $view, $inmenu, $mod_group) {
  276.     global $prefix, $db;
  277.     $mid = intval($mid);
  278.     if ($view != 1) { $mod_group = 0; }
  279.     $result = $db->sql_query("update " . $prefix . "_modules set custom_title='$custom_title', view='$view', inmenu='$inmenu', mod_group='$mod_group' where mid='$mid'");
  280.     Header("Location: admin.php?op=modules");
  281. }
  282.  
  283. switch ($op){
  284.  
  285.     case "modules":
  286.     modules();
  287.     break;
  288.  
  289.     case "module_status":
  290.     module_status($mid, $active);
  291.     break;
  292.  
  293.     case "module_edit":
  294.     module_edit($mid);
  295.     break;
  296.     
  297.     case "module_edit_save":
  298.     module_edit_save($mid, $custom_title, $view, $inmenu, $mod_group);
  299.     break;
  300.  
  301.     case "home_module":
  302.     home_module($mid, $ok);
  303.     break;
  304.  
  305. }
  306.  
  307. } else {
  308.     echo "Access Denied";
  309. }
  310.  
  311. ?>