X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-extensions.php;h=b159ab3d45f43775a758dbb2e9a5253accba9776;hb=49248176a5638be80b148ef55d0dc8c334522bf3;hp=53abc64888c001907ff674f046df8056df910226;hpb=81bfbcd72e424060ea1223b49ad92fcfa150f361;p=mailer.git diff --git a/inc/modules/admin/what-extensions.php b/inc/modules/admin/what-extensions.php index 53abc64888..b159ab3d45 100644 --- a/inc/modules/admin/what-extensions.php +++ b/inc/modules/admin/what-extensions.php @@ -46,11 +46,16 @@ if ((!defined('__SECURITY')) || (!IS_ADMIN())) { ADD_DESCR('admin', __FILE__); // Normally we want the overview of all registered extensions -$do = "overview"; +$do = 'overview'; $SEL = 0; -if (REQUEST_ISSET_POST('sel')) $SEL = countPostSelection(); -if (REQUEST_ISSET_GET(('reg_ext'))) { +// Are some extensions submitted? +if (REQUEST_ISSET_POST('sel')) { + // Then count all + $SEL = countPostSelection(); +} // END - if + +if (REQUEST_ISSET_GET('reg_ext')) { // We are about to register a new extension $do = 'register'; $ext_id = bigintval(REQUEST_GET('reg_ext')); // The ID comes from task management and it is - of course - *not* the extension's name! @@ -65,7 +70,7 @@ if (REQUEST_ISSET_GET(('reg_ext'))) { $ACT = 'N'; $EXT_LOAD_MODE = 'deactivate'; if ($active == 'N') { $ACT = 'Y'; $EXT_LOAD_MODE = 'activate'; } SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET `ext_active`='".$ACT."' WHERE `id`=%s AND `ext_active`='%s' LIMIT 1", - array(bigintval($ext_id), $active), __FILE__, __LINE__); + array(bigintval($ext_id), $active), __FILE__, __LINE__); // Run embeded SQL commands EXTENSION_RUN_SQLS($ext_id, $EXT_LOAD_MODE); @@ -92,11 +97,11 @@ if (REQUEST_ISSET_GET(('reg_ext'))) { if (GET_EXT_VERSION('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(REQUEST_POST('css', $ext_id), $active, $ext_id), __FILE__, __LINE__); + array(REQUEST_POST('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", - array($active, $ext_id), __FILE__, __LINE__); + array($active, $ext_id), __FILE__, __LINE__); } // Run SQLs on activation / deactivation @@ -121,20 +126,20 @@ if (REQUEST_ISSET_GET(('reg_ext'))) { // Load required data if (GET_EXT_VERSION('sql_patches') >= '0.0.6') { $result = SQL_QUERY_ESC("SELECT ext_name, ext_has_css, ext_active FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `id`=%s LIMIT 1", - array(bigintval($ext_id)), __FILE__, __LINE__); + array(bigintval($ext_id)), __FILE__, __LINE__); list($name, $css, $active) = SQL_FETCHROW($result); SQL_FREERESULT($result); } else { $result = SQL_QUERY_ESC("SELECT ext_name, ext_active FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `id`=%s LIMIT 1", - array(bigintval($ext_id)), __FILE__, __LINE__); + array(bigintval($ext_id)), __FILE__, __LINE__); list($name, $active) = SQL_FETCHROW($result); SQL_FREERESULT($result); - $css = "X"; + $css = 'X'; } // Output row $cssSelection = '---'; - if (GET_EXT_VERSION('sql_patches') >= '0.0.6') $cssSelection = ADD_SELECTION('yn', $css, "css", $ext_id); + if (GET_EXT_VERSION('sql_patches') >= '0.0.6') $cssSelection = ADD_SELECTION('yn', $css, 'css', $ext_id); // Prepare data for the row template $content = array( @@ -146,7 +151,7 @@ if (REQUEST_ISSET_GET(('reg_ext'))) { ); // Load row template and switch color - $OUT .= LOAD_TEMPLATE("admin_extensions_edit_row", true, $content); + $OUT .= LOAD_TEMPLATE('admin_extensions_edit_row', true, $content); $SW = 3 - $SW; } } // END - foreach @@ -155,7 +160,7 @@ if (REQUEST_ISSET_GET(('reg_ext'))) { define('__EXTENSIONS_ROWS', $OUT); // Load template - LOAD_TEMPLATE("admin_extensions_edit"); + LOAD_TEMPLATE('admin_extensions_edit'); $do = 'edit'; } } elseif ((REQUEST_ISSET_POST('delete')) && ($SEL > 0) && (!IS_DEMO())) { @@ -190,14 +195,14 @@ if (REQUEST_ISSET_GET(('reg_ext'))) { ); // Load row template and switch color - $OUT .= LOAD_TEMPLATE("admin_extensions_delete_row", true, $content); + $OUT .= LOAD_TEMPLATE('admin_extensions_delete_row', true, $content); $SW = 3 - $SW; } // END - foreach define('__EXTENSIONS_ROWS', $OUT); // Load template - LOAD_TEMPLATE("admin_extensions_delete"); - $do = "delete"; + LOAD_TEMPLATE('admin_extensions_delete'); + $do = 'delete'; } elseif ((REQUEST_ISSET_POST('remove')) && ($SEL > 0) && (!IS_DEMO())) { // Remove extensions from DB (you have to delete all files manually!) $cache_update = 0; @@ -207,9 +212,6 @@ if (REQUEST_ISSET_GET(('reg_ext'))) { // Is this extension selected? if ($active == 1) { - // Run any assigned removal filters - runFilterChain('extension_remove', GET_EXT_NAME($ext_id)); - // Run embeded SQL commands EXTENSION_RUN_SQLS($ext_id, 'remove'); } // END - if @@ -230,32 +232,32 @@ if (REQUEST_ISSET_GET(('active'))) { // Case selection switch ($do) { -case "overview": // List all registered extensions - if (GET_EXT_VERSION('sql_patches') >= '0.0.6') { - // Load extension data with CSS informations - $result = SQL_QUERY("SELECT id AS ext_id, ext_name, ext_active, ext_has_css AS ext_css, ext_version + case 'overview': // List all registered extensions + if (GET_EXT_VERSION('sql_patches') >= '0.0.6') { + // Load extension data with CSS informations + $result = SQL_QUERY("SELECT id AS ext_id, ext_name, ext_active, ext_has_css AS ext_css, ext_version FROM `{!_MYSQL_PREFIX!}_extensions` ".$where." ORDER BY ext_name", __FILE__, __LINE__); - } else { - // Load extension data without CSS informations - $result = SQL_QUERY("SELECT id AS ext_id, ext_name, ext_active, id, ext_version + } else { + // Load extension data without CSS informations + $result = SQL_QUERY("SELECT id AS ext_id, ext_name, ext_active, id, ext_version FROM `{!_MYSQL_PREFIX!}_extensions` ".$where." ORDER BY ext_name", __FILE__, __LINE__); - } + } + + // Are there some entries? + if (SQL_NUMROWS($result) > 0) { + // Extensions are registered + $OUT = ''; $SW = 2; + while ($content = SQL_FETCHARRAY($result)) { + // Prepare CSS selection output + $cssSelection = '---'; + if (GET_EXT_VERSION('sql_patches') >= '0.0.6') $cssSelection = translateYesNo($content['ext_css']); - // Are there some entries? - if (SQL_NUMROWS($result) > 0) { - // Extensions are registered - $OUT = ''; $SW = 2; - while ($content = SQL_FETCHARRAY($result)) { - // Prepare CSS selection output - $cssSelection = '---'; - if (GET_EXT_VERSION('sql_patches') >= '0.0.6') $cssSelection = translateYesNo($content['ext_css']); - - // Prepare data for the row template - $content = array( + // Prepare data for the row template + $content = array( 'sw' => $SW, 'id' => $content['ext_id'], 'name' => $content['ext_name'], @@ -263,107 +265,107 @@ ORDER BY ext_name", __FILE__, __LINE__); 'act_val' => $content['ext_active'], 'css' => $cssSelection, 'ver' => $content['ext_version'], - ); + ); - // Load row template and switch color - $OUT .= LOAD_TEMPLATE("admin_extensions_row", true, $content); - $SW = 3 - $SW; - } + // Load row template and switch color + $OUT .= LOAD_TEMPLATE("admin_extensions_row", true, $content); + $SW = 3 - $SW; + } - // Free memory - SQL_FREERESULT($result); + // Free memory + SQL_FREERESULT($result); - // Remember rows in constant for the template - define('__EXT_ROWS', $OUT); + // Remember rows in constant for the template + define('__EXT_ROWS', $OUT); - // Load template - LOAD_TEMPLATE("admin_extensions"); - } else { - // No extensions are registered - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_NO_EXTENSION_REGISTERED')); - } - break; + // Load template + LOAD_TEMPLATE("admin_extensions"); + } else { + // No extensions are registered + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_NO_EXTENSION_REGISTERED')); + } + break; -case 'register': // Register new extension - $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_task_system` WHERE `assigned_admin`=%s AND `task_type`='EXTENSION' LIMIT 1", + case 'register': // Register new extension + $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_task_system` WHERE `assigned_admin`=%s AND `task_type`='EXTENSION' LIMIT 1", array(getCurrentAdminId()), __FILE__, __LINE__); - $task_found = SQL_NUMROWS($result); + $task_found = SQL_NUMROWS($result); - // Free result - SQL_FREERESULT($result); - - // Is the ID number valid and the task was found? - if (($ext_id > 0) && ($task_found == 1)) { - // 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($ext_id)), __FILE__, __LINE__); - list($subj) = SQL_FETCHROW($result); + // Free result SQL_FREERESULT($result); - // Disable cache update by default - $cache_update = 0; - if (!empty($subj)) { - // Extract extension's name from subject... - $ext_name = trim(substr($subj, 1, strpos($subj, ':') - 1)); - - // Test the extension for deprecation - LOAD_EXTENSION($ext_name, 'test'); - - // Is the extension deprecated? - if (EXT_GET_DEPRECATED() == 'N') { - // ... so we can finally register and load it in registration mode - if (REGISTER_EXTENSION($ext_name, $ext_id)) { - // Extension was found and successfully registered - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_EXTENSION_REGISTERED')); - - // Show next link - if (EXT_IS_ACTIVE('task')) { - LOAD_TEMPLATE('admin_next_link', false, array( + // Is the ID number valid and the task was found? + if (($ext_id > 0) && ($task_found == 1)) { + // 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($ext_id)), __FILE__, __LINE__); + list($subj) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + + // Disable cache update by default + $cache_update = 0; + if (!empty($subj)) { + // Extract extension's name from subject... + $ext_name = trim(substr($subj, 1, strpos($subj, ':') - 1)); + + // Test the extension for deprecation + LOAD_EXTENSION($ext_name, 'test'); + + // Is the extension deprecated? + if (EXT_GET_DEPRECATED() == 'N') { + // ... so we can finally register and load it in registration mode + if (REGISTER_EXTENSION($ext_name, $ext_id)) { + // Extension was found and successfully registered + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_EXTENSION_REGISTERED')); + + // Show next link + if (EXT_IS_ACTIVE('task')) { + LOAD_TEMPLATE('admin_next_link', false, array( 'url' => 'modules.php?module=admin&what=list_task', 'title' => getMessage('ADMIN_EXT_REGISTER_NEXT_LINK') - )); - } else { - LOAD_TEMPLATE('admin_next_link', false, array( + )); + } else { + LOAD_TEMPLATE('admin_next_link', false, array( 'url' => 'modules.php?module=admin', 'title' => getMessage('ADMIN_EXT_REGISTER_NEXT_LINK') - )); + )); + } + + // Do we need to update cache file? + // @TODO Rewrite this to a filter + if ((EXT_IS_ACTIVE('cache')) && ($GLOBALS['cache_mode'] != 'no')) { + // Remove cache file (will be auto-created again!) + if ($GLOBALS['cache_instance']->loadCacheFile('config')) $GLOBALS['cache_instance']->destroyCacheFile(); + if ($GLOBALS['cache_instance']->loadCacheFile('extensions', true)) $GLOBALS['cache_instance']->destroyCacheFile(); + if ($GLOBALS['cache_instance']->loadCacheFile('modreg')) $GLOBALS['cache_instance']->destroyCacheFile(); + } // END - if + } elseif (GET_EXT_VERSION($ext_name) != '') { + // Notify the admin that we have a problem here... + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_ALREADY')); + } else { + // Notify the admin that we have a problem here... + LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('ADMIN_REG_FAILED_404'), $ext_name)); } - - // Do we need to update cache file? - // @TODO Rewrite this to a filter - if ((EXT_IS_ACTIVE('cache')) && ($GLOBALS['cache_mode'] != 'no')) { - // Remove cache file (will be auto-created again!) - if ($GLOBALS['cache_instance']->loadCacheFile('config')) $GLOBALS['cache_instance']->destroyCacheFile(); - if ($GLOBALS['cache_instance']->loadCacheFile('extensions', true)) $GLOBALS['cache_instance']->destroyCacheFile(); - if ($GLOBALS['cache_instance']->loadCacheFile('modreg')) $GLOBALS['cache_instance']->destroyCacheFile(); - } // END - if - } elseif (GET_EXT_VERSION($ext_name) != '') { - // Notify the admin that we have a problem here... - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_ALREADY')); } else { - // Notify the admin that we have a problem here... - LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('ADMIN_REG_FAILED_404'), $ext_name)); + // Motify the admin that we have a problem here... + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_DEPRECATED')); } } else { - // Motify the admin that we have a problem here... - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_DEPRECATED')); + // Extension was not found in task management + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_ID_404')); } + } elseif ($task_found == '0') { + // No longer assigned or old task + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_ASSIGED')); } else { - // Extension was not found in task management - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_ID_404')); + // ID is invalid + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_INVALID')); } - } elseif ($task_found == '0') { - // No longer assigned or old task - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_ASSIGED')); - } else { - // ID is invalid - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_REG_FAILED_INVALID')); - } - break; + break; -case 'demo': - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('SETTINGS_NOT_SAVED')); - break; + case 'demo': + LOAD_TEMPLATE('admin_settings_saved', false, getMessage('SETTINGS_NOT_SAVED')); + break; } // ?>