Even more rewrites/fixes from EL branch (please report any broken part after you...
[mailer.git] / inc / modules / admin / what-repair_gmnu.php
index e2cc8eeff4c30f9663d1fd2f469891bf1cb159a3..63a9f4413ce8cc675bed9770b46e1fb78871be41 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 02/25/2004 *
- * ================                             Last change: 02/25/2004 *
+ * Mailer v0.2.1-FINAL                                Start: 02/25/2004 *
+ * ===================                          Last change: 02/25/2004 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-repair_gmenu.php                            *
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Menuegewichtigung reparieren                     *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * Needs to be in all Files and every File needs "svn propset           *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+       die();
 }
+
 // Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+addMenuDescription('admin', __FILE__);
 
 $ACTIONS = array();
-// First fix all main menus (what='')...
-$result_fix = SQL_QUERY("SELECT id, action FROM "._MYSQL_PREFIX."_guest_menu WHERE what='' AND action != 'logout' ORDER BY sort ASC", __FILE__, __LINE__);
-$cnt = 0; $REP = 0;
-while(list($id, $act) = SQL_FETCHROW($result_fix))
-{
-       // Store action value for later usage in sorting sub menus
-       $ACTIONS[] = $act;
+// First fix all main menus (what = '')...
+$result_fix = SQL_QUERY("SELECT id, action FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE (`what`='' OR `what` IS NULL) AND action != 'logout' ORDER BY `sort` ASC", __FILE__, __LINE__);
+$cnt = '0'; $REP = '0';
+while ($content = SQL_FETCHARRAY($result_fix)) {
+       // Store act value for later usage in sorting sub menus
+       $ACTIONS[] = $content['action'];
 
        // Fix weight
-       $result_sort = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_guest_menu SET sort='%s' WHERE id=%d LIMIT 1",
-        array(bigintval($cnt), bigintval($id)), __FILE__, __LINE__);
+       $result_sort = SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `sort`='%s WHERE `id`=%s' LIMIT 1",
+               array($cnt, $content['id']), __FILE__, __LINE__);
+
+       // Get updated rows
        $REP += SQL_AFFECTEDROWS();
 
        // Count one up
        $cnt++;
-}
-
-// Free memory
-SQL_FREERESULT($result_fix);
+} // END - while
 
 // Set logout weight to 999
-$result_sort = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_guest_menu SET sort='999' WHERE action='logout' AND what='' LIMIT 1", __FILE__, __LINE__);
+$result_sort = SQL_QUERY("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET sort='999' WHERE `action`='logout' AND (`what`='' OR `what` IS NULL) LIMIT 1", __FILE__, __LINE__);
 
 // Now sort every each menu
-foreach ($ACTIONS as $act)
-{
-       $result_fix = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_guest_menu WHERE action='%s' AND what != '' ORDER BY sort",
-        array($act), __FILE__, __LINE__);
-
+foreach ($ACTIONS as $action) {
+       $result_fix = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ORDER BY `sort`",
+               array($action), __FILE__, __LINE__);
        $cnt = 1;
-       while (list($id) = SQL_FETCHROW($result_fix))
-       {
+       while ($content = SQL_FETCHARRAY($result_fix)) {
                // Fix weight
-               $result_sort = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_guest_menu SET sort='%s' WHERE id=%d LIMIT 1",
-                array(bigintval($cnt), bigintval($id)), __FILE__, __LINE__);
+               SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET sort=%s WHERE `id`=%s LIMIT 1",
+               array($cnt, $content['id']), __FILE__, __LINE__);
                $REP += SQL_AFFECTEDROWS();
 
                // Count one up
                $cnt++;
        }
-
-       // Free memory
-       SQL_FREERESULT($result_fix);
 }
 
 // Repair finished
-LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_done\">".ADMIN_REPAIR_ENTRIES_FIXED_1.$REP.ADMIN_REPAIR_ENTRIES_FIXED_2."</FONT>");
+if ($REP > 0) {
+       $message = getMaskedMessage('ADMIN_REPAIR_ENTRIES_FIXED', $REP);
+} else {
+       $message = getMessage('ADMIN_REPAIR_NOTHING_FIXED');
+}
+
+// Output message
+loadTemplate('admin_settings_saved', false, $message);
 
 //
 ?>