X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-adminedit.php;h=32d08b012bf61baebccd427feaaa48cd50158ff9;hp=5b25d34b392f59d3e425f064437185381969ae49;hb=0f3a135204757cc8750262871c8e62c42300acb4;hpb=56156f6c4392510cdbe0eb4f2ccefc23b43e2672 diff --git a/inc/modules/admin/what-adminedit.php b/inc/modules/admin/what-adminedit.php index 5b25d34b39..32d08b012b 100644 --- a/inc/modules/admin/what-adminedit.php +++ b/inc/modules/admin/what-adminedit.php @@ -1,7 +1,7 @@ 0) && (!IS_DEMO())) { +if ((isFormSent('edit')) && (ifPostContainsSelections()) && (!isDemoModeActive())) { // Edit menu entries - define('__SUB_VALUE', $SUB); - define('__CHK_VALUE', $chk); - $cnt = 0; $SW = 2; - foreach ($_POST['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) - { + // @TODO Kill all constants in this file + $content['sub'] = $SUB; + $content['chk'] = countPostSelection(); + $count = '0'; $OUT = ''; + foreach (postRequestParameter('sel') as $sel => $confirm) { + if ($confirm == 1) { + $count++; + $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... - list($menu, $act, $wht, $descr) = SQL_FETCHROW($result); - SQL_FREERESULT($result); + $content = SQL_FETCHARRAY($result); // Prepare data for the row template $content = array( - 'action' => ADMIN_MAKE_MENU_SELECTION("admin", "action", "sel_action[".$sel."]", $act), - 'what' => ADMIN_MAKE_MENU_SELECTION("admin", "what", "sel_what[".$sel."]", $wht), - 'sw' => $SW, + 'action' => adminAddMenuSelectionBox('admin', 'action', 'sel_action[' . $sel . ']', $content['action']), + 'what' => adminAddMenuSelectionBox('admin', 'what' , 'sel_what[' . $sel . ']', $content['what']), 'sel' => $sel, - 'menu' => $menu, - 'descr' => $descr, - 'cnt' => $cnt, + 'menu' => $content['title'], + 'descr' => $content['descr'], + 'count' => $count, ); - $OUT .= LOAD_TEMPLATE("admin_amenu_edit_row", true, $content); - } - else - { + + // Load row template + $OUT .= loadTemplate('admin_edit_admin_menu_row', true, $content); + } else { // Entry not found? $content = array( - 'sw' => $SW, 'sel' => $sel ); - $OUT .= LOAD_TEMPLATE("admin_menu_404_row", true, $content); + + // Load row template + $OUT .= loadTemplate('admin_menu_404_row', true, $content); } - $SW = 3 - $SW; - } - } - define('__MENU_ROWS', $OUT); - define('__CNT_VALUE', $cnt); + + // Free result and switch color + SQL_FREERESULT($result); + } // END - if + } // END - foreach + + $content['rows'] = $OUT; + $content['count'] = $count; // Load template - LOAD_TEMPLATE("admin_amenu_edit_form"); -} - elseif ((isset($_POST['del'])) && (!IS_DEMO())) -{ - define('__SUB_VALUE', $SUB); - define('__CHK_VALUE', $chk); + loadTemplate('admin_edit_admin_menu_form', false, $content); +} elseif ((isFormSent('delete')) && (ifPostContainsSelections()) && (!isDemoModeActive())) { + // Prepare misc content + $content['sub'] = $SUB; + $content['chk'] = countPostSelection(); + // Del menu entries with or without confirmation - $SW = 2; $cnt = 0; $OUT = ""; - foreach ($_POST['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) - { + $count = '0'; $OUT = ''; + foreach (postRequestParameter('sel') as $sel => $confirm) { + if ($confirm == 1) { + $count++; + $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... - list($menu) = SQL_FETCHROW($result); - SQL_FREERESULT($result); + $content = SQL_FETCHARRAY($result); // Prepare data for the row template $content = array( - 'menu' => $menu, - 'cnt' => $cnt, - 'sel' => $sel, - 'sw' => $SW + 'menu' => $content['title'], + 'count' => $count, + 'sel' => $sel, ); - $OUT .= LOAD_TEMPLATE("admin_amenu_delete_row", true, $content); - } - else - { + $OUT .= loadTemplate('admin_delete_admin_menu_row', true, $content); + } else { // Entry not found? $content = array( - 'sw' => $SW, 'sel' => $sel ); - $OUT .= LOAD_TEMPLATE("admin_menu_404_row", true, $content); + $OUT .= loadTemplate('admin_menu_404_row', true, $content); } - $SW = 3 - $SW; - } - } - define('__MENU_ROWS', $OUT); - define('__CNT_VALUE', $cnt); + SQL_FREERESULT($result); + } // END - if + } // END - switch + $content['rows'] = $OUT; + $content['count'] = $count; // Load template - LOAD_TEMPLATE("admin_amenu_delete"); -} elseif ((isset($_POST['ok'])) && (!IS_DEMO())) { + loadTemplate('admin_delete_admin_menu', false, $content); +} elseif ((isFormSent()) && (!isDemoModeActive())) { // An action is done... - switch ($_POST['ok']) - { - case "edit": // Edit menu - foreach ($_POST['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, - $_POST['sel_action'][$sel], - $_POST['sel_what'][$sel], - $_POST['sel_desc'][$sel], - $sel, -), __FILE__, __LINE__); - } + switch (postRequestParameter('ok')) { + case 'edit': // Edit menu + foreach (postRequestParameter('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, + postRequestParameter('sel_action', $sel), + postRequestParameter('sel_what', $sel), + postRequestParameter('sel_desc', $sel), + $sel, + ), __FILE__, __LINE__); + } - // Purge admin menu cache - CACHE_PURGE_ADMIN_MENU(0, $_POST['sel_action'][$sel], $_POST['sel_what'][$sel]); + // Load template + displayMessage('{--SETTINGS_SAVED--}'); + break; + + case 'delete': // Delete menu + foreach (postRequestParameter('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 + displayMessage('{--SETTINGS_SAVED--}'); + break; + + default: // Unexpected action + logDebugMessage(__FILE__, __LINE__, sprintf("Unsupported action %s detected.", postRequestParameter('ok'))); + displayMessage('{%message,ADMIN_UNKNOWN_OKAY=' . postRequestParameter('ok') . '%}'); + break; + } // END - switch +} else { + // Handle weightning + doAdminProcessMenuWeightning('admin', $AND); - // Load template - LOAD_TEMPLATE("admin_settings_saved", false, SAVING_DONE); - break; + // Run SQL + $result = SQL_QUERY("SELECT `id`,`action`,`what`,`title`,`sort` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE ".$AND." ORDER BY `sort` ASC", __FILE__, __LINE__); - case "del": // Delete menu - foreach ($_POST['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__); - CACHE_PURGE_ADMIN_MENU(0, "", "", $AND); - } // END - foreach + // Do we have entries? + if (!SQL_HASZERONUMS($result)) { + // Remember sub value + $content['sub'] = $SUB; - // Load template - LOAD_TEMPLATE("admin_settings_saved", false, SAVING_DONE); - break; + // Init variables + $OUT = ''; + $count = '0'; - default: // Unexpected action - DEBUG_LOG(__FILE__, __LINE__, sprintf("Unsupported action %s detected.", $_POST['ok'])); - define('__OK_VALUE', $_POST['ok']); - LOAD_TEMPLATE("admin_menu_unknown_okay"); - break; - } -} else { - if ((!empty($_GET['act'])) && (!empty($_GET['tid'])) && (!empty($_GET['fid']))) { - // Get IDs - if (!empty($_GET['w'])) { - // Sub menus selected - $result = SQL_QUERY_ESC("SELECT id FROM `"._MYSQL_PREFIX."_admin_menu` WHERE action='%s' AND sort='%s' LIMIT 1", - array($_GET['act'], bigintval($_GET['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($_GET['act'], bigintval($_GET['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($_GET['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($_GET['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($_GET['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($_GET['fid']), bigintval($tid)), __FILE__, __LINE__); - CACHE_PURGE_ADMIN_MENU(0, "", "", $AND); - } - } + // Process all entries + while ($content = SQL_FETCHARRAY($result)) { + // Count this entry + $count++; - // 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) - { - define('__SUB_VALUE', $SUB); - $SW = 2; $cnt = 0; $OUT = ""; - while (list($id, $act, $wht, $title, $sort) = SQL_FETCHROW($result)) - { - $cnt++; - if (($sort == 0) || (($sort == 1) && (!empty($SUB)))) - { + // Init navigation variable + $content['navi'] = ''; + if (($content['sort'] == '0') || (($content['sort'] == 1) && (!empty($SUB)))) { // Is highest position - $NAVI = "".LOWER.""; - } - elseif ($cnt == $max) - { + $content['navi'] = '{--LOWER--}'; + } elseif ($count == SQL_NUMROWS($result)) { // Is lowest position - $NAVI = "".HIGHER.""; - } - elseif ($sort > 0) - { + $content['navi'] = '{--HIGHER--}'; + } elseif ($content['sort'] > 0) { // Anything else between highest and lowest - $NAVI = "".HIGHER."/".LOWER.""; + $content['navi'] = '{--HIGHER--}|{--LOWER--}'; } - if (empty($act)) $act = " "; - if (empty($wht)) $wht = " "; - if (empty($title)) $title = " "; + // Add more data to $content + $content['mode'] = 'admin'; - $content = array( - 'sw' => $SW, - 'id' => $id, - 'action' => $act, - 'what' => $wht, - 'title' => $title, - 'navi' => $NAVI, - 'mode' => "admin", - ); - $OUT .= LOAD_TEMPLATE("admin_menu_overview_row", true, $content); - $SW = 3 - $SW; - } + // Load row template and switch colors + $OUT .= loadTemplate('admin_menu_overview_row', true, $content); + } // END - switch + + // Remember all rows + $content['rows'] = $OUT; // Free memory SQL_FREERESULT($result); - define('__MENU_ROWS', $OUT); // Load template - LOAD_TEMPLATE("admin_amenu_edit"); - } - else - { + loadTemplate('admin_edit_admin_menu', false, $content); + } else { // Menu entries are missing... (???) - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NO_MENUS_FOUND); + displayMessage('{--ADMIN_NO_MENUS_FOUND--}'); } }