// Updates a given extension with current extension version to latest version
function updateExtension ($ext_name, $ext_ver, $dry_run = 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!');
if ((!isAdmin()) || (empty($ext_name))) {
- return false;
+ // 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);
} // END - if
// Set current SQL name
setCurrentExtensionName($ext_name);
+ // Is this extension update already running?
+ if (isExtensionUpdateRunning($ext_name)) {
+ // This is fine but needs logging ATM
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - already in update phase, all fine.');
+ return true;
+ } // END - if
+
// Init arrays
initExtensionSqls();
initExtensionNotes();
runFilterChain('extension_update', getCurrentExtensionName());
} // END - if
} // END - if
+
+ //* DEBUG: */logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',ext_ver=' . $ext_ver . ',dry_run=' . intval($dry_run) . ' - EXIT!');
}
// Output verbose SQL table for extension
// Walk through whole array
foreach ($GLOBALS['ext_running_updates'] as $ext1=>$depends) {
// Is it found?
- if (($ext1 == $ext_name) || ($isRunning === true)) {
+ if ($ext1 == $ext_name) {
// Found
$isRunning = true;
logDebugMessage(__FUNCTION__, __LINE__, 'ext1=' . $ext1 . ',ext_name=' . $ext_name . ',isRunning=' . intval($isRunning));