$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'], ); // Load row template $OUT .= loadTemplate('admin_edit_guest_menu_row', true, $DATA); } else { // Entry not found $DATA = array( 'sel' => $sel ); $OUT .= loadTemplate('admin_menu_404_row', true, $DATA); } // Free result and switch color SQL_FREERESULT($result); } // END - if } // END - foreach $content['rows'] = $OUT; $content['cnt'] = $cnt; // Load template loadTemplate('admin_edit_guest_menu_form', false, $content); } elseif ((isFormSent('del')) && (ifPostContainsSelections()) && (!isDemoModeActive())) { // Del menu entries with or without confirmation $content['sub'] = $SUB; $content['chk'] = countPostSelection(); $cnt = '0'; $OUT = ''; foreach (postRequestParameter('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, ); $OUT .= loadTemplate('admin_del_guest_menu_row', true, $DATA); } else { // Entry not found? $DATA = array( 'sel' => $sel ); $OUT .= loadTemplate('admin_menu_404_row', true, $DATA); } SQL_FREERESULT($result); } // END - if } // END - foreach $content['rows'] = $OUT; $content['cnt'] = $cnt; // Load template loadTemplate('admin_del_guest_menu', false, $content); } elseif ((isFormSent()) && (!isDemoModeActive())) { // An action is done... switch (postRequestParameter('ok')) { case 'edit': // Edit menu foreach (postRequestParameter('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, postRequestParameter('sel_action', $sel), postRequestParameter('sel_what', $sel), $sel),__FILE__, __LINE__); } // END - foreach loadTemplate('admin_settings_saved', false, '{--SETTINGS_SAVED--}'); break; case 'del': // Delete menu foreach (postRequestParameter('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, '{--SETTINGS_SAVED--}'); break; case 'status': // Change access levels foreach (postRequestParameter('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(postRequestParameter('visible', $sel), postRequestParameter('locked', $sel), $sel), __FILE__, __LINE__); } // END - foreach loadTemplate('admin_settings_saved', false, '{--SETTINGS_SAVED--}'); break; default: // Unexpected action logDebugMessage(__FILE__, __LINE__, sprintf("Unsupported action %s detected.", postRequestParameter('ok'))); loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_UNKNOWN_OKAY', postRequestParameter('ok'))); break; } // END - switch } elseif ((isPostRequestParameterSet('status')) && (ifPostContainsSelections()) && (!isDemoModeActive())) { // Change status (visible / locked) $content['sub'] = $SUB; $content['chk'] = countPostSelection(); // Load template $cnt = '0'; $OUT = ''; foreach (postRequestParameter('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, '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( 'sel' => $sel ); $OUT .= loadTemplate('admin_menu_404_row', true, $data); } SQL_FREERESULT($result); } // END - if } // END - foreach $content['cnt'] = $cnt; $content['rows'] = $OUT; // Load template loadTemplate('admin_guest_menu_status', false, $content); } else { if ((isGetRequestParameterSet('act')) && (isGetRequestParameterSet('tid')) && (isGetRequestParameterSet('fid'))) { // Get ids if (isGetRequestParameterSet('w')) { // Sub menus selected $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='%s' AND `sort`=%s LIMIT 1", array(getRequestParameter('act'), bigintval(getRequestParameter('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(getRequestParameter('act'), bigintval(getRequestParameter('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(getRequestParameter('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(getRequestParameter('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(getRequestParameter('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(getRequestParameter('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__); } // Do we have entries? if (SQL_NUMROWS($result) > 0) { // Set sub value $content['sub'] = $SUB; // Init variables $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 == SQL_NUMROWS($result)) { // 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( '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); } // END - while // Add rows $content['rows'] = $OUT; // Free memory SQL_FREERESULT($result); // Load template loadTemplate('admin_edit_guest_menu', false, $content); } else { // Menu entries are missing... (???) loadTemplate('admin_settings_saved', false, '{--ADMIN_NO_MENUS_FOUND--}'); } } // [EOF] ?>