0) && (!isDemoModeActive())) { // Edit menu entries $content['sub'] = $SUB; $content['chk'] = $chk; $cnt = 0; $OUT = ''; $SW = 2; foreach (postRequestElement('sel') as $sel => $confirm) { if ($confirm == 1) { $cnt++; $result = SQL_QUERY_ESC("SELECT `title`, `action`, `what` FROM `{?_MYSQL_PREFIX?}_guest_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); // Prepapre content $DATA = array( 'cnt' => $cnt, 'sel' => $sel, 'action' => adminAddMenuSelectionBox('guest', 'action', 'sel_action[' . $sel . ']', $DATA['action']), 'what' => adminAddMenuSelectionBox('guest', 'what' , 'sel_what[' . $sel . ']', $DATA['what']), 'menu' => $DATA['title'], 'sw' => $SW, ); // Load row template $OUT .= loadTemplate('admin_gmenu_edit_row', true, $DATA); } else { // Entry not found $DATA = array( 'sw' => $SW, 'sel' => $sel ); $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_gmenu_edit_form', false, $content); } elseif ((isPostRequestElementSet('del')) && (!isDemoModeActive())) { // Del menu entries with or without confirmation $content['sub'] = $SUB; $content['chk'] = $chk; $cnt = 0; $OUT = ''; $SW = 2; foreach (postRequestElement('sel') as $sel => $confirm) { if ($confirm == 1) { $cnt++; $result = SQL_QUERY_ESC("SELECT `title` FROM `{?_MYSQL_PREFIX?}_guest_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); $DATA = array( 'cnt' => $cnt, 'menu' => $DATA['title'], 'sel' => $sel, 'sw' => $SW, ); $OUT .= loadTemplate('admin_gmenu_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_gmenu_delete', false, $content); } elseif ((isFormSent()) && (!isDemoModeActive())) { // An action is done... switch (postRequestElement('ok')) { case 'edit': // Edit menu foreach (postRequestElement('sel') as $sel => $menu) { // Secure selector $sel = bigintval($sel); // Update entry SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `title`='%s', `action`='%s', `what`='%s' WHERE ".$AND." AND id=%s LIMIT 1", array($menu, postRequestElement('sel_action', $sel), postRequestElement('sel_what', $sel), $sel),__FILE__, __LINE__); } // END - foreach loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED')); break; case 'del': // Delete menu foreach (postRequestElement('sel') as $sel => $menu) { // Delete enty SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE ".$AND." AND id=%s LIMIT 1", array(bigintval($sel)), __FILE__, __LINE__); } // END - foreach loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED')); break; case 'status': // Change access levels foreach (postRequestElement('sel') as $sel => $menu) { // Secure selector $sel = bigintval($sel); // Update entry SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='%s', `locked`='%s' WHERE ".$AND." AND id=%s LIMIT 1", array(postRequestElement('visible', $sel), postRequestElement('locked', $sel), $sel), __FILE__, __LINE__); } // END - foreach 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; } // END - switch } elseif ((isPostRequestElementSet('status')) && ($chk > 0) && (!isDemoModeActive())) { // Change status (visible / locked) $content['sub'] = $SUB; $content['chk'] = $chk; // Load template $SW = 2; $cnt = 0; $OUT = ''; foreach (postRequestElement('sel') as $sel => $confirm) { if ($confirm == 1) { $cnt++; $result = SQL_QUERY_ESC("SELECT `title`, `visible`, `locked` FROM `{?_MYSQL_PREFIX?}_guest_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); $data = array( 'cnt' => $cnt, 'menu' => $data['title'], 'sel' => $sel, 'sw' => $SW, 'visible' => addSelectionBox('yn', $data['visible'], 'visible', $sel), 'locked' => addSelectionBox('yn', $data['locked'] , 'locked' , $sel), ); // Load template $OUT .= loadTemplate('admin_menu_status_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; } // END - if } // END - foreach $content['cnt'] = $cnt; $content['rows'] = $OUT; // Load template loadTemplate('admin_gmenu_status', false, $content); } 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?}_guest_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_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_guest_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?}_guest_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?}_guest_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?}_guest_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?}_guest_menu` SET `sort`='%s' WHERE ".$AND." AND `id`=%s LIMIT 1", array(bigintval(getRequestElement('fid')), bigintval($tid)), __FILE__, __LINE__); } // END - if } // END - if // By default list menus if (empty($SUB)) { // List only main menus $result = SQL_QUERY("SELECT `id`,`action`,`what`,`title`,`sort` FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE (`what`='' OR `what` IS NULL) ORDER BY `sort` ASC", __FILE__, __LINE__); } else { // List sub menus $result = SQL_QUERY_ESC("SELECT `id`,`action`,`what`,`title`,`sort` FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ORDER BY `sort` ASC", array($SUB), __FILE__, __LINE__); } // Get number of menu entries $max = SQL_NUMROWS($result); if ($max > 0) { // Set sub value $content['sub'] = $SUB; // Init variables $SW = 2; $cnt = 0; $OUT = ''; // Process all menu entries while ($data = SQL_FETCHARRAY($result)) { $cnt++; if (($data['sort'] == 0) || (($data['sort'] == 1) && (!empty($SUB)))) { // Is highest position $NAVI = "{--LOWER--}"; } elseif ($cnt == $max) { // Is lowest position $NAVI = "{--HIGHER--}"; } elseif ($data['sort'] > 0) { // Anything else between highest and lowest $NAVI = "{--HIGHER--}/{--LOWER--}"; } if (empty($data['action'])) $data['action'] = ' '; if (empty($data['what'])) $data['what'] = ' '; if (empty($data['title'])) $data['title'] = ' '; // Prepapre content $row = array( 'sw' => $SW, 'id' => $data['id'], 'action' => $data['action'], 'what' => $data['what'], 'title' => $data['title'], 'navi' => $NAVI, 'mode' => 'guest' ); // Load row template $OUT .= loadTemplate('admin_menu_overview_row', true, $row); $SW = 3 - $SW; } // END - while // Add rows $content['rows'] = $OUT; // Free memory SQL_FREERESULT($result); // Load template loadTemplate('admin_gmenu_edit', false, $content); } else { // Menu entries are missing... (???) loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NO_MENUS_FOUND')); } } // [EOF] ?>