<?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_amenu.php *
* $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 - 2011 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 ((!defined('__SECURITY')) || (!IS_ADMIN())) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
- require($INC);
-}
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+ die();
+} // END - if
// Add description as navigation point
-ADD_DESCR('admin', __FILE__);
+addYouAreHereLink('admin', __FILE__);
-$ACTIONS = array();
+$actions = array();
// First fix all main menus (what = '')...
-$result_fix = SQL_QUERY("SELECT id, action FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE (`what`='' OR `what` IS NULL) AND action != 'logout' ORDER BY `sort` ASC", __FILE__, __LINE__);
-$cnt = 0; $REP = 0;
+$result_fix = SQL_QUERY("SELECT `id`, `action` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE (`what`='' OR `what` IS NULL) AND `action` != 'logout' ORDER BY `sort` ASC", __FILE__, __LINE__);
+$count = '0'; $repairedWeights = '0';
while ($content = SQL_FETCHARRAY($result_fix)) {
// Store act value for later usage in sorting sub menus
- $ACTIONS[] = $content['action'];
+ $actions[] = $content['action'];
// Fix weight
- SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET sort=%s WHERE `id`=%s LIMIT 1",
- array($cnt, $content['id']), __FILE__, __LINE__);
- $REP += SQL_AFFECTEDROWS();
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET sort=%s WHERE `id`=%s LIMIT 1",
+ array($count, $content['id']), __FILE__, __LINE__);
+ $repairedWeights += SQL_AFFECTEDROWS();
// Count one up
- $cnt++;
-}
+ $count++;
+} // END - while
// Set logout weight to 999
-SQL_QUERY("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `sort`='999' WHERE `action`='logout' AND (`what`='' OR `what` IS NULL) LIMIT 1", __FILE__, __LINE__);
+SQL_QUERY("UPDATE `{?_MYSQL_PREFIX?}_admin_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!}_admin_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ORDER BY `sort`",
- array($act), __FILE__, __LINE__);
- $cnt = 1;
+foreach ($actions as $action) {
+ $result_fix = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ORDER BY `sort` ASC",
+ array($action), __FILE__, __LINE__);
+ $count = 1;
while ($content = SQL_FETCHARRAY($result_fix)) {
// Fix weight
- SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET sort=%s WHERE `id`=%s LIMIT 1",
- array($cnt, $content['id']), __FILE__, __LINE__);
- $REP += SQL_AFFECTEDROWS();
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `sort`=%s WHERE `id`=%s LIMIT 1",
+ array($count, $content['id']), __FILE__, __LINE__);
+ $repairedWeights += SQL_AFFECTEDROWS();
// Count one up
- $cnt++;
- }
-}
-
-// @TODO This causes the whole (!) menu cache being rebuilded
-cachePurgeAdminMenu();
+ $count++;
+ } // END - while
+} // END - foreach
// Repair finished
-if ($REP > 0) {
- $message = sprintf(getMessage('ADMIN_REPAIR_ENTRIES_FIXED'), $REP);
+if ($repairedWeights > 0) {
+ $message = '{%message,ADMIN_REPAIR_ENTRIES_FIXED=' . $repairedWeights . '%}';
} else {
- $message = getMessage('ADMIN_REPAIR_NOTHING_FIXED');
+ $message = '{--ADMIN_REPAIR_NOTHING_FIXED--}';
}
// Output message
-LOAD_TEMPLATE('admin_settings_saved', false, $message);
+displayMessage($message);
-//
+// [EOF]
?>