<?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_mmenu.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Menuegewichtigung reparieren *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
* -------------------------------------------------------------------- *
- * 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 ((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();
+} // END - if
+
// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+addYouAreHereLink('admin', __FILE__);
+
+$actions = array();
-$ACTIONS = array();
-// First fix all main menus (what="")...
-$result_fix = SQL_QUERY("SELECT id, action FROM "._MYSQL_PREFIX."_member_menu WHERE (what='' OR what IS NULL) AND action != 'logout' ORDER BY sort ASC", __FILE__, __LINE__);
-$cnt = 0; $REP = 0;
-while(list($id, $act) = SQL_FETCHROW($result_fix))
-{
+// First fix all main menus (what = '')...
+$result_fix = SQL_QUERY("SELECT `id`, `action` FROM `{?_MYSQL_PREFIX?}_member_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 action value for later usage in sorting sub menus
- $ACTIONS[] = $act;
+ $actions[] = $content['action'];
// Fix weight
- $result_sort = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_member_menu SET sort='%s' WHERE id=%d LIMIT 1",
- array(bigintval($cnt), bigintval($id)), __FILE__, __LINE__);
- $REP += SQL_AFFECTEDROWS();
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `sort`=%s WHERE `id`=%s LIMIT 1",
+ array($count, $content['id']), __FILE__, __LINE__);
+ $repairedWeights += SQL_AFFECTEDROWS();
// Count one up
- $cnt++;
-}
-
-// Free memory
-SQL_FREERESULT($result_fix);
+ $count++;
+} // END - while
// Set logout weight to 999
-$result_sort = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_member_menu SET sort='999' WHERE action='logout' AND (what='' OR what IS NULL) LIMIT 1", __FILE__, __LINE__);
+SQL_QUERY("UPDATE `{?_MYSQL_PREFIX?}_member_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."_member_menu WHERE action='%s' AND what != '' ORDER BY sort",
- array($act), __FILE__, __LINE__);
- $cnt = 1;
- while (list($id) = SQL_FETCHROW($result_fix))
- {
+foreach ($actions as $action) {
+ $result_fix = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_member_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
- $result_sort = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_member_menu SET sort='%s' WHERE id=%d LIMIT 1",
- array(bigintval($cnt), bigintval($id)), __FILE__, __LINE__);
- $REP += SQL_AFFECTEDROWS();
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_member_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
+} // END - foreach
- // Free memory
- SQL_FREERESULT($result_fix);
+// Repair finished
+if ($repairedWeights > 0) {
+ $message = getMaskedMessage('ADMIN_REPAIR_ENTRIES_FIXED', $repairedWeights);
+} else {
+ $message = '{--ADMIN_REPAIR_NOTHING_FIXED--}';
}
-// Repair finished
-LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_done\">".ADMIN_REPAIR_ENTRIES_FIXED_1.$REP.ADMIN_REPAIR_ENTRIES_FIXED_2."</FONT>");
+// Output message
+displayMessage($message);
-//
+// [EOF]
?>