Code rewritings, load base config improved and many minor fixes...
[mailer.git] / 0.2.1 / inc / modules / admin / what-repair_gmnu.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 02/25/2004 *\r
4  * ================                             Last change: 02/25/2004 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : what-repair_gmenu.php                            *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : Repair guest menu weight                         *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Menuegewichtigung reparieren                     *\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 $ACTIONS = array();\r
44 // First fix all main menus (what='')...\r
45 $result_fix = SQL_QUERY("SELECT id, action FROM "._MYSQL_PREFIX."_guest_menu WHERE what='' AND action != 'logout' ORDER BY sort ASC", __FILE__, __LINE__);\r
46 $cnt = 0; $REP = 0;\r
47 while(list($id, $act) = SQL_FETCHROW($result_fix))\r
48 {\r
49         // Store action value for later usage in sorting sub menus\r
50         $ACTIONS[] = $act;\r
51 \r
52         // Fix weight\r
53         $result_sort = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_guest_menu SET sort='%s' WHERE id=%d LIMIT 1",\r
54          array(bigintval($cnt), bigintval($id)), __FILE__, __LINE__);\r
55         $REP += SQL_AFFECTEDROWS();\r
56 \r
57         // Count one up\r
58         $cnt++;\r
59 }\r
60 \r
61 // Free memory\r
62 SQL_FREERESULT($result_fix);\r
63 \r
64 // Set logout weight to 999\r
65 $result_sort = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_guest_menu SET sort='999' WHERE action='logout' AND what='' LIMIT 1", __FILE__, __LINE__);\r
66 \r
67 // Now sort every each menu\r
68 foreach ($ACTIONS as $act)\r
69 {\r
70         $result_fix = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_guest_menu WHERE action='%s' AND what != '' ORDER BY sort",\r
71          array($act), __FILE__, __LINE__);\r
72 \r
73         $cnt = 1;\r
74         while (list($id) = SQL_FETCHROW($result_fix))\r
75         {\r
76                 // Fix weight\r
77                 $result_sort = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_guest_menu SET sort='%s' WHERE id=%d LIMIT 1",\r
78                  array(bigintval($cnt), bigintval($id)), __FILE__, __LINE__);\r
79                 $REP += SQL_AFFECTEDROWS();\r
80 \r
81                 // Count one up\r
82                 $cnt++;\r
83         }\r
84 \r
85         // Free memory\r
86         SQL_FREERESULT($result_fix);\r
87 }\r
88 \r
89 // Repair finished\r
90 LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_done\">".ADMIN_REPAIR_ENTRIES_FIXED_1.$REP.ADMIN_REPAIR_ENTRIES_FIXED_2."</FONT>");\r
91 \r
92 //\r
93 ?>\r