X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-extensions.php;h=af439d78c36529520ced37b279243b29008437b2;hp=6774b62377cbb1937b1e06ec520561921d1b6c5f;hb=cd7d344ea7007cfa20413acd3e03e50f0ab86d86;hpb=c76a064ef78992c6eab593314d51f1841f8fb266 diff --git a/inc/modules/admin/what-extensions.php b/inc/modules/admin/what-extensions.php index 6774b62377..af439d78c3 100644 --- a/inc/modules/admin/what-extensions.php +++ b/inc/modules/admin/what-extensions.php @@ -16,8 +16,8 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2013 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -43,22 +43,22 @@ if ((!defined('__SECURITY')) || (!isAdmin())) { // Add description as navigation point addYouAreHereLink('admin', __FILE__); -// Normally we want the overview of all registered extensions +// By default generate overview of all installed extensions $do = 'overview'; -if (isGetRequestParameterSet('reg_ext')) { +if (isGetRequestElementSet('register_ext')) { // We are about to register a new extension - $do = 'register'; - $taskId = determineExtensionTaskId(getRequestParameter('reg_ext')); + $do = 'setup'; + $taskId = determineExtensionTaskId(getRequestElement('register_ext')); // The id comes from task management and it is - of course - *not* the extension's name! } elseif ((isFormSent('change')) && (ifPostContainsSelections()) && (!isDemoModeActive())) { // De-/activate extensions - foreach (postRequestParameter('sel') as $ext_id => $ext_active) { + foreach (postRequestElement('sel') as $ext_id => $ext_active) { // Shall we keep the extension always active? if ((isset($GLOBALS['cache_array']['always_active'][getExtensionName($ext_id)])) && ($GLOBALS['cache_array']['always_active'][getExtensionName($ext_id)] == 'Y') && ($ext_active == 'Y')) { // Keep this extension active! - displayMessage(getMaskedMessage('ADMIN_EXTENSION_ALWAYS_ACTIVE', getExtensionName($ext_id))); + displayMessage('{%message,ADMIN_EXTENSION_ALWAYS_ACTIVE=' . $ext_id . '%}'); } else { // Deactivation is default $active = 'N'; @@ -73,7 +73,11 @@ if (isGetRequestParameterSet('reg_ext')) { // Update database SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_extensions` SET `ext_active`='%s' WHERE `id`=%s AND `ext_active`='%s' LIMIT 1", - array($active, bigintval($ext_id), $ext_active), __FILE__, __LINE__); + array( + $active, + bigintval($ext_id), + $ext_active + ), __FILE__, __LINE__); // Run embeded SQL commands doExtensionSqls($ext_id, getExtensionMode()); @@ -82,12 +86,12 @@ if (isGetRequestParameterSet('reg_ext')) { // Redirect to prevent missing cache in js.php redirectToUrl('modules.php?module=admin&what=extensions&changed=' . countPostSelection()); -} elseif (((isFormSent('edit')) || (isPostRequestParameterSet('modify'))) && (ifPostContainsSelections()) && (!isDemoModeActive())) { +} elseif (((isFormSent('edit')) || (isPostRequestElementSet('do_edit'))) && (ifPostContainsSelections()) && (!isDemoModeActive())) { // Change settings like CSS file load - if (isPostRequestParameterSet('modify')) { + if (isPostRequestElementSet('do_edit')) { // Change entries $cache_update = '0'; - foreach (postRequestParameter('sel') as $ext_id => $sel) { + foreach (postRequestElement('sel') as $ext_id => $sel) { // Secure id $ext_id = bigintval($ext_id); @@ -97,13 +101,13 @@ if (isGetRequestParameterSet('reg_ext')) { setExtensionMode('modify'); // Get entry for 'active' - $active = postRequestParameter('active', $ext_id); + $active = postRequestElement('active', $ext_id); // Update extension's record if (isExtensionInstalledAndNewer('sql_patches', '0.0.6')) { - // Update also CSS column when extensions sql_patches is newer or exact v0.0.6 - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_extensions` SET `ext_has_css`='%s', `ext_active`='%s' WHERE `id`=%s LIMIT 1", - array(postRequestParameter('css', $ext_id), $active, $ext_id), __FILE__, __LINE__); + // Update also CSS column when extensions ext-sql_patches is newer or exact v0.0.6 + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_extensions` SET `ext_has_css`='%s',`ext_active`='%s' WHERE `id`=%s LIMIT 1", + array(postRequestElement('css', $ext_id), $active, $ext_id), __FILE__, __LINE__); } else { // When extension is older than v0.0.6 there is no column for the CSS information SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_extensions` SET `ext_active`='%s' WHERE `id`=%s LIMIT 1", @@ -126,7 +130,7 @@ if (isGetRequestParameterSet('reg_ext')) { } else { // Edit selected entries $OUT = ''; - foreach (postRequestParameter('sel') as $ext_id => $sel) { + foreach (postRequestElement('sel') as $ext_id => $sel) { // Edit this extension? if (($sel == 'Y') || ($sel != 'Y')) { // Default is no CSS for non-updated mailers @@ -161,18 +165,18 @@ if (isGetRequestParameterSet('reg_ext')) { ); // Load row template and switch color - $OUT .= loadTemplate('admin_extensions_edit_row', true, $content); + $OUT .= loadTemplate('admin_edit_extensions_row', TRUE, $content); } // END - if } // END - foreach // Load template - loadTemplate('admin_extensions_edit', false, $OUT); + loadTemplate('admin_edit_extensions', FALSE, $OUT); $do = 'edit'; } -} elseif ((isPostRequestParameterSet('delete')) && (ifPostContainsSelections()) && (!isDemoModeActive())) { +} elseif ((isPostRequestElementSet('delete')) && (ifPostContainsSelections()) && (!isDemoModeActive())) { // List extensions and when verbose is enabled SQL statements which will be executed $OUT = ''; - foreach (postRequestParameter('sel') as $ext_id => $sel) { + foreach (postRequestElement('sel') as $ext_id => $sel) { // Init variables $VERBOSE_OUT = ''; initSqls(); @@ -188,7 +192,7 @@ if (isGetRequestParameterSet('reg_ext')) { // Listing of SQLs enabled? if (isVerboseSqlEnabled()) { // Load SQL commands in remove mode - if (loadExtension($ext_name, 'remove', '0.0.0', true)) { + if (loadExtension($ext_name, 'remove', '0.0.0', TRUE)) { // Generate extra table with loaded SQL commands $VERBOSE_OUT = addExtensionVerboseSqlTable(); } // END - if @@ -202,7 +206,7 @@ if (isGetRequestParameterSet('reg_ext')) { ); // Load row template and switch color - $OUT .= loadTemplate('admin_extensions_delete_row', true, $content); + $OUT .= loadTemplate('admin_delete_extensions_row', TRUE, $content); } else { // Prepare data for the row template $content = array( @@ -210,17 +214,17 @@ if (isGetRequestParameterSet('reg_ext')) { ); // Not valid! - $OUT .= loadTemplate('admin_extensions_delete_row_404', true, $content); + $OUT .= loadTemplate('admin_delete_extensions_row_404', TRUE, $content); } } // END - foreach // Load template - loadTemplate('admin_extensions_delete', false, $OUT); + loadTemplate('admin_delete_extensions', FALSE, $OUT); $do = 'delete'; } elseif ((isFormSent('do_delete')) && (ifPostContainsSelections()) && (!isDemoModeActive())) { // Remove extensions from DB (you have to delete all files manually!) $cache_update = '0'; - foreach (postRequestParameter('sel') as $ext_id => $active) { + foreach (postRequestElement('sel') as $ext_id => $active) { // Secure id number $ext_id = bigintval($ext_id); @@ -233,43 +237,43 @@ if (isGetRequestParameterSet('reg_ext')) { // Redirect to prevent missing cache in js.php redirectToUrl('modules.php?module=admin&what=extensions&removed=' . countPostSelection()); -} elseif ((isGetRequestParameterSet('do')) && (!isDemoModeActive())) { +} elseif ((isGetRequestElementSet('do')) && (!isDemoModeActive())) { // Other things to do - $do = SQL_ESCAPE(secureString(getRequestParameter('do'))); -} elseif (isGetRequestParameterSet('do')) { + $do = getRequestElement('do'); +} elseif (isGetRequestElementSet('do')) { // Demo mode active! $do = 'demo'; -} elseif (isGetRequestParameterSet('registered')) { +} elseif (isGetRequestElementSet('registered')) { // Extensions changed - displayMessage(getMaskedMessage('ADMIN_EXTENSION_REGISTERED', getExtensionName(getRequestParameter('registered')))); + displayMessage('{%message,ADMIN_EXTENSION_REGISTERED=' . getExtensionName(getRequestElement('registered')) . '%}'); // Show next link if (isExtensionActive('task')) { - loadTemplate('admin_next_link', false, array( + loadTemplate('admin_next_link', FALSE, array( 'url' => 'modules.php?module=admin&what=list_task', 'title' => '{--ADMIN_EXTENSION_REGISTER_NEXT_LINK--}' )); } else { - loadTemplate('admin_next_link', false, array( + loadTemplate('admin_next_link', FALSE, array( 'url' => 'modules.php?module=admin', 'title' => '{--ADMIN_EXTENSION_REGISTER_NEXT_LINK--}' )); } -} elseif (isGetRequestParameterSet('changed')) { +} elseif (isGetRequestElementSet('changed')) { // Extensions changed - displayMessage(getMaskedMessage('ADMIN_EXTENSION_CHANGED', bigintval(getRequestParameter('changed')))); -} elseif (isGetRequestParameterSet('edited')) { + displayMessage('{%message,ADMIN_EXTENSION_CHANGED=' . bigintval(getRequestElement('changed')) . '%}'); +} elseif (isGetRequestElementSet('edited')) { // Extensions changed - displayMessage(getMaskedMessage('ADMIN_EXTENSION_EDITED', bigintval(getRequestParameter('edited')))); -} elseif (isGetRequestParameterSet('removed')) { + displayMessage('{%message,ADMIN_EXTENSION_EDITED=' . bigintval(getRequestElement('edited')) . '%}'); +} elseif (isGetRequestElementSet('removed')) { // Extensions changed - displayMessage(getMaskedMessage('ADMIN_EXTENSIONS_REMOVED', bigintval(getRequestParameter('removed')))); + displayMessage('{%message,ADMIN_EXTENSIONS_REMOVED=' . bigintval(getRequestElement('removed')) . '%}'); } // Shall we display active/inactive extensions? $where = ''; -if (isGetRequestParameterSet('active')) { - $where = sprintf("WHERE `ext_active`='%s'", SQL_ESCAPE(secureString(getRequestParameter('active')))); +if (isGetRequestElementSet('active')) { + $where = sprintf("WHERE `ext_active`='%s'", SQL_ESCAPE(getRequestElement('active'))); } // END - if // Case selection @@ -277,7 +281,7 @@ switch ($do) { case 'overview': // List all registered extensions if (isExtensionInstalledAndNewer('sql_patches', '0.0.6')) { // Load extension data with CSS informations - $result = SQL_QUERY("SELECT + $result = SQL_QUERY('SELECT `id` AS `ext_id`, `ext_name`, `ext_active`, @@ -285,21 +289,21 @@ switch ($do) { `ext_version` FROM `{?_MYSQL_PREFIX?}_extensions` -".$where." +' . $where . ' ORDER BY - `ext_name` ASC", __FILE__, __LINE__); + `ext_name` ASC', __FILE__, __LINE__); } else { // Load extension data without CSS informations - $result = SQL_QUERY("SELECT + $result = SQL_QUERY('SELECT `id` AS `ext_id`, `ext_name`, `ext_active`, `ext_version` FROM `{?_MYSQL_PREFIX?}_extensions` -".$where." +' . $where . ' ORDER BY - `ext_name` ASC", __FILE__, __LINE__); + `ext_name` ASC', __FILE__, __LINE__); } // Are there some entries? @@ -317,26 +321,26 @@ ORDER BY $content['ext_css'] = $cssSelection; // Load row template and switch color - $OUT .= loadTemplate('admin_extensions_row', true, $content); + $OUT .= loadTemplate('admin_list_extensions_row', TRUE, $content); } // END - while // Free memory SQL_FREERESULT($result); // Load template - loadTemplate('admin_extensions', false, $OUT); + loadTemplate('admin_list_extensions', FALSE, $OUT); } else { // No extensions are registered displayMessage('{--ADMIN_NO_EXTENSION_REGISTERED--}'); } break; - case 'register': // Register new extension - // Do we have some tasks? - $numTasks = countSumTotalData(getCurrentAdminId(), 'task_system', 'id', 'assigned_admin', true, "AND `task_type`='EXTENSION'"); + case 'setup': // Setup new extension + // Are there some tasks? + $numTasks = countSumTotalData(getCurrentAdminId(), 'task_system', 'id', 'assigned_admin', TRUE, "AND `task_type`='EXTENSION'"); // Is the id number valid and the task was found? - if (($taskId > 0) && ($numTasks > 0)) { + if ((isValidId($taskId)) && ($numTasks > 0)) { // id is valid so begin with registration, we first want to it's real name from task management (subject column) $result = SQL_QUERY_ESC("SELECT `subject` FROM `{?_MYSQL_PREFIX?}_task_system` WHERE `id`=%s LIMIT 1", array(bigintval($taskId)), __FILE__, __LINE__); @@ -358,30 +362,30 @@ ORDER BY if (!isExtensionDeprecated()) { // ... so we can finally register and load it in registration mode if (registerExtension($ext_name, $taskId)) { + // Do we need to update cache file? + // @TODO Rewrite this to a filter + if (isExtensionActive('cache')) { + // Remove cache file (will be auto-created again!) + foreach (array('config', 'extension', 'filter', 'modules') as $cache) { + // Rebuild cache file + rebuildCache($cache); + } // END - foreach + } // END - if + // Errors? if (!ifFatalErrorsDetected()) { // Extension was found and successfully registered redirectToUrl('modules.php?module=admin&what=extensions&registered=' . getExtensionId($ext_name)); } else { // Errors detected! - displayMessage(getMaskedMessage('ADMIN_EXTENSION_NOT_REGISTERED', $ext_name)); + displayMessage('{%message,ADMIN_EXTENSION_NOT_REGISTERED=' . $ext_name . '%}'); } - - // Do we need to update cache file? - // @TODO Rewrite this to a filter - if (isExtensionActive('cache')) { - // Remove cache file (will be auto-created again!) - if ($GLOBALS['cache_instance']->loadCacheFile('config')) $GLOBALS['cache_instance']->removeCacheFile(); - if ($GLOBALS['cache_instance']->loadCacheFile('extension')) $GLOBALS['cache_instance']->removeCacheFile(); - if ($GLOBALS['cache_instance']->loadCacheFile('filter')) $GLOBALS['cache_instance']->removeCacheFile(); - if ($GLOBALS['cache_instance']->loadCacheFile('modules')) $GLOBALS['cache_instance']->removeCacheFile(); - } // END - if } elseif (isExtensionInstalled($ext_name)) { // Notify the admin that we have a problem here... displayMessage('{--ADMIN_EXTENSION_REGISTRATION_FAILED_ALREADY--}'); } else { // Notify the admin that we have a problem here... - displayMessage(getMaskedMessage('ADMIN_EXTENSION_REGISTRATION_FAILED_404', $ext_name)); + displayMessage('{%message,ADMIN_EXTENSION_REGISTRATION_FAILED_404=' . $ext_name . '%}'); } } else { // Motify the admin that we have a problem here...