0) && (!isDemoModeActive())) { // Edit menu entries // @TODO Kill all constants in this file $content['sub'] = $SUB; $content['chk'] = $chk; $cnt = 0; $SW = 2; foreach (postRequestElement('sel') as $sel => $confirm) { if ($confirm == 1) { $cnt++; $result = SQL_QUERY_ESC("SELECT `title`, `action`, `what`, `descr` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE ".$AND." AND `id`=%s LIMIT 1", array(bigintval($sel)), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Entry found so we load the stuff... $data = SQL_FETCHARRAY($result); // Prepare data for the row template $data = array( 'action' => adminAddMenuSelectionBox('admin', 'action', 'sel_action[' . $sel . ']', $data['action']), 'what' => adminAddMenuSelectionBox('admin', 'what' , 'sel_what[' . $sel . ']', $data['what']), 'sw' => $SW, 'sel' => $sel, 'menu' => $data['title'], 'descr' => $data['descr'], 'cnt' => $cnt, ); // Load row template $OUT .= loadTemplate('admin_amenu_edit_row', true, $data); } else { // Entry not found? $data = array( 'sw' => $SW, 'sel' => $sel ); // Load row template $OUT .= loadTemplate('admin_menu_404_row', true, $data); } // Free result and switch color SQL_FREERESULT($result); $SW = 3 - $SW; } // END - if } // END - foreach $content['rows'] = $OUT; $content['cnt'] = $cnt; // Load template loadTemplate('admin_amenu_edit_form', false, $content); } elseif ((isPostRequestElementSet('del')) && (!isDemoModeActive())) { // Prepare misc content $content['sub'] = $SUB; $content['chk'] = $chk; // Del menu entries with or without confirmation $SW = 2; $cnt = 0; $OUT = ''; foreach (postRequestElement('sel') as $sel => $confirm) { if ($confirm == 1) { $cnt++; $result = SQL_QUERY_ESC("SELECT `title` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE ".$AND." AND `id`=%s LIMIT 1", array(bigintval($sel)), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Entry found so we load the stuff... $data = SQL_FETCHARRAY($result); // Prepare data for the row template $data = array( 'menu' => $data['title'], 'cnt' => $cnt, 'sel' => $sel, 'sw' => $SW ); $OUT .= loadTemplate('admin_amenu_delete_row', true, $data); } else { // Entry not found? $data = array( 'sw' => $SW, 'sel' => $sel ); $OUT .= loadTemplate('admin_menu_404_row', true, $data); } SQL_FREERESULT($result); $SW = 3 - $SW; } } $content['rows'] = $OUT; $content['cnt'] = $cnt; // Load template loadTemplate('admin_amenu_delete', false, $content); } elseif ((isFormSent()) && (!isDemoModeActive())) { // An action is done... switch (postRequestElement('ok')) { case 'edit': // Edit menu foreach (postRequestElement('sel') as $sel => $menu) { // Secure ID $sel = bigintval($sel); // Update entry SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='%s', `action`='%s', `what`='%s', `descr`='%s' WHERE ".$AND." AND id=%s LIMIT 1", array( $menu, postRequestElement('sel_action', $sel), postRequestElement('sel_what', $sel), postRequestElement('sel_desc', $sel), $sel, ), __FILE__, __LINE__); } // Load template loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED')); break; case 'del': // Delete menu foreach (postRequestElement('sel') as $sel => $menu) { SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE ".$AND." AND `id`=%s LIMIT 1", array(bigintval($sel)), __FILE__, __LINE__); } // END - foreach // Load template loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED')); break; default: // Unexpected action logDebugMessage(__FILE__, __LINE__, sprintf("Unsupported action %s detected.", postRequestElement('ok'))); loadTemplate('admin_menu_unknown_okay', false, postRequestElement('ok')); break; } } else { if ((isGetRequestElementSet(('act'))) && (isGetRequestElementSet(('tid'))) && (isGetRequestElementSet(('fid')))) { // Get IDs if (isGetRequestElementSet(('w'))) { // Sub menus selected $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='%s' AND `sort`='%s' LIMIT 1", array(getRequestElement('act'), bigintval(getRequestElement('tid'))), __FILE__, __LINE__); list($tid) = SQL_FETCHROW($result); SQL_FREERESULT($result); $result = SQL_QUERY("SELECT `id` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='%s' AND `sort`='%s' LIMIT 1", array(getRequestElement('act'), bigintval(getRequestElement('fid'))), __FILE__, __LINE__); list($fid) = SQL_FETCHROW($result); SQL_FREERESULT($result); } else { // Main menu selected $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE (`what`='' OR `what` IS NULL) AND `sort`='%s' LIMIT 1", array(bigintval(getRequestElement('tid'))), __FILE__, __LINE__); list($tid) = SQL_FETCHROW($result); SQL_FREERESULT($result); $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE (`what`='' OR `what` IS NULL) AND `sort`='%s' LIMIT 1", array(bigintval(getRequestElement('fid'))), __FILE__, __LINE__); list($fid) = SQL_FETCHROW($result); SQL_FREERESULT($result); } if ((!empty($tid)) && (!empty($fid))) { // Sort menu SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `sort`='%s' WHERE ".$AND." AND id=%s LIMIT 1", array(bigintval(getRequestElement('tid')), bigintval($fid)), __FILE__, __LINE__); SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `sort`='%s' WHERE ".$AND." AND id=%s LIMIT 1", array(bigintval(getRequestElement('fid')), bigintval($tid)), __FILE__, __LINE__); } } // By default list menus if (!empty($SUB)) { // Sub menus of a main menu $result = SQL_QUERY_ESC("SELECT id, action, what, title, sort FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ORDER BY `sort` ASC", array($SUB), __FILE__, __LINE__); } else { // Main menus $result = SQL_QUERY("SELECT id, action, what, title, sort FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE (`what`='' OR `what` IS NULL) ORDER BY `sort` ASC", __FILE__, __LINE__); } $max = SQL_NUMROWS($result); if ($max > 0) { // Remember sub value $content['sub'] = $SUB; // Init variables $OUT = ''; $SW = 2; $cnt = 0; // Process all entries while ($data = SQL_FETCHARRAY($result)) { // Count this entry $cnt++; // Init navigation variable $data['navi'] = ''; if (($data['sort'] == 0) || (($data['sort'] == 1) && (!empty($SUB)))) { // Is highest position $data['navi'] = "{--LOWER--}"; } elseif ($cnt == $max) { // Is lowest position $data['navi'] = "{--HIGHER--}"; } elseif ($data['sort'] > 0) { // Anything else between highest and lowest $data['navi'] = "{--HIGHER--}/{--LOWER--}"; } // Fix empty elements for constant (fixes display bugs in Firefox) if (empty($data['action'])) $data['action'] = ' '; if (empty($data['what'])) $data['what'] = ' '; if (empty($data['title'])) $data['title'] = ' '; // Add more data to $data $data['sw'] = $SW; $data['mode'] = 'admin'; // Load row template and switch colors $OUT .= loadTemplate('admin_menu_overview_row', true, $data); $SW = 3 - $SW; } // END - switch // Remember all rows $content['rows'] = $OUT; // Free memory SQL_FREERESULT($result); // Load template loadTemplate('admin_amenu_edit', false, $content); } else { // Menu entries are missing... (???) loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NO_MENUS_FOUND')); } } // ?>