* $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 - 2009 by Roland Haeder *
- * Copyright (c) 2009, 2010 by Mailer Developer Team *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
// Some security stuff...
if ((!defined('__SECURITY')) || (!isAdmin())) {
die();
-}
+} // END - if
// Add description as navigation point
-addMenuDescription('admin', __FILE__);
+addYouAreHereLink('admin', __FILE__);
// Do we edit/delete/change main menus or sub menus?
$AND = "(`what` = '' OR `what` IS NULL)"; $SUB = '';
if (isGetRequestParameterSet('sub')) {
- $AND = sprintf("`action`='%s' AND `what` IS NOT NULL", getRequestParameter('sub'));
+ $AND = sprintf("`action`='%s' AND `what` != '' AND `what` IS NOT NULL", getRequestParameter('sub'));
$SUB = getRequestParameter('sub');
} // END - if
// List all menu points and make them editable
-if ((isPostRequestParameterSet('edit')) && (countPostSelection() > 0) && (!isDemoModeActive())) {
+if ((isFormSent('edit')) && (ifPostContainsSelections()) && (!isDemoModeActive())) {
// Edit menu entries
// @TODO Kill all constants in this file
$content['sub'] = $SUB;
$content['chk'] = countPostSelection();
- $cnt = '0'; $SW = 2;
+ $count = '0'; $OUT = '';
foreach (postRequestParameter('sel') as $sel => $confirm) {
if ($confirm == 1) {
- $cnt++;
+ $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) {
$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,
+ 'cnt' => $count,
);
// Load row template
- $OUT .= loadTemplate('admin_amenu_edit_row', true, $data);
+ $OUT .= loadTemplate('admin_edit_admin_menu_row', true, $data);
} else {
// Entry not found?
$data = array(
- 'sw' => $SW,
'sel' => $sel
);
// Free result and switch color
SQL_FREERESULT($result);
- $SW = 3 - $SW;
} // END - if
} // END - foreach
$content['rows'] = $OUT;
- $content['cnt'] = $cnt;
+ $content['cnt'] = $count;
// Load template
- loadTemplate('admin_amenu_edit_form', false, $content);
-} elseif ((isPostRequestParameterSet('del')) && (countPostSelection() > 0) && (!isDemoModeActive())) {
+ 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 = '';
+ $count = '0'; $OUT = '';
foreach (postRequestParameter('sel') as $sel => $confirm) {
if ($confirm == 1) {
- $cnt++;
+ $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) {
// Prepare data for the row template
$data = array(
'menu' => $data['title'],
- 'cnt' => $cnt,
+ 'cnt' => $count,
'sel' => $sel,
- 'sw' => $SW
);
- $OUT .= loadTemplate('admin_amenu_delete_row', true, $data);
+ $OUT .= loadTemplate('admin_delete_admin_menu_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 - switch
$content['rows'] = $OUT;
- $content['cnt'] = $cnt;
+ $content['cnt'] = $count;
// Load template
- loadTemplate('admin_amenu_delete', false, $content);
+ loadTemplate('admin_delete_admin_menu', false, $content);
} elseif ((isFormSent()) && (!isDemoModeActive())) {
// An action is done...
switch (postRequestParameter('ok')) {
$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",
+ 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,
+ $menu,
+ postRequestParameter('sel_action', $sel),
+ postRequestParameter('sel_what', $sel),
+ postRequestParameter('sel_desc', $sel),
+ $sel,
), __FILE__, __LINE__);
}
// Load template
- loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED'));
+ displayMessage('{--SETTINGS_SAVED--}');
break;
- case 'del': // Delete menu
+ 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
- loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED'));
+ displayMessage('{--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')));
+ displayMessage('{%message,ADMIN_UNKNOWN_OKAY=' . postRequestParameter('ok') . '%}');
break;
- }
+ } // END - switch
} 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?}_admin_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("SELECT `id` FROM `{?_MYSQL_PREFIX?}_admin_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?}_admin_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?}_admin_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);
- }
+ // Handle weightning
+ doAdminProcessMenuWeightning('admin', $AND);
- 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(getRequestParameter('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(getRequestParameter('fid')), bigintval($tid)), __FILE__, __LINE__);
- }
- }
+ // Run SQL
+ $result = SQL_QUERY("SELECT `id`, `action`, `what`, `title`, `sort` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE ".$AND." ORDER BY `sort` ASC", __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) {
+ // Do we have entries?
+ if (!SQL_HASZERONUMS($result)) {
// Remember sub value
$content['sub'] = $SUB;
// Init variables
- $OUT = ''; $SW = 2; $cnt = '0';
+ $OUT = '';
+ $count = '0';
// Process all entries
while ($data = SQL_FETCHARRAY($result)) {
// Count this entry
- $cnt++;
+ $count++;
// Init navigation variable
$data['navi'] = '';
if (($data['sort'] == '0') || (($data['sort'] == 1) && (!empty($SUB)))) {
// Is highest position
$data['navi'] = '<a href="{%url=modules.php?module=admin&what=adminedit&sub=' . $content['sub'] . '&act=' . $data['action'] . '&w=' . $data['what'] . '&tid=' . ($data['sort']+1) . '&fid=' . $data['sort'] . '%}">{--LOWER--}</a>';
- } elseif ($cnt == $max) {
+ } elseif ($count == SQL_NUMROWS($result)) {
// Is lowest position
$data['navi'] = '<a href="{%url=modules.php?module=admin&what=adminedit&sub=' . $content['sub'] . '&act=' . $data['action'] . '&w=' . $data['what'] . '&tid=' . ($data['sort']-1) . '&fid=' . $data['sort'] . '%}">{--HIGHER--}</a>';
} elseif ($data['sort'] > 0) {
// Anything else between highest and lowest
- $data['navi'] = '<a href="{%url=modules.php?module=admin&what=adminedit&sub=' . $content['sub'] . '&act=' . $data['action'] . '&w=' . $data['what'] . '&tid=' . ($data['sort']-1) . '&fid=' . $data['sort'] . '%}">{--HIGHER--}</a>/<a href="{%url=modules.php?module=admin&what=adminedit&sub=' . $content['sub'] . '&act=' . $data['action'] . '&w=' . $data['what'] . '&tid=' . ($data['sort']+1) . '&fid=' . $data['sort'] . '%}">{--LOWER--}</a>';
+ $data['navi'] = '<a href="{%url=modules.php?module=admin&what=adminedit&sub=' . $content['sub'] . '&act=' . $data['action'] . '&w=' . $data['what'] . '&tid=' . ($data['sort']-1) . '&fid=' . $data['sort'] . '%}">{--HIGHER--}</a>|<a href="{%url=modules.php?module=admin&what=adminedit&sub=' . $content['sub'] . '&act=' . $data['action'] . '&w=' . $data['what'] . '&tid=' . ($data['sort']+1) . '&fid=' . $data['sort'] . '%}">{--LOWER--}</a>';
}
- // 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
SQL_FREERESULT($result);
// Load template
- loadTemplate('admin_amenu_edit', false, $content);
+ loadTemplate('admin_edit_admin_menu', false, $content);
} else {
// Menu entries are missing... (???)
- loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NO_MENUS_FOUND'));
+ displayMessage('{--ADMIN_NO_MENUS_FOUND--}');
}
}