]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions-functions.php
Extension ext-earning introduced (unfinished), renamings:
[mailer.git] / inc / extensions-functions.php
index d02cc8967c36ca8e9ac5ebcbf9f49c7bd4f05128..229277c0a312c9005d895b73ab04a8b26197da8d 100644 (file)
@@ -359,7 +359,7 @@ function registerExtension ($ext_name, $taskId, $dry_run = false, $ignoreUpdates
                                if (isExtensionInstalledAndNewer('sql_patches', '0.0.6')) {
                                        // New way, with CSS
                                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . getCurrentExtensionName() . ',always_active=' . getThisExtensionAlwaysActive() . ', ext_ver=' . getCurrentExtensionVersion() . 'ext_css=' . getExtensionHasCss());
-                                       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_extensions` (`ext_name`, `ext_active`, `ext_version`, `ext_has_css`) VALUES ('%s','%s','%s','%s')",
+                                       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_extensions` (`ext_name`,`ext_active`,`ext_version`,`ext_has_css`) VALUES ('%s','%s','%s','%s')",
                                                array(
                                                        getCurrentExtensionName(),
                                                        getThisExtensionAlwaysActive(),
@@ -369,7 +369,7 @@ function registerExtension ($ext_name, $taskId, $dry_run = false, $ignoreUpdates
                                } else {
                                        // Old way, no CSS
                                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . getCurrentExtensionName() . ',always_active=' . getThisExtensionAlwaysActive() . ', ext_ver=' . getCurrentExtensionVersion());
-                                       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_extensions` (`ext_name`, `ext_active`, `ext_version`) VALUES ('%s','%s','%s')",
+                                       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_extensions` (`ext_name`,`ext_active`,`ext_version`) VALUES ('%s','%s','%s')",
                                                array(
                                                        getCurrentExtensionName(),
                                                        getThisExtensionAlwaysActive(),
@@ -613,7 +613,7 @@ function getExtensionVersion ($ext_name, $force = false) {
        //* 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=' . $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
@@ -652,9 +652,9 @@ function getExtensionVersion ($ext_name, $force = false) {
 }
 
 // Updates a given extension with current extension version to latest version
-function updateExtension ($ext_name, $ext_ver, $dry_run = false) {
+function updateExtension ($ext_name, $ext_ver, $dry_run = false, $ignoreDependencies = false) {
        // Only admins are allowed to update extensions
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',ext_ver=' . $ext_ver . ',dry_run=' . intval($dry_run) . ' - ENTERED!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',ext_ver=' . $ext_ver . ',dry_run=' . intval($dry_run) . ',ignoreDependencies=' . intval($ignoreDependencies) . ' - ENTERED!');
        if ((!isAdmin()) || (empty($ext_name))) {
                // Called as non-admin or empty extension
                debug_report_bug(__FUNCTION__, __LINE__, 'Called as non-admin (isAdmin()=' . intval(isAdmin()) . '), or empty extension name. ext_name=' . $ext_name);
@@ -664,9 +664,10 @@ function updateExtension ($ext_name, $ext_ver, $dry_run = false) {
        setCurrentExtensionName($ext_name);
 
        // Is this extension update already running?
-       if ((isExtensionUpdateRunning($ext_name)) && ($dry_run === false)) {
+       if ((isExtensionUpdateRunning($ext_name, $ignoreDependencies)) && ($dry_run === false)) {
                // This is fine but needs logging ATM
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - already in update phase, all fine.');
+               ///* BUG: */ debug_report_bug(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - already in update phase, please investigate!');
                return true;
        } // END - if
 
@@ -719,7 +720,7 @@ function updateExtension ($ext_name, $ext_ver, $dry_run = false) {
                                                // Is the extension there?
                                                if (isExtensionInstalled($ext_depend)) {
                                                        // Update another extension first!
-                                                       $processResult = updateExtension($ext_depend, getExtensionVersion($ext_depend), isExtensionDryRun());
+                                                       $processResult = updateExtension($ext_depend, getExtensionVersion($ext_depend), isExtensionDryRun(), true);
                                                } else {
                                                        // Register new extension
                                                        $processResult = registerExtension($ext_depend, 0, isExtensionDryRun());
@@ -727,11 +728,11 @@ function updateExtension ($ext_name, $ext_ver, $dry_run = false) {
                                        } // END - if
                                } // END - foreach
 
-                               // Set extension version here
-                               setCurrentExtensionVersion($ext_ver);
-
                                // Set name back
                                setCurrentExtensionName($ext_name);
+
+                               // Set extension version here
+                               setCurrentExtensionVersion($ext_ver);
                        } // END - if
 
                        // Add notes
@@ -759,7 +760,7 @@ function updateExtension ($ext_name, $ext_ver, $dry_run = false) {
                } // END - if
        } // END - if
 
-       //* DEBUG: */logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',ext_ver=' . $ext_ver . ',dry_run=' . intval($dry_run) . ' - EXIT!');
+       //* DEBUG: */logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',ext_ver=' . $ext_ver . ',dry_run=' . intval($dry_run) . ',ignoreDependencies=' . intval($ignoreDependencies) . ' - EXIT!');
 }
 
 // Output verbose SQL table for extension
@@ -1306,9 +1307,9 @@ function isExtensionUpdateDependenciesInitialized () {
 }
 
 // Checks wether an update is already running for given extension
-function isExtensionUpdateRunning ($ext_name) {
+function isExtensionUpdateRunning ($ext_name, $ignoreDependencies = false) {
        // Current and given extensions means whole array
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentExtension=' . getCurrentExtensionName() . ',ext_name=' . $ext_name . ' - ENTERED!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentExtension=' . getCurrentExtensionName() . ',ext_name=' . $ext_name . ',ignoreDependencies=' . intval($ignoreDependencies) . ' - ENTERED!');
        if ($ext_name == getCurrentExtensionName()) {
                // Default is not found
                $isRunning = false;
@@ -1317,16 +1318,16 @@ function isExtensionUpdateRunning ($ext_name) {
                foreach ($GLOBALS['ext_running_updates'] as $ext1=>$depends) {
                        // Is it found?
                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext1=' . $ext1 . ',ext_name=' . $ext_name . ',depends=' . print_r($depends, true));
-                       if (($ext1 == $ext_name) || (in_array($ext_name, $depends))) {
+                       if (($ext1 == $ext_name) || ((in_array($ext_name, $depends)) && ($ignoreDependencies === false))) {
                                // Found
                                $isRunning = true;
-                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext1=' . $ext1 . ',ext_name=' . $ext_name . ',isRunning=' . intval($isRunning) . ' - ADDED!');
+                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext1=' . $ext1 . ',ext_name=' . $ext_name . ',isRunning=true - FOUND!');
                                break;
                        } // END - if
                } // END - foreach
 
                // Return result
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentExtension=' . getCurrentExtensionName() . ',ext_name=' . $ext_name . ', isRunning=' . intval($isRunning) . ' - EXIT!');
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentExtension=' . getCurrentExtensionName() . ',ext_name=' . $ext_name . ',ignoreDependencies=' . intval($ignoreDependencies) . ', isRunning=' . intval($isRunning) . ' - ALT-EXIT!');
                return $isRunning;
        } // END - if
 
@@ -1334,7 +1335,7 @@ function isExtensionUpdateRunning ($ext_name) {
        $isRunning = ((isExtensionUpdateDependenciesInitialized()) && (in_array($ext_name, getExtensionRunningUpdates())));
 
        // Return it
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentExtension=' . getCurrentExtensionName() . ',ext_name=' . $ext_name . ', isRunning=' . intval($isRunning) . ' - EXIT!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentExtension=' . getCurrentExtensionName() . ',ext_name=' . $ext_name . ',ignoreDependencies=' . intval($ignoreDependencies) . ', isRunning=' . intval($isRunning) . ' - EXIT!');
        return $isRunning;
 }
 
@@ -1424,8 +1425,8 @@ function getExtensionVersionHistory () {
 
 // Setter for EXT_UPDATE_NOTES
 function setExtensionUpdateNotes ($updateNotes, $ext_ver = '') {
-       // . '/' . getCurrentExtensionVersion()
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getCurrentExtensionName()=' . getCurrentExtensionName() . ',getExtensionMode()=' . getExtensionMode() . ',ext_ver=' . $ext_ver . ',updateNotes()=' . strlen($updateNotes));
+       //
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getCurrentExtensionName()=' . getCurrentExtensionName() . ',getExtensionMode()=' . getExtensionMode() . ',ext_ver=' . $ext_ver . '/' . getCurrentExtensionVersion() . ',updateNotes()=' . strlen($updateNotes));
        if (empty($ext_ver)) {
                $GLOBALS['ext_update_notes'][getCurrentExtensionName()][getCurrentExtensionVersion()] = (string) $updateNotes;
        } else {
@@ -1792,7 +1793,7 @@ function addAdminMenuSql ($action, $what, $title, $descr, $sort) {
                // Is what null?
                if (is_null($what)) {
                        // Add main menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`, `what`, `title`, `descr`, `sort`) VALUES ('%s',NULL,'%s','%s',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('%s',NULL,'%s','%s',%s)",
                                $action,
                                $title,
                                $descr,
@@ -1800,7 +1801,7 @@ function addAdminMenuSql ($action, $what, $title, $descr, $sort) {
                        );
                } else {
                        // Add sub menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`, `what`, `title`, `descr`, `sort`) VALUES ('%s','%s','%s','%s',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('%s','%s','%s','%s',%s)",
                                $action,
                                $what,
                                $title,
@@ -1824,14 +1825,14 @@ function addGuestMenuSql ($action, $what, $title, $sort) {
                // Is what null?
                if (is_null($what)) {
                        // Add main menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`, `what`, `title`, `visible`, `locked`, `sort`) VALUES ('%s',NULL,'%s','N','Y',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('%s',NULL,'%s','N','Y',%s)",
                                $action,
                                $title,
                                bigintval($sort)
                        );
                } else {
                        // Add sub menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`, `what`, `title`, `visible`, `locked`, `sort`) VALUES ('%s','%s','%s','N','Y',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('%s','%s','%s','N','Y',%s)",
                                $action,
                                $what,
                                $title,
@@ -1854,14 +1855,14 @@ function addMemberMenuSql ($action, $what, $title, $sort) {
                // Is what null?
                if (is_null($what)) {
                        // Add main menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`, `what`, `title`, `visible`, `locked`, `sort`) VALUES ('%s',NULL,'%s','N','Y',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('%s',NULL,'%s','N','Y',%s)",
                                $action,
                                $title,
                                bigintval($sort)
                        );
                } else {
                        // Add sub menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`, `what`, `title`, `visible`, `locked`, `sort`) VALUES ('%s','%s','%s','N','Y',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('%s','%s','%s','N','Y',%s)",
                                $action,
                                $what,
                                $title,
@@ -1884,7 +1885,7 @@ function addSponsorMenuSql ($action, $what, $title, $active, $sort) {
                // Is what null?
                if (is_null($what)) {
                        // Add main menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`, `what`, `title`, `active`, `sort`) VALUES ('%s',NULL,'%s','%s',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`,`what`,`title`,`active`,`sort`) VALUES ('%s',NULL,'%s','%s',%s)",
                                $action,
                                $title,
                                $active,
@@ -1892,7 +1893,7 @@ function addSponsorMenuSql ($action, $what, $title, $active, $sort) {
                        );
                } else {
                        // Add sub menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`, `what`, `title`, `active`, `sort`) VALUES ('%s','%s','%s','%s',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`,`what`,`title`,`active`,`sort`) VALUES ('%s','%s','%s','%s',%s)",
                                $action,
                                $what,
                                $title,
@@ -1944,7 +1945,7 @@ function addConfigChangeSql ($oldColumnName, $newColumnName, $columnSql) {
 // @TODO This should be rewrittten to allow, more development states, e.g. 'planing','alpha','beta','beta2','stable'
 function enableExtensionProductive ($isProductive = true) {
        // Log debug message
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("ext_name=%s,isProductive=%d", getCurrentExtensionName(), intval($isProductive)));
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . getCurrentExtensionName() . ',isProductive=', intval($isProductive));
 
        // Set it
        $GLOBALS['ext_productive'][getCurrentExtensionName()] = (bool) $isProductive;
@@ -1958,6 +1959,7 @@ function isExtensionProductive ($ext_name = '') {
                // Get current extension name
                $ext_name = getCurrentExtensionName();
        } // END - if
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - ENTERED!');
 
        // Do we have cache?
        if (!isset($GLOBALS[__FUNCTION__][$ext_name])) {
@@ -1971,10 +1973,8 @@ function isExtensionProductive ($ext_name = '') {
                $GLOBALS[__FUNCTION__][$ext_name] = ((isset($GLOBALS['ext_productive'][$ext_name])) && ($GLOBALS['ext_productive'][$ext_name] === true));
        } // END - if
 
-       // Log debug message
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("ext_name=%s,isProductive=%s", $ext_name, intval($GLOBALS[__FUNCTION__][$ext_name])));
-
        // Return result
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',isProductive=', intval($GLOBALS[__FUNCTION__][$ext_name]) . ' - EXIT!');
        return $GLOBALS[__FUNCTION__][$ext_name];
 }
 
@@ -1987,7 +1987,7 @@ function markExtensionAsLoaded ($ext_name) {
        } // END - if
 
        // Mark it
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("ext_name=%s,ext_loaded=true", $ext_name));
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',ext_loaded=true');
        $GLOBALS['ext_loaded']['ext_name'][$ext_name] = true;
 }