// And run possible updates
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentExtension=' . getCurrentExtensionName());
$history = getExtensionVersionHistory();
- foreach ($history as $ver) {
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . getCurrentExtensionName() . ', ext_ver=' . $ver);
+ foreach ($history as $ext_ver) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . getCurrentExtensionName() . ', ext_ver=' . $ext_ver);
// Load extension in update mode
- loadExtension(getCurrentExtensionName(), 'update', $ver, isExtensionDryRun());
+ loadExtension(getCurrentExtensionName(), 'update', $ext_ver, isExtensionDryRun());
// Add update notes to our output
- addExtensionNotes($ver);
+ addExtensionNotes($ext_ver);
} // END - foreach
// Does this extension depends on an outstanding update of another update?
} elseif (isExtensionDryRun() === true) {
// In "dry-run" mode do always return a true
$ret = true;
-
- // Re-init queries and notes
- initExtensionNotes();
} else {
// Extension has been removed for updates, so all is fine!
$ret = true;
// Do we have queries?
if ((isExtensionInstalledAndNewer('sql_patches', '0.0.7')) && (getConfig('verbose_sql') == 'Y')) {
- // Get all SQLs
- foreach (getExtensionSqls() as $sqls) {
- // New array format is recursive
- foreach ($sqls as $idx => $sql) {
- // Trim out spaces
- $sql = trim($sql);
-
- // Output command if set
- if (!empty($sql)) {
- // Prepare output for template
- $content = array(
- 'i' => ($idx+1),
- 'sql' => $sql
- );
-
- // Load row template
- $OUT .= loadTemplate('admin_ext_sql_row', true, $content);
- } // END - if
+ // Do we have entries?
+ if (countExtensionSqls() > 0) {
+ // Init counter
+ $idx = 0;
+ // Get all SQLs
+ foreach (getExtensionSqls() as $sqls) {
+ // New array format is recursive
+ foreach ($sqls as $sql) {
+ // Trim out spaces
+ $sql = trim($sql);
+
+ // Output command if set
+ if (!empty($sql)) {
+ // Prepare output for template
+ $content = array(
+ 'i' => ($idx + 1),
+ 'sql' => $sql
+ );
+
+ // Load row template
+ $OUT .= loadTemplate('admin_extension_sql_row', true, $content);
+
+ // Count up
+ $idx++;
+ } // END - if
+ } // END - foreach
} // END - foreach
- } // END - foreach
- // Prepare content for template
- $content = array(
- 'width' => $width,
- 'dashed' => $dashed,
- 'title' => $title,
- 'rows' => $OUT
- );
+ // Prepare content for template
+ $content = array(
+ 'width' => $width,
+ 'dashed' => $dashed,
+ 'title' => $title,
+ 'rows' => $OUT
+ );
- // Load main template
- $OUT = loadTemplate('admin_ext_sql_table', true, $content);
- } elseif ((isExtensionInstalledAndNewer('sql_patches', '0.0.7')) && (getConfig('verbose_sql') == 'Y')) {
- // No addional SQL commands to run
- $OUT = loadTemplate('admin_settings_saved', true, '{--ADMIN_NO_ADDITIONAL_SQLS--}');
+ // Load main template
+ $OUT = loadTemplate('admin_extension_sql_table', true, $content);
+ } else {
+ // No addional SQL commands to run
+ $OUT = loadTemplate('admin_settings_saved', true, '{--ADMIN_NO_ADDITIONAL_SQLS--}');
+ }
} // END - if
// Return output
// Notify the admin
sendAdminNotification(
'{--ADMIN_EXTENSION_DEACTIVATED_SUBJECT--}',
- 'admin_ext_deactivated',
+ 'admin_extension_deactivated',
array('ext_name' => $ext_name)
);
} // END - if
}
// Add updates notes for given version
-function addExtensionNotes ($ver) {
+function addExtensionNotes ($ext_ver) {
// Init notes/content
- $out = ''; $content = array();
+ $out = '';
+ $content = array();
// Is do we have verbose output enabled?
if ((!isExtensionActive('sql_patches')) || (getConfig('verbose_sql') == 'Y')) {
// Update notes found?
- if (isExtensionUpdateNoteSet($ver)) {
+ if (isExtensionUpdateNoteSet($ext_ver)) {
// Update notes found
$content = array(
- 'ver' => $ver,
- 'notes' => getExtensionUpdateNotes($ver)
+ 'ver' => $ext_ver,
+ 'notes' => getExtensionUpdateNotes($ext_ver)
);
// Reset them
- setExtensionUpdateNotes('', $ver);
- } elseif (($ver == '0.0') || ($ver == '0.0.0')) {
+ setExtensionUpdateNotes('', $ext_ver);
+ } elseif (in_array($ext_ver, array('0.0', '0.0.0'))) {
// Initial release
$content = array(
- 'ver' => $ver,
+ 'ver' => $ext_ver,
'notes' => '{--INITIAL_RELEASE--}'
);
} else {
// No update notes found!
$content = array(
- 'ver' => $ver,
+ 'ver' => $ext_ver,
'notes' => '{--NO_UPDATE_NOTES--}'
);
}
// Load template
- $out = loadTemplate('admin_EXTENSION_notes', true, $content);
+ $out = loadTemplate('admin_extension_notes', true, $content);
} // END - if
// Add the notes
}
// Setter for EXT_VERSION flag
-function setThisExtensionVersion ($version) {
- $GLOBALS['ext_version'][getCurrentExtensionName()] = (string) $version;
+function setThisExtensionVersion ($ext_version) {
+ $GLOBALS['ext_version'][getCurrentExtensionName()] = (string) $ext_version;
}
// Getter for EXT_VERSION flag
}
// Setter for EXT_VER_HISTORY flag
-function setExtensionVersionHistory ($verHistory) {
- $GLOBALS['ext_ver_history'][getCurrentExtensionName()] = (array) $verHistory;
+function setExtensionVersionHistory ($versionHistory) {
+ $GLOBALS['ext_ver_history'][getCurrentExtensionName()] = (array) $versionHistory;
}
// Getter for EXT_VER_HISTORY array
}
// Setter for EXT_UPDATE_NOTES
-function setExtensionUpdateNotes ($updateNotes, $ver='') {
+function setExtensionUpdateNotes ($updateNotes, $ext_ver = '') {
// . '/' . getCurrentExtensionVersion()
- //* DEBUG: */ debug_report_bug(__FUNCTION__.':' . getCurrentExtensionName() . '/' . getExtensionMode() . '/' . $ver . '=' . $updateNotes);
- if (empty($ver)) {
+ //* DEBUG: */ debug_report_bug(__FUNCTION__.':' . getCurrentExtensionName() . '/' . getExtensionMode() . '/' . $ext_ver . '=' . $updateNotes);
+ if (empty($ext_ver)) {
$GLOBALS['ext_update_notes'][getCurrentExtensionName()][getCurrentExtensionVersion()] = (string) $updateNotes;
} else {
- $GLOBALS['ext_update_notes'][getCurrentExtensionName()][$ver] = (string) $updateNotes;
+ $GLOBALS['ext_update_notes'][getCurrentExtensionName()][$ext_ver] = (string) $updateNotes;
}
}
// Getter for EXT_UPDATE_NOTES
-function getExtensionUpdateNotes ($ver) {
- return $GLOBALS['ext_update_notes'][getCurrentExtensionName()][$ver];
+function getExtensionUpdateNotes ($ext_ver) {
+ return $GLOBALS['ext_update_notes'][getCurrentExtensionName()][$ext_ver];
}
// Checks if ext_update_notes is set
-function isExtensionUpdateNoteSet ($ver) {
- return isset($GLOBALS['ext_update_notes'][getCurrentExtensionName()][$ver]);
+function isExtensionUpdateNoteSet ($ext_ver) {
+ return isset($GLOBALS['ext_update_notes'][getCurrentExtensionName()][$ext_ver]);
}
// Init extension notice
function initExtensionNotes () {
+ // Is it already initialized?
+ if (isset($GLOBALS['ext_notes'][getCurrentExtensionName()])) {
+ // This is mostly not wanted, so please report it
+ debug_report_bug(__FUNCTION__, __LINE__, 'ext_notes already set for extension ' . getCurrentExtensionName());
+ } // END - if
+
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getCurrentExtensionName()=' . getCurrentExtensionName());
$GLOBALS['ext_notes'][getCurrentExtensionName()] = '';
}
// Append extension notice
function appendExtensionNotes ($notes) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getCurrentExtensionName()=' . getCurrentExtensionName() . ', notes()=' . strlen($notes));
$GLOBALS['ext_notes'][getCurrentExtensionName()] .= (string) trim($notes);
}
// Setter for current extension name
function setCurrentExtensionName ($ext_name) {
- $GLOBALS['curr_EXTENSION_name'] = (string) trim($ext_name);
+ $GLOBALS['curr_extension_name'] = (string) trim($ext_name);
}
// Getter for current extension name
function getCurrentExtensionName () {
- if (isset($GLOBALS['curr_EXTENSION_name'])) {
- return $GLOBALS['curr_EXTENSION_name'];
+ if (!isset($GLOBALS['curr_extension_name'])) {
+ // Not set!
+ debug_report_bug(__FUNCTION__, __LINE__, 'curr_extension_name not initialized. Please execute initExtensionSqls() before calling this function.');
} // END - if
- // Not set!
- debug_report_bug(__FUNCTION__.": curr_EXTENSION_name not initialized. Please execute initExtensionSqls() before calling this function.");
+ // Return it
+ return $GLOBALS['curr_extension_name'];
}
// Init SQLs array for current extension
return $GLOBALS['ext_sqls'][getCurrentExtensionName()];
}
+// Count SQLs for current extension
+function countExtensionSqls () {
+ // Output debug backtrace if not found (SHOULD NOT HAPPEN!)
+ if (!isset($GLOBALS['ext_sqls'][getCurrentExtensionName()])) {
+ // Not found, should not happen
+ debug_report_bug(__FUNCTION__, __LINE__, sprintf("ext_sqls is empty, current extension: %s",
+ getCurrentExtensionName()
+ ));
+ } // END - if
+
+ // Count them all
+ return count($GLOBALS['ext_sqls'][getCurrentExtensionName()]);
+}
+
// Removes SQLs for current extension
function unsetExtensionSqls () {
unset($GLOBALS['ext_sqls'][getCurrentExtensionName()]);