0) { // Read menu structure while (list($act, $title, $sort) = SQL_FETCHROW($result)) { // Menu actions $menus[] = $act; // Menu titles $titles[] = $title; // Below this menu point should the new be added so we simply increase the sort value by 1 :-) $below[] = $sort + 1; } // Free memory SQL_FREERESULT($result); // Remove double eintries $prev = ""; $dmy = $menus; $dmy2 = $titles; $dmy3 = $below; foreach ($menus as $key => $value) { if ($value == $prev) { unset($dmy[$key]); unset($dmy2[$key]); unset($dmy3[$key]); } else { $prev = $value; } } $menus = $dmy; $titles = $dmy2; $below = $dmy3; // Load sub menus :) foreach ($menus as $key_main => $value_main) { $result = SQL_QUERY_ESC("SELECT what, title, sort FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ORDER BY `sort`", array($value_main), __FILE__, __LINE__); if (SQL_NUMROWS($result) > 0) { $menus[$value_main] = array(); $titles[$value_main] = array(); $below[$value_main] = array(); // Read menu structure while (list($act, $title, $sort) = SQL_FETCHROW($result)) { // Menu actions $menus[$value_main][] = $act; // Menu titles $titles[$value_main][] = $title; // Below this menu point should the new be added so we simply increase the sort value by 1 :-) $below[$value_main][] = $sort + 1; } // Free memory SQL_FREERESULT($result); // Remove double eintries $prev = ""; $dmy = $menus[$value_main]; $dmy2 = $titles[$value_main]; $dmy3 = $below[$value_main]; foreach ($menus[$value_main] as $key => $value) { if ($value == $prev) { unset($dmy[$key]); unset($dmy2[$key]); unset($dmy3[$key]); } else { $prev = $value; } } $menus[$value_main] = $dmy; $titles[$value_main] = $dmy2; $below[$value_main] = $dmy3; } } } $OUT = " "; define('__BELOW_SELECTION' , $OUT); define('__WHAT_SELECTION' , ADMIN_MAKE_MENU_SELECTION("admin", "what", "name")); define('__ACTION_SELECTION', ADMIN_MAKE_MENU_SELECTION("admin", "action", "menu")); // Display form LOAD_TEMPLATE("admin_admin_add"); } elseif (!IS_DEMO()) { // Insert new menu entry if (REQUEST_ISSET_POST(('menu'))) { // Add sub menu SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('%s','%s','%s','%s','%s')", array( REQUEST_POST('menu'), REQUEST_POST('name'), REQUEST_POST('title'), REQUEST_POST('descr'), bigintval(REQUEST_POST('sort')), ), __FILE__, __LINE__ ); CACHE_PURGE_ADMIN_MENU(0, REQUEST_POST('menu'), REQUEST_POST('name')); } else { // Add main menu SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (action, title, descr, sort) VALUES ('%s','%s','%s','%s')", array( REQUEST_POST('name'), REQUEST_POST('title'), REQUEST_POST('descr'), bigintval(REQUEST_POST('sort')), ), __FILE__, __LINE__ ); CACHE_PURGE_ADMIN_MENU(0, REQUEST_POST('name')); } LOAD_TEMPLATE("admin_settings_saved", false, getMessage('SETTINGS_SAVED')); } else { // Is demo login! LOAD_TEMPLATE("admin_settings_saved", false, getMessage('SETTINGS_NOT_SAVED')); } // ?>