List active/inactive extensions
[mailer.git] / 0.2.1 / inc / modules / admin / what-config_mods.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 08/27/2004 *\r
4  * ================                             Last change: 08/27/2004 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : what-config_mods.php                             *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : Module configuration                             *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Modul-Konfiguration                              *\r
12  * -------------------------------------------------------------------- *\r
13  *                                                                      *\r
14  * -------------------------------------------------------------------- *\r
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *\r
16  * For more information visit: http://www.mxchange.org                  *\r
17  *                                                                      *\r
18  * This program is free software; you can redistribute it and/or modify *\r
19  * it under the terms of the GNU General Public License as published by *\r
20  * the Free Software Foundation; either version 2 of the License, or    *\r
21  * (at your option) any later version.                                  *\r
22  *                                                                      *\r
23  * This program is distributed in the hope that it will be useful,      *\r
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *\r
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *\r
26  * GNU General Public License for more details.                         *\r
27  *                                                                      *\r
28  * You should have received a copy of the GNU General Public License    *\r
29  * along with this program; if not, write to the Free Software          *\r
30  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *\r
31  * MA  02110-1301  USA                                                  *\r
32  ************************************************************************/\r
33 \r
34 // Some security stuff...\r
35 if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))\r
36 {\r
37         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";\r
38         require($INC);\r
39 }\r
40 // Add description as navigation point\r
41 ADD_DESCR("admin", basename(__FILE__));\r
42 \r
43 $SEL = 0;\r
44 if (isset($_POST['edit']))\r
45 {\r
46         // Check if at least one module is selected\r
47         $SEL = SELECTION_COUNT($_POST['sel']);\r
48         if ($SEL > 0)\r
49         {\r
50                 // Output header\r
51                 $OUT = ""; $SW = 2;\r
52 \r
53                 // Edit selected modules\r
54                 foreach ($_POST['sel'] as $id=>$sel)\r
55                 {\r
56                         // Load module data\r
57                         $result = SQL_QUERY_ESC("SELECT module, title, locked, hidden, admin_only, mem_only FROM "._MYSQL_PREFIX."_mod_reg WHERE id=%d LIMIT 1",\r
58                          array(bigintval($id)), __FILE__, __LINE__);\r
59                         list($mod, $title, $locked, $hidden, $admin, $mem) = SQL_FETCHROW($result);\r
60                         SQL_FREERESULT($result);\r
61 \r
62                         // Prepare array for the template\r
63                         $content = array(\r
64                                 'sw'     => $SW,\r
65                                 'mod'    => $mod,\r
66                                 'id'     => $id,\r
67                                 'title'  => $title,\r
68                                 'locked' => ADD_SELECTION("yn", $locked, "locked", $id),\r
69                                 'hidden' => ADD_SELECTION("yn", $hidden, "hidden", $id),\r
70                                 'admin'  => ADD_SELECTION("yn", $admin , "admin" , $id),\r
71                                 'mem'    => ADD_SELECTION("yn", $mem   , "member", $id),\r
72                         );\r
73 \r
74                         // Load row template\r
75                         $OUT .= LOAD_TEMPLATE("admin_mods_edit_row", true, $content);\r
76                 }\r
77                 define('__MODS_ROWS', $OUT);\r
78 \r
79                 // Load main template\r
80                 LOAD_TEMPLATE("admin_mods_edit");\r
81         }\r
82          else\r
83         {\r
84                 // Nothing selected\r
85                 LOAD_TEMPLATE("admin_settings_saved", false, MODS_NOTHING_SELECTED);\r
86                 OUTPUT_HTML ("<BR>");\r
87 \r
88                 // Remove maybe confusing data\r
89                 unset($_POST['edit']);\r
90                 unset($_POST['change']);\r
91         }\r
92 }\r
93  elseif (isset($_POST['change']))\r
94 {\r
95         // Change modules\r
96         foreach ($_POST['sel'] as $id=>$sel)\r
97         {\r
98                 // Secure ID number\r
99                 $id = bigintval($id);\r
100 \r
101                 // Update module\r
102                 $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_mod_reg SET title='%s', locked='%s', hidden='%s', admin_only='%s', mem_only='%s' WHERE id=%d LIMIT 1",\r
103                  array($_POST['title'][$id], $_POST['locked'][$id], $_POST['hidden'][$id], $_POST['admin'][$id], $_POST['member'][$id], $id),  __FILE__, __LINE__);\r
104         }\r
105 \r
106         // Remove cache file if version matches\r
107         if (GET_EXT_VERSION("cache") >= "0.1.2")\r
108         {\r
109                 if ($CACHE->cache_file("mod_reg", true)) $CACHE->cache_destroy();\r
110         }\r
111 \r
112         // Entries updated\r
113         LOAD_TEMPLATE("admin_settings_saved", false, MODS_CHANGED);\r
114         OUTPUT_HTML ("<BR>");\r
115 }\r
116 \r
117 if ($SEL == 0)\r
118 {\r
119         // Load module data (We do not need to check if there's at least one...)\r
120         $result = SQL_QUERY("SELECT id, module, locked, hidden, admin_only, title, mem_only, clicks\r
121 FROM "._MYSQL_PREFIX."_mod_reg\r
122 ORDER BY module", __FILE__, __LINE__);\r
123         $OUT = ""; $SW = 2;\r
124         while (list($id, $mod, $locked, $hidden, $admin, $title, $mem) = SQL_FETCHROW($result))\r
125         {\r
126                 // Reset title to --- if it is NULL\r
127                 if (empty($title)) $title = "---";\r
128                 if (($mod == "index") || ($mod == "login"))\r
129                 {\r
130                         // Add link to detail statistics\r
131                         $mod = "<STRONG><A href=\"".URL."/modules.php?module=admin&amp;what=stats_mods&amp;mod=".$mod."\">".$mod."</A></STRONG>";\r
132                 }\r
133 \r
134                 // Prepare array for the template\r
135                 $content = array(\r
136                         'sw'     => $SW,\r
137                         'id'     => $id,\r
138                         'mod'    => $mod,\r
139                         'title'  => $title,\r
140                         'locked' => TRANSLATE_YESNO($locked),\r
141                         'hidden' => TRANSLATE_YESNO($hidden),\r
142                         'admin'  => TRANSLATE_YESNO($admin),\r
143                         'mem'    => TRANSLATE_YESNO($mem),\r
144                 );\r
145 \r
146                 // Load row template\r
147                 $OUT .= LOAD_TEMPLATE("admin_mods_list_row", true, $content);\r
148 \r
149                 // Switch colors\r
150                 $SW = 3 - $SW;\r
151         }\r
152 \r
153         // Free memory\r
154         SQL_FREERESULT($result);\r
155         define('__MODS_ROWS', $OUT);\r
156 \r
157         // Load main template\r
158         LOAD_TEMPLATE("admin_mods_list");\r
159 }\r
160 \r
161 //\r
162 ?>\r