0) { // Read menu structure // @TODO Cant this be rewritten? while ($content = SQL_FETCHARRAY($result)) { // Menu actions $menus[] = $content['action']; // Menu titles $titles[] = $content['title']; // Below this menu point should the new be added so we simply increase the sort value by 1 :-) $below[] = $content['sort'] + 1; } // END - while // Free memory SQL_FREERESULT($result); // Remove double eintries // @TODO This can be somehow rewritten to a function $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; } } // Init variables $menus = $dmy; $titles = $dmy2; $below = $dmy3; // Load sub menus :) foreach ($menus as $key_main => $value_main) { // Query for sub menus $result = SQL_QUERY_ESC("SELECT `what`, `title`, `sort` FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ORDER BY `sort` ASC", array($value_main), __FILE__, __LINE__); if (SQL_NUMROWS($result) > 0) { // Initialize arrays $menus[$value_main] = array(); $titles[$value_main] = array(); $below[$value_main] = array(); // Read menu structure while ($content = SQL_FETCHARRAY($result)) { // Menu actions $menus[$value_main][] = $content['what']; // Menu titles $titles[$value_main][] = $content['title']; // Below this menu point should the new be added so we simply increase the sort value by 1 :-) $below[$value_main][] = $content['sort'] + 1; } // Free memory SQL_FREERESULT($result); // Remove double eintries // @TODO This can be somehow rewritten to a function $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; } } // Transfer dummy array $menus[$value_main] = $dmy; $titles[$value_main] = $dmy2; $below[$value_main] = $dmy3; } } } $OUT = " "; // Prepare selections for template $content['below_selection'] = $OUT; $content['what_selection'] = adminAddMenuSelectionBox('guest', 'what' , 'name'); $content['action_selection'] = adminAddMenuSelectionBox('guest', 'action', 'menu'); // Display form loadTemplate('admin_guest_add', false, $content); } elseif (!isDemoModeActive()) { // Insert new menu entry if (isPostRequestParameterSet('menu')) { SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('%s','%s','%s','%s','%s','%s')", array( postRequestParameter('menu'), postRequestParameter('name'), postRequestParameter('title'), bigintval(postRequestParameter('sort')), postRequestParameter('visible'), postRequestParameter('active'), ), __FILE__, __LINE__); } else { SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`, `title`, `sort`, `visible`, `locked`) VALUES ('%s','%s','%s','%s','%s')", array( postRequestParameter('name'), postRequestParameter('title'), bigintval(postRequestParameter('sort')), postRequestParameter('visible'), postRequestParameter('active'), ), __FILE__, __LINE__); } loadTemplate('admin_settings_saved', false, '{--SETTINGS_SAVED--}'); } else { // Demo mode! loadTemplate('admin_settings_saved', false, '{--SETTINGS_NOT_SAVED--}'); } // [EOF] ?>