X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fextensions-functions.php;h=a6a2e372cc7487910e7451b10345dab6fcab9661;hb=9b8fe454a575a1f000b00bc7ca37eaad6d59d21a;hp=9aca9cf4141a34308c0e1864be12ac31ec312c21;hpb=500f1a8d2913512f1f5621c2a0320ad81f5133a1;p=mailer.git diff --git a/inc/extensions-functions.php b/inc/extensions-functions.php index 9aca9cf414..a6a2e372cc 100644 --- a/inc/extensions-functions.php +++ b/inc/extensions-functions.php @@ -155,8 +155,7 @@ function loadExtension ($ext_name, $ext_mode, $ext_ver = '0.0', $dry_run = false // @TODO Do we still need this? setExtensionUpdateNotes(''); // Include the extension file - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Extension loaded.'); - loadExtensionInclude(); + loadCurrentExtensionInclude(); // Is this extension deprecated? if (isExtensionDeprecated()) { @@ -164,6 +163,7 @@ function loadExtension ($ext_name, $ext_mode, $ext_ver = '0.0', $dry_run = false doDeactivateExtension($ext_name); // Abort here + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Extension load aborted, ext_name=' . $ext_name); return false; } // END - if @@ -174,13 +174,14 @@ function loadExtension ($ext_name, $ext_mode, $ext_ver = '0.0', $dry_run = false } // END - if // All fine! + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Extension successfully loaded, ext_name=' . $ext_name); return true; } // Registeres an extension and possible update depencies -function registerExtension ($ext_name, $taskId, $dry_run = false, $logout = true) { +function registerExtension ($ext_name, $taskId, $dry_run = false) { // Set current extension name - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',task_id=' . $taskId . ',dry_run=' . intval($dry_run) . ',logout=' . intval($logout) . ' - ENTERED!'); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',task_id=' . $taskId . ',dry_run=' . intval($dry_run) . ' - ENTERED!'); setCurrentExtensionName($ext_name); // Enable dry-run @@ -198,7 +199,7 @@ function registerExtension ($ext_name, $taskId, $dry_run = false, $logout = true // When this extension is already in registration/update phase, all is fine if ((isExtensionRegistrationRunning($ext_name)) || (isExtensionUpdateRunning($ext_name))) { // Then abort here with 'true' becaus it is fine - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currName=' . getCurrentExtensionName() . ' - ALREADY!'); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - already in registration/update phase, all fine.'); return true; } // END - if @@ -414,20 +415,6 @@ function registerExtension ($ext_name, $taskId, $dry_run = false, $logout = true array(bigintval($taskId)), __FUNCTION__, __LINE__); } - // Is this the sql_patches? - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentExtension=' . getCurrentExtensionName() . '/' . getExtensionMode()); - if ((getCurrentExtensionName() == 'sql_patches') && ((getExtensionMode() == 'register') || (getExtensionMode() == 'remove')) && (!isExtensionDryRun()) && ($test)) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentExtension=' . getCurrentExtensionName() . ': LOAD!'); - if ($logout === true) { - // Then redirect to logout - redirectToUrl('modules.php?module=admin&logout=1&' . getExtensionMode() . '=sql_patches'); - } else { - // Add temporary filter - registerFilter('shutdown', 'REDIRECT_TO_LOGOUT_SQL_PATCHES', true, true); - $GLOBALS['ext_load_mode'] = getExtensionMode(); - } - } // END - if - // Return status code //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currName=' . getCurrentExtensionName() . ',ext_name=' . $ext_name . ',test=' . intval($test) . ' - EXIT!'); return $ret; @@ -600,6 +587,7 @@ function isExtensionActive ($ext_name) { // Get version from extensions function getExtensionVersion ($ext_name, $force = false) { // By default no extension is found + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - ENTERED!'); $data['ext_version'] = 'false'; // Empty extension name should be fixed! @@ -609,13 +597,15 @@ function getExtensionVersion ($ext_name, $force = false) { } // END - if // Extensions are all inactive during installation - if (isInstallationPhase()) return ''; - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name); + if (isInstallationPhase()) { + return ''; + } // END - if // Is the cache written? + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - Checking cache ...'); if (isset($GLOBALS['cache_array']['extension']['ext_version'][$ext_name])) { // Load data from cache - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $ext_name . ': CACHE!'); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ': CACHE!'); $data['ext_version'] = $GLOBALS['cache_array']['extension']['ext_version'][$ext_name]; // Count cache hits @@ -624,7 +614,7 @@ function getExtensionVersion ($ext_name, $force = false) { // 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__); - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $ext_name . ': DB - '.SQL_NUMROWS($result).''); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ': DB - '.SQL_NUMROWS($result).''); // Is the extension there? if (SQL_NUMROWS($result) == 1) { @@ -1206,27 +1196,29 @@ function isExtensionDeprecated () { // Setter for EXT_UPDATE_DEPENDS flag function addExtensionDependency ($updateDepends) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currName=' . getCurrentExtensionName() . '/' . $updateDepends . ' - ENTERED!'); // Is the update depency empty? (NEED TO BE FIXED!) + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currName=' . getCurrentExtensionName() . '/' . $updateDepends . ',extensionMode=' . getExtensionMode() . ' - ENTERED!'); if (empty($updateDepends)) { // Please report this bug! debug_report_bug(__FUNCTION__, __LINE__, 'updateDepends is empty: currentExtension=' . getCurrentExtensionName()); } // END - if // Is it not yet added? - /* Only for debugging! if ((isset($updateDepends, $GLOBALS['ext_running_updates'][getCurrentExtensionName()])) && (in_array($updateDepends, getExtensionUpdatesRunning()))) { - // Double-adding isn't fine, too - debug_report_bug(__FUNCTION__, __LINE__, '() called twice: updateDepends=' . $updateDepends . ',currentExtension=' . getCurrentExtensionName()); + /* + * Double-adding isn't fine, too. This may mean that + * addExtensionDependency() was called outside the switch() command in + * the extension's file which requires fixing. + */ + debug_report_bug(__FUNCTION__, __LINE__, 'updateDepends=' . $updateDepends . ',extensionMode=' . getExtensionMode() . ',currentExtension=' . getCurrentExtensionName() . ' - CALLED TWICE!'); } // END - if - */ // Add it to the list of extension update depencies map $GLOBALS['ext_update_depends'][getCurrentExtensionName()][] = (string) $updateDepends; // Remember it in the list of running updates $GLOBALS['ext_running_updates'][getCurrentExtensionName()][] = $updateDepends; - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currName=' . getCurrentExtensionName() . '/' . $updateDepends . ' - EXIT!'); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currName=' . getCurrentExtensionName() . '/' . $updateDepends . ',extensionMode=' . getExtensionMode() . ' - EXIT!'); } // Getter for running updates @@ -1293,9 +1285,9 @@ function isExtensionUpdateRunning ($ext_name) { foreach ($GLOBALS['ext_running_updates'] as $ext1=>$depends) { // Is it found? if (($ext1 == $ext_name) || ($isRunning === true)) { - // found - logDebugMessage(__FUNCTION__, __LINE__, 'ext1=' . $ext1 . ',ext_name=' . $ext_name . ',isRunning=' . intval($isRunning)); + // Found $isRunning = true; + logDebugMessage(__FUNCTION__, __LINE__, 'ext1=' . $ext1 . ',ext_name=' . $ext_name . ',isRunning=' . intval($isRunning)); break; } // END - if } // END - foreach @@ -1578,7 +1570,7 @@ function getExtensionMode () { // Setter for dry-run function enableExtensionDryRun ($dry_run = true) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getCurrentExtensionName()='.getCurrentExtensionName().',dry='.intval($dry_run)); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getCurrentExtensionName()='.getCurrentExtensionName().',dry_run='.intval($dry_run)); $GLOBALS['ext_dry_run'] = (bool) $dry_run; } @@ -1678,8 +1670,8 @@ function ifExtensionHasLanguageFile ($ext_name) { return ($GLOBALS['cache_array']['extension']['ext_lang'][$ext_name] == 'Y'); } -// Load an extension's include file -function loadExtensionInclude () { +// Load current extension's include file +function loadCurrentExtensionInclude () { // Is it readable? if (!isExtensionIncludeReadable()) { // Not readable @@ -1696,7 +1688,9 @@ function loadExtensionInclude () { // Checks wether an extension is readable function isExtensionIncludeReadable ($ext_name = '') { // If empty, use current - if (empty($ext_name)) $ext_name = getCurrentExtensionName(); + if (empty($ext_name)) { + $ext_name = getCurrentExtensionName(); + } // END - if // Array found? if (!isset($GLOBALS['ext_inc_readable'][$ext_name])) { @@ -1904,7 +1898,7 @@ function addConfigAddSql ($columnName, $columnSql) { if (!isSqlTableColumnFound('{?_MYSQL_PREFIX?}_config', $columnName)) { // Not found, so add it addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `' . $columnName . '` ' . $columnSql); - } else { + } elseif (isDebugModeEnabled()) { // Add debug line logDebugMessage(__FUNCTION__, __LINE__, 'Configuration entry ' . $columnName . ' already created. columnSql=' . $columnSql); } @@ -1916,7 +1910,7 @@ function addConfigDropSql ($columnName) { if (isSqlTableColumnFound('{?_MYSQL_PREFIX?}_config', $columnName)) { // Found, so add it addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `' . $columnName . '`'); - } else { + } elseif (isDebugModeEnabled()) { // Add debug line, debug_report_bug() would cause some extenion updates fail logDebugMessage(__FUNCTION__, __LINE__, 'Configuration entry ' . $columnName . ' not found.'); } @@ -1976,6 +1970,7 @@ function markExtensionAsLoaded ($ext_name) { } // END - if // Mark it + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("ext_name=%s,ext_loaded=true", $ext_name)); $GLOBALS['ext_loaded']['ext_name'][$ext_name] = true; }