X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-adminedit.php;h=ed24beee93548c3e32ab912799c8ba52ef6df668;hp=87543809d509b95fbb479806fc73e640dc8fcc5a;hb=d3c4fdd9bfab35389e1a5ff48f3952d527c7b4bb;hpb=d5ee31ebfc85f22fc691b8c2753c42e188c1c4ef diff --git a/inc/modules/admin/what-adminedit.php b/inc/modules/admin/what-adminedit.php index 87543809d5..ed24beee93 100644 --- a/inc/modules/admin/what-adminedit.php +++ b/inc/modules/admin/what-adminedit.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Das Admin-Menue editieren * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $Date:: $ * + * $Tag:: 0.2.1-FINAL $ * + * $Author:: $ * + * Needs to be in all Files and every File needs "svn propset * + * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,260 +37,254 @@ ************************************************************************/ // Some security stuff... -if ((!defined('__SECURITY')) || (!IS_ADMIN())) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); +if ((!defined('__SECURITY')) || (!isAdmin())) { + die(); } // Add description as navigation point -ADD_DESCR("admin", __FILE__); +addMenuDescription('admin', __FILE__); // Do we edit/delete/change main menus or sub menus? -$AND = "(`what` = '' OR `what` IS NULL)"; $SUB = ""; -if (!empty($_GET['sub'])) -{ - $AND = sprintf("action='%s' AND `what` IS NOT NULL", SQL_ESCAPE($_GET['sub'])); - $SUB = SQL_ESCAPE($_GET['sub']); -} +$AND = "(`what` = '' OR `what` IS NULL)"; $SUB = ''; +if (isGetRequestElementSet('sub')) { + $AND = sprintf("`action`='%s' AND `what` IS NOT NULL", getRequestElement('sub')); + $SUB = getRequestElement('sub'); +} // END - if // Get count of (maybe) selected menu points $chk = 0; -if (!empty($_POST['sel'])) $chk = SELECTION_COUNT($_POST['sel']); +if (isPostRequestElementSet('sel')) $chk = countPostSelection(); // List all menu points and make them editable -if ((isset($_POST['edit'])) && ($chk > 0) && (!IS_DEMO())) { +if ((isPostRequestElementSet('edit')) && ($chk > 0) && (!isDemoModeActive())) { // Edit menu entries - define('__SUB_VALUE', $SUB); - define('__CHK_VALUE', $chk); + // @TODO Kill all constants in this file + $content['sub'] = $SUB; + $content['chk'] = $chk; $cnt = 0; $SW = 2; - foreach ($_POST['sel'] as $sel => $confirm) - { - if ($confirm == 1) - { + 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) - { + $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); + $data = 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), + $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' => $menu, - 'descr' => $descr, + 'menu' => $data['title'], + 'descr' => $data['descr'], 'cnt' => $cnt, ); - $OUT .= LOAD_TEMPLATE("admin_amenu_edit_row", true, $content); - } - else - { + + // Load row template + $OUT .= loadTemplate('admin_amenu_edit_row', true, $data); + } else { // Entry not found? - $content = array( + $data = array( 'sw' => $SW, 'sel' => $sel ); - $OUT .= LOAD_TEMPLATE("admin_menu_404_row", true, $content); + + // Load row template + $OUT .= loadTemplate('admin_menu_404_row', true, $data); } + + // Free result and switch color + SQL_FREERESULT($result); $SW = 3 - $SW; - } - } - define('__MENU_ROWS', $OUT); - define('__CNT_VALUE', $cnt); + } // END - if + } // END - foreach + + $content['rows'] = $OUT; + $content['cnt'] = $cnt; // Load template - LOAD_TEMPLATE("admin_amenu_edit_form"); -} - elseif ((isset($_POST['del'])) && (!IS_DEMO())) -{ - define('__SUB_VALUE', $SUB); - define('__CHK_VALUE', $chk); + 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 ($_POST['sel'] as $sel => $confirm) - { - if ($confirm == 1) - { + $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) - { + $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); + $data = SQL_FETCHARRAY($result); // Prepare data for the row template - $content = array( - 'menu' => $menu, + $data = array( + 'menu' => $data['title'], 'cnt' => $cnt, 'sel' => $sel, 'sw' => $SW ); - $OUT .= LOAD_TEMPLATE("admin_amenu_delete_row", true, $content); - } - else - { + $OUT .= loadTemplate('admin_amenu_delete_row', true, $data); + } else { // Entry not found? - $content = array( + $data = array( 'sw' => $SW, 'sel' => $sel ); - $OUT .= LOAD_TEMPLATE("admin_menu_404_row", true, $content); + $OUT .= loadTemplate('admin_menu_404_row', true, $data); } + SQL_FREERESULT($result); $SW = 3 - $SW; } } - define('__MENU_ROWS', $OUT); - define('__CNT_VALUE', $cnt); + $content['rows'] = $OUT; + $content['cnt'] = $cnt; // Load template - LOAD_TEMPLATE("admin_amenu_delete"); -} elseif ((isset($_POST['ok'])) && (!IS_DEMO())) { + loadTemplate('admin_amenu_delete', 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' + 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, - $_POST['sel_action'][$sel], - $_POST['sel_what'][$sel], - $_POST['sel_desc'][$sel], - $sel, -), __FILE__, __LINE__); - } + array( + $menu, + postRequestElement('sel_action', $sel), + postRequestElement('sel_what', $sel), + postRequestElement('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 + loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED')); + break; - // Load template - LOAD_TEMPLATE("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 - 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 + // Load template + loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED')); + break; - // Load template - LOAD_TEMPLATE("admin_settings_saved", false, getMessage('SETTINGS_SAVED')); - break; - - 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; + default: // Unexpected action + logDebugMessage(__FILE__, __LINE__, sprintf("Unsupported action %s detected.", postRequestElement('ok'))); + loadTemplate('admin_menu_unknown_okay', false, postRequestElement('ok')); + break; } } else { - if ((!empty($_GET['act'])) && (!empty($_GET['tid'])) && (!empty($_GET['fid']))) { - // Get IDs - if (!empty($_GET['w'])) { + 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($_GET['act'], bigintval($_GET['tid'])), __FILE__, __LINE__); + $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($_GET['act'], bigintval($_GET['fid'])), __FILE__, __LINE__); + $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($_GET['tid'])), __FILE__, __LINE__); + $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($_GET['fid'])), __FILE__, __LINE__); + $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($_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); + 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__); + $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__); + $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)) { + // 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++; - if (($sort == 0) || (($sort == 1) && (!empty($SUB)))) { + + // Init navigation variable + $data['navi'] = ''; + if (($data['sort'] == 0) || (($data['sort'] == 1) && (!empty($SUB)))) { // Is highest position - $NAVI = "{--LOWER--}"; + $data['navi'] = "{--LOWER--}"; } elseif ($cnt == $max) { // Is lowest position - $NAVI = "{--HIGHER--}"; - } elseif ($sort > 0) { + $data['navi'] = "{--HIGHER--}"; + } elseif ($data['sort'] > 0) { // Anything else between highest and lowest - $NAVI = "{--HIGHER--}/{--LOWER--}"; + $data['navi'] = "{--HIGHER--}/{--LOWER--}"; } - if (empty($act)) $act = " "; - if (empty($wht)) $wht = " "; - if (empty($title)) $title = " "; - - $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); + // 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); - define('__MENU_ROWS', $OUT); // Load template - LOAD_TEMPLATE("admin_amenu_edit"); + loadTemplate('admin_amenu_edit', false, $content); } else { // Menu entries are missing... (???) - LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_NO_MENUS_FOUND')); + loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NO_MENUS_FOUND')); } }