X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions.php;h=765d1d8100b7c582068f4ca8445f558c1737eeeb;hp=58f22fd02851b776555ab1b8b9c8eb2d69d27b9d;hb=30986f637cd3c03951bdbfc880b9a420f7724ce0;hpb=81bfbcd72e424060ea1223b49ad92fcfa150f361 diff --git a/inc/extensions.php b/inc/extensions.php index 58f22fd028..765d1d8100 100644 --- a/inc/extensions.php +++ b/inc/extensions.php @@ -61,6 +61,8 @@ function LOAD_EXTENSION ($ext_name, $EXT_LOAD_MODE = '', $EXT_VER = '', $dry_run if ((isset($GLOBALS['ext_loaded']['ext'][$ext_name])) && (empty($EXT_LOAD_MODE))) { // Debug message DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Extension %s already loaded.", $ext_name)); + + // Abort here return false; } // END - if @@ -71,7 +73,7 @@ function LOAD_EXTENSION ($ext_name, $EXT_LOAD_MODE = '', $EXT_VER = '', $dry_run // Is the extension file NOT there? if (!isIncludeReadable($INC)) { // Debug message - DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Extension %s not found.", $ext_name)); + DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Extension %s not found or not readable.", $ext_name)); // Abort here return false; @@ -86,7 +88,12 @@ function LOAD_EXTENSION ($ext_name, $EXT_LOAD_MODE = '', $EXT_VER = '', $dry_run //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "--- Language loaded."); $GLOBALS['ext_loaded']['lang'][$ext_name] = true; loadIncludeOnce($langInclude); - } // END - if + } elseif ($ext_name != 'sql_patches') { + // No language file is not so good... + DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("WARNING: Extension %s has no language file or we cannot read from it. lang=%s", + $ext_name, getLanguage() + )); + } // Construct FQFN for functions file $funcsInclude = sprintf("inc/libs/%s_functions.php", $ext_name); @@ -97,6 +104,11 @@ function LOAD_EXTENSION ($ext_name, $EXT_LOAD_MODE = '', $EXT_VER = '', $dry_run //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "--- Functions loaded."); $GLOBALS['ext_loaded']['funcs'][$ext_name] = true; loadIncludeOnce($funcsInclude); + } elseif ($ext_name != 'sql_patches') { + // No functions file is not so good... + DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("WARNING: Extension %s has no own functions file or we cannot read from it.", + $ext_name + )); } // END - if // Extensions are not deprecated by default @@ -106,7 +118,7 @@ function LOAD_EXTENSION ($ext_name, $EXT_LOAD_MODE = '', $EXT_VER = '', $dry_run EXT_SET_ALWAYS_ACTIVE('N'); // Extension update notes - EXT_SET_UPDATE_NOTES(""); + EXT_SET_UPDATE_NOTES(''); // Include the extension file //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "Extension loaded."); @@ -164,8 +176,8 @@ function REGISTER_EXTENSION ($ext_name, $task_id, $dry_run = false, $logout = tr if (($task_id == 0) && (!$dry_run)) { // Then request a bug report debug_report_bug(sprintf("%s: task_id is still zero after DETERMINE_EXTENSION_TASK_ID(%s)", - __FUNCTION__, - EXT_GET_CURR_NAME() + __FUNCTION__, + EXT_GET_CURR_NAME() )); } // END - if } // END - if @@ -277,7 +289,7 @@ function REGISTER_EXTENSION ($ext_name, $task_id, $dry_run = false, $logout = tr // Register extension //* DEBUG: */ print __FUNCTION__."[".__LINE__."]:insert=".EXT_GET_CURR_NAME().'/'.EXT_GET_VERSION()." - INSERT!
\n"; SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_extensions` (ext_name, ext_active, ext_version) VALUES ('%s','%s','%s')", - array(EXT_GET_CURR_NAME(), EXT_GET_ALWAYS_ACTIVE(), EXT_GET_VERSION()), __FUNCTION__, __LINE__); + array(EXT_GET_CURR_NAME(), EXT_GET_ALWAYS_ACTIVE(), EXT_GET_VERSION()), __FUNCTION__, __LINE__); // Remove cache file(s) if extension is active runFilterChain('post_extension_installed', array('ext_name' => EXT_GET_CURR_NAME(), 'task_id' => $task_id)); @@ -316,7 +328,7 @@ function REGISTER_EXTENSION ($ext_name, $task_id, $dry_run = false, $logout = tr //* DEBUG: */ print __FUNCTION__."[".__LINE__."]:currName=".EXT_GET_CURR_NAME()."
\n"; // Remove task from system when id and extension's name is valid SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_task_system` WHERE `id`=%s AND `status`='NEW' LIMIT 1", - array(bigintval($task_id)), __FUNCTION__, __LINE__); + array(bigintval($task_id)), __FUNCTION__, __LINE__); } // Is this the sql_patches? @@ -328,7 +340,7 @@ function REGISTER_EXTENSION ($ext_name, $task_id, $dry_run = false, $logout = tr redirectToUrl('modules.php?module=admin&logout=1&' . $EXT_LOAD_MODE . '=sql_patches'); } else { // Add temporary filter - REGISTER_FILTER('shutdown', 'REDIRECT_TO_LOGOUT_SQL_PATCHES', true, true); + registerFilter('shutdown', 'REDIRECT_TO_LOGOUT_SQL_PATCHES', true, true); $GLOBALS['ext_load_mode'] = $EXT_LOAD_MODE; } } // END - if @@ -380,7 +392,7 @@ function EXTENSION_RUN_SQLS ($ext_id, $load_mode) { if ($load_mode == 'remove') { // Delete this extension (remember to remove it from your server *before* you click on welcome! SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1", - array(EXT_GET_CURR_NAME()), __FUNCTION__, __LINE__); + array(EXT_GET_CURR_NAME()), __FUNCTION__, __LINE__); } // END - if } // END - if @@ -422,7 +434,7 @@ function EXT_IS_ACTIVE ($ext_name) { //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "DB! ext_name={$ext_name}"); // Load from database $result = SQL_QUERY_ESC("SELECT ext_active FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1", - array($ext_name), __FUNCTION__, __LINE__); + array($ext_name), __FUNCTION__, __LINE__); // Entry found? if (SQL_NUMROWS($result) == 1) { @@ -474,7 +486,7 @@ function GET_EXT_VERSION ($ext_name) { } elseif (!isCacheInstanceValid()) { // Load from database $result = SQL_QUERY_ESC("SELECT ext_version FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1", - array($ext_name), __FUNCTION__, __LINE__); + array($ext_name), __FUNCTION__, __LINE__); //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, ": DB - ".SQL_NUMROWS($result).""); // Is the extension there? @@ -566,7 +578,7 @@ function EXTENSION_UPDATE ($ext_name, $ext_ver, $dry_run = false) { // Update extension's version SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET ext_version='%s' WHERE `ext_name`='%s' LIMIT 1", - array($GLOBALS['cache_array']['update_ver'][EXT_GET_CURR_NAME()], EXT_GET_CURR_NAME()), __FUNCTION__, __LINE__); + array($GLOBALS['cache_array']['update_ver'][EXT_GET_CURR_NAME()], EXT_GET_CURR_NAME()), __FUNCTION__, __LINE__); // Remove arrays UNSET_SQLS(); @@ -579,7 +591,7 @@ function EXTENSION_UPDATE ($ext_name, $ext_ver, $dry_run = false) { } // Output verbose SQL table for extension -function EXTENSION_VERBOSE_TABLE ($queries = array(), $title = '', $dashed = '', $switch = false, $width = "100%") { +function EXTENSION_VERBOSE_TABLE ($queries = array(), $title = '', $dashed = '', $switch = false, $width = '100%') { // Empty title? if (empty($title)) { // Then fix it to default @@ -654,7 +666,7 @@ function GET_EXT_NAME ($ext_id) { } elseif (!EXT_IS_ACTIVE('cache')) { // Load from database $result = SQL_QUERY_ESC("SELECT ext_name FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `id`=%s LIMIT 1", - array(bigintval($ext_id)), __FUNCTION__, __LINE__); + array(bigintval($ext_id)), __FUNCTION__, __LINE__); list($ret) = SQL_FETCHROW($result); SQL_FREERESULT($result); } @@ -674,7 +686,7 @@ function GET_EXT_ID ($ext_name) { } elseif (!EXT_IS_ACTIVE('cache')) { // Load from database $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1", - array($ext_name), __FUNCTION__, __LINE__); + array($ext_name), __FUNCTION__, __LINE__); list($ret) = SQL_FETCHROW($result); SQL_FREERESULT($result); } @@ -687,7 +699,7 @@ function GET_EXT_ID ($ext_name) { function ACTIVATE_EXTENSION ($ext_name) { // Activate the extension SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET `ext_active`='Y' WHERE `ext_name`='%s' LIMIT 1", - array($ext_name), __FUNCTION__, __LINE__); + array($ext_name), __FUNCTION__, __LINE__); // Extension has been activated? if (SQL_AFFECTEDROWS() == 1) { @@ -700,7 +712,7 @@ function ACTIVATE_EXTENSION ($ext_name) { function DEACTIVATE_EXTENSION($ext_name) { // Activate the extension SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET `ext_active`='N' WHERE `ext_name`='%s' LIMIT 1", - array($ext_name), __FUNCTION__, __LINE__); + array($ext_name), __FUNCTION__, __LINE__); // Extension has been activated? if (SQL_AFFECTEDROWS() == 1) { @@ -712,9 +724,9 @@ function DEACTIVATE_EXTENSION($ext_name) { // Notify the admin sendAdminNotification( - getMessage('ADMIN_SUBJECT_EXTENSION_DEACTIVATED'), + getMessage('ADMIN_SUBJECT_EXTENSION_DEACTIVATED'), 'admin_ext_deactivated', - array('ext_name' => $ext_name) + array('ext_name' => $ext_name) ); } // END - if } @@ -743,7 +755,7 @@ function CREATE_EXTENSION_UPDATE_TASK ($admin_id, $ext_name, $ext_ver, $notes) { if (DETERMINE_TASK_ID_BY_SUBJECT($subject) == 0) { // Task not created so it's a brand-new extension which we need to register and create a task for! SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (assigned_admin, userid, status, task_type, subject, text, task_created) VALUES ('%s','0','NEW','EXTENSION_UPDATE','%s','%s', UNIX_TIMESTAMP())", - array($admin_id, $subject, $notes), __FUNCTION__, __LINE__); + array($admin_id, $subject, $notes), __FUNCTION__, __LINE__); } // END - if } // END - if } @@ -754,9 +766,9 @@ function CREATE_NEW_EXTENSION_TASK ($admin_id, $subject, $ext) { if ((DETERMINE_TASK_ID_BY_SUBJECT($subject) == 0) && (GET_EXT_VERSION($ext) == '')) { // Template file $tpl = sprintf("%stemplates/%s/html/ext/ext_%s.tpl", - constant('PATH'), - getLanguage(), - $ext + constant('PATH'), + getLanguage(), + $ext ); // Set default message if ext-foo is missing @@ -774,11 +786,11 @@ function CREATE_NEW_EXTENSION_TASK ($admin_id, $subject, $ext) { // Task not created so it's a brand-new extension which we need to register and create a task for! SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (assigned_admin, userid, status, task_type, subject, text, task_created) VALUES (%s, 0, 'NEW', 'EXTENSION', '%s', '%s', UNIX_TIMESTAMP())", - array( - $admin_id, - $subject, - smartAddSlashes($msg), - ), __FUNCTION__, __LINE__, true, false, false + array( + $admin_id, + $subject, + smartAddSlashes($msg), + ), __FUNCTION__, __LINE__, true, false, false ); } // END - if } @@ -793,10 +805,10 @@ function CREATE_EXTENSION_DEACTIVATION_TASK ($ext) { // Task not created so add it SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (assigned_admin, userid, status, task_type, subject, text, task_created) VALUES (0, 0, 'NEW', 'EXTENSION_DEACTIVATION', '%s', '%s', UNIX_TIMESTAMP())", - array( - $subject, - SQL_ESCAPE(LOAD_TEMPLATE('task_ext_deactivated', true, $ext)), - ), __FUNCTION__, __LINE__, true, false + array( + $subject, + SQL_ESCAPE(LOAD_TEMPLATE('task_ext_deactivated', true, $ext)), + ), __FUNCTION__, __LINE__, true, false ); } // END - if } @@ -824,7 +836,7 @@ function MODULE_HAS_MENU ($mod, $forceDb = false) { } elseif ((GET_EXT_VERSION('sql_patches') >= '0.3.6') && ((!EXT_IS_ACTIVE('cache')) || ($forceDb === true))) { // Check database for entry $result = SQL_QUERY_ESC("SELECT has_menu FROM `{!_MYSQL_PREFIX!}_mod_reg` WHERE `module`='%s' LIMIT 1", - array($mod), __FUNCTION__, __LINE__); + array($mod), __FUNCTION__, __LINE__); // Entry found? if (SQL_NUMROWS($result) == 1) { @@ -857,7 +869,7 @@ function DETERMINE_EXTENSION_TASK_ID ($ext_name) { // Search for extension task's id $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_task_system` WHERE task_type='EXTENSION' AND subject='[%s:]' LIMIT 1", - array($ext_name), __FUNCTION__, __LINE__); + array($ext_name), __FUNCTION__, __LINE__); // Entry found? if (SQL_NUMROWS($result) == 1) { @@ -879,7 +891,7 @@ function DETERMINE_TASK_ID_BY_SUBJECT ($subject) { // Search for task id $result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_task_system` WHERE subject LIKE '%s%%' LIMIT 1", - array($subject), __FUNCTION__, __LINE__); + array($subject), __FUNCTION__, __LINE__); // Entry found? if (SQL_NUMROWS($result) == 1) { @@ -911,7 +923,7 @@ function ADD_EXTENSION_NOTES ($ver) { ); // Reset them - EXT_SET_UPDATE_NOTES(""); + EXT_SET_UPDATE_NOTES(''); } elseif (($ver == '0.0') || ($ver == '0.0.0')) { // Initial release $content = array( @@ -1193,7 +1205,7 @@ function GET_EXT_SQLS () { if (!isset($GLOBALS['ext_sqls'][EXT_GET_CURR_NAME()])) { // Not found, should not happen debug_report_bug(sprintf("ext_sqls is empty, current extension: %s", - EXT_GET_CURR_NAME() + EXT_GET_CURR_NAME() )); } // END - if