//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Loading extension ' . $ext_name . ', getExtensionMode()=' . getExtensionMode() . ', getCurrentExtensionVersion()=' . getCurrentExtensionVersion());
if ((isExtensionLoaded($ext_name)) && (getExtensionMode() == 'init')) {
// Debug message
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Extension %s already loaded.", $ext_name));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Extension %s already loaded.', $ext_name));
// Abort here
return FALSE;
// Is the extension file NOT there?
if (!isExtensionNameValid($ext_name)) {
// Debug message
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Extension %s not found or not readable or the PHP script is deprecated.", $ext_name));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Extension %s not found or not readable or the PHP script is deprecated.', $ext_name));
// Abort here
return FALSE;
// Not yet loaded?
if ((($GLOBALS['cache_array']['extension']['ext_func'][$ext_name] == 'Y') || (!isset($GLOBALS['cache_array']['extension']['ext_func'][$ext_name]))) && (!isExtensionLibraryLoaded($ext_name))) {
// Construct IFN for functions file
- $funcsInclude = sprintf("inc/libs/%s_functions.php", $ext_name);
+ $funcsInclude = sprintf('inc/libs/%s_functions.php', $ext_name);
// Mark it as loaded
markExtensionLibraryAsLoaded($ext_name);
} // END - if
} elseif ((!isset($GLOBALS['cache_array']['extension']['ext_func'][$ext_name])) && (isDebugModeEnabled()) && (isHtmlOutputMode()) && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme') && (getExtensionMode() == 'test')) {
// No functions file is not so good...
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("NOTICE: Extension %s has no own functions file or we cannot read from it. mode=%s",
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('NOTICE: Extension %s has no own functions file or we cannot read from it. mode=%s',
$ext_name,
getExtensionMode()
));
enableExtensionProductive();
// This shall never do a non-admin user or if the extension is active (already installed)
- if (((!isAdmin()) && (!isInstallationPhase())) || (isExtensionInstalled($ext_name))) {
+ if (((!isAdmin()) && (!isInstaller())) || (isExtensionInstalled($ext_name))) {
// Abort here with 'false'
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - ABORTED: isAdmin()=' . intval(isAdmin()) . ',isInstallationPhase()=' . intval(isInstallationPhase()) . ',isExtensionInstalled()=' . intval(isExtensionInstalled($ext_name)));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - ABORTED: isAdmin()=' . intval(isAdmin()) . ',isInstaller()=' . intval(isInstaller()) . ',isExtensionInstalled()=' . intval(isExtensionInstalled($ext_name)));
return FALSE;
} // END - if
// When this extension is already in registration/update phase, all is fine
if ((isExtensionRegistrationRunning($ext_name)) || ((isExtensionUpdateRunning($ext_name)) && ($ignoreUpdates === FALSE))) {
// Then abort here with 'true' because it is fine
- /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - already in registration/update phase, all fine,isDryRun=' . intval($isDryRun) . ',ignoreUpdates=' . intval($ignoreUpdates));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - already in registration/update phase, all fine,isDryRun=' . intval($isDryRun) . ',ignoreUpdates=' . intval($ignoreUpdates));
//* BUG: */ reportBug(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',isDryRun=' . intval($isDryRun) . ',ignoreUpdates=' . intval($ignoreUpdates) . ' - Please investigate!');
return TRUE;
} // END - if
} // END - if
// Is the task id zero? Then we need to auto-fix it here
- if ((!isValidId($taskId)) && (!isInstallationPhase())) {
+ if ((!isValidId($taskId)) && (!isInstaller())) {
// Try to find the task
$taskId = determineExtensionTaskId(getCurrentExtensionName());
// Is it still zero?
if (!isValidId($taskId)) {
// Then request a bug report
- reportBug(__FUNCTION__, __LINE__, sprintf("%s: task_id is still zero after determineExtensionTaskId/createNewExtensionTask(%s)",
+ reportBug(__FUNCTION__, __LINE__, sprintf('%s: task_id is still zero after determineExtensionTaskId/createNewExtensionTask(%s)',
__FUNCTION__,
getCurrentExtensionName()
));
initIncludePool('extension');
// By default there is no failure
- enableExtensionReportingFailure();
+ enableExtensionReportingFailure(FALSE);
// Does this extension exists?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currName=' . getCurrentExtensionName() . ' - CALLING loadExtension() ...');
} // END - if
// Extension version set? If empty the extension is not registered
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_ver[' . gettype($ext_ver) . ']=' . $ext_ver . ',isInstallationPhase()=' . intval(isInstallationPhase()) . ',currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ' - EMPTY?');
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_ver[' . gettype($ext_ver) . ']=' . $ext_ver . ',isInstaller()=' . intval(isInstaller()) . ',currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ' - EMPTY?');
if (empty($ext_ver)) {
// Extension not registered so far so first load task's id...
$updateTaskId = determineExtensionTaskId($ext_update);
// Entry found?
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'updateTaskId=' . $updateTaskId . ',isInstallationPhase()=' . intval(isInstallationPhase()) . ',currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ' - CHECKING!');
- if ((isValidId($updateTaskId)) || (isInstallationPhase())) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'updateTaskId=' . $updateTaskId . ',isInstaller()=' . intval(isInstaller()) . ',currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ' - CHECKING!');
+ if ((isValidId($updateTaskId)) || (isInstaller())) {
// Try to register the extension
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currName=' . getCurrentExtensionName() . ',ext_update=' . $ext_update . ',updateTaskId=' . $updateTaskId . ',isExtensionDryRun()=' . intval(isExtensionDryRun()));
$processResult = registerExtension($ext_update, $updateTaskId, isExtensionDryRun(), TRUE, $ext_name);
}
// @TODO This redirect is still needed to register sql_patches! Please try to avoid it
- if (($ret === TRUE) && ($isDryRun === FALSE) && ($ext_name == 'sql_patches') && (!isInstallationPhase())) {
+ if (($ret === TRUE) && ($isDryRun === FALSE) && ($ext_name == 'sql_patches') && (!isInstaller())) {
/*
* This is a really dirty hack to prevent an error about a missing
* configuration entry which should be there after registration of
// @TODO Change from ext_id to ext_name (not just even the variable! ;-) )
function doExtensionSqls ($ext_id, $load_mode) {
// This shall never do a non-admin user but installation phase is okay
- if ((!isAdmin()) && (!isInstallationPhase())) {
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_id=' . $ext_id. ',load_mode=' . $load_mode . ',isAdmin()=' . intval(isAdmin()) . ',isInstallationPhase()=' . intval(isInstallationPhase()) . ' - ABORT!');
+ if ((!isAdmin()) && (!isInstaller())) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_id=' . $ext_id. ',load_mode=' . $load_mode . ',isAdmin()=' . intval(isAdmin()) . ',isInstaller()=' . intval(isInstaller()) . ' - ABORT!');
return FALSE;
} // END - if
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SQLs::count=' . countSqls());
// Are there entries?
- if (isSqlsValid()) {
+ if (ifSqlsRegistered()) {
// Run SQL commands...
runFilterChain('run_sqls');
} // END - if
// Count cache hits
incrementStatsEntry('cache_hits');
- } elseif (isInstallationPhase()) {
+ } elseif ((isInstaller()) && (!isSqlLinkUp())) {
// Extensions are all inactive/not installed during installation
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - installation phase detected.');
} else {
// Check if given extension is active
function isExtensionActive ($ext_name) {
- if (isInstallationPhase()) {
+ if ((isInstaller()) && (!isSqlLinkUp())) {
// Extensions are all inactive during installation
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Extensions are always inactive while installation phase. ext_name=' . $ext_name);
return FALSE;
} // END - if
// Extensions are all inactive during installation
- if (isInstallationPhase()) {
+ if ((isInstaller()) && (!isSqlLinkUp())) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ',force=' . intval($force) . ' - Installation phase detected, returning empty version.');
return '';
} // END - if
// Count cache hits
incrementStatsEntry('cache_hits');
- } elseif ((!isCacheInstanceValid()) || (isset($GLOBALS['cache_array']['extension'])) || (!isHtmlOutputMode())) {
+ } elseif ((!isValidCacheInstance()) || (isset($GLOBALS['cache_array']['extension'])) || (!isHtmlOutputMode())) {
// Load from database
$result = sqlQueryEscaped("SELECT * FROM `{?_MYSQL_PREFIX?}_extensions` WHERE `ext_name`='%s' LIMIT 1",
array($ext_name), __FUNCTION__, __LINE__);
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ': DB - '.SQL_NUMROWS($result).'');
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ': DB - '.sqlNumRows($result).'');
// Is the extension there?
if (sqlNumRows($result) == 1) {
setExtensionCacheRow($ext_name, $data);
} elseif (isDebugModeEnabled()) {
// Not found, may happen while an extension is uninstalled
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Cannot find extension %s in database!", $ext_name));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Cannot find extension %s in database!', $ext_name));
}
// Free result
// Extension version should not be invalid
if (($data['ext_version'] == 'false') && ($force === FALSE)) {
// Please report this trouble
- reportBug(__FUNCTION__, __LINE__, sprintf("Extension <span class=\"data\">%s</span> has empty version!", $ext_name));
+ reportBug(__FUNCTION__, __LINE__, sprintf('Extension <span class="data">%s</span> has empty version!', $ext_name));
} // END - if
// Return result
$depencies = getExtensionUpdateDependencies();
// Nothing to apply?
- if (count($depencies) > 0) {
+ if (isFilledArray($depencies)) {
// Apply all extension depencies
foreach ($depencies as $ext_depend) {
// Did we already update/register this?
// Is there cache?
if (!isset($GLOBALS['ext_name_valid'][$ext_name])) {
// Generate include file name
- $INC = sprintf("inc/extensions/ext-%s.php", $ext_name);
+ $INC = sprintf('inc/extensions/ext-%s.php', $ext_name);
// Is there a file in inc/extensions/ ?
$GLOBALS['ext_name_valid'][$ext_name] = isIncludeReadable($INC);
} // END - if
} else {
// Extension not there! :-(
- reportBug(__FUNCTION__, __LINE__, sprintf("Extension <span class=\"data\">%s</span> not found but should be updated?", $ext_name));
+ reportBug(__FUNCTION__, __LINE__, sprintf('Extension <span class="data">%s</span> not found but should be updated?', $ext_name));
}
// Return task id
// Creates a new task for newly installed extension
function createNewExtensionTask ($ext_name) {
// Generate subject line
- $subject = sprintf("[%s:]", $ext_name);
+ $subject = sprintf('[%s:]', $ext_name);
// Get task id
$taskId = determineTaskIdBySubject($subject);
$message = '{%message,ADMIN_EXTENSION_TEXT_FILE_MISSING=' . $ext_name . '%}';
// Template file
- $FQFN = sprintf("%stemplates/%s/html/ext/ext_%s.tpl",
- getPath(),
- getLanguage(),
+ $FQFN = sprintf('%s/ext/ext_%s.tpl',
+ getTemplateBasePath('html'),
$ext_name
);
// Determines the task id for given extension
function determineExtensionTaskId ($ext_name) {
// Is it installation phase and table task_system is not found?
- if ((isInstallationPhase()) && (!ifSqlTableExists('task_system'))) {
+ if ((isInstaller()) && (!ifSqlTableExists('task_system'))) {
// Then return NULL (not found)
return NULL;
} // END - if
$GLOBALS['ext_depend_iterator'][getCurrentExtensionName()]++;
}
-// Setter for EXT_REPORTS_FAILURE flag
-function enableExtensionReportingFailure ($reportsFailure = FALSE) {
+// Setter for EXT_REPORTS_FAILURE flag (default: extension reported installation failure)
+function enableExtensionReportingFailure ($reportsFailure = TRUE) {
$GLOBALS['ext_reports_failure'] = (bool) $reportsFailure;
}
// Is there cache?
if (!isset($GLOBALS[__FUNCTION__][getCurrentExtensionName()][getCurrentTheme()])) {
// Construct FQFN for check
- $FQFN = sprintf("%stheme/%s/css/%s.css",
- getPath(),
- getCurrentTheme(),
+ $FQFN = sprintf('%s%s.css',
+ getBasePathFromTheme(getCurrentTheme()),
getCurrentExtensionName()
);
} // END - if
// Generate INC name
- $INC = sprintf("inc/extensions/ext-%s.php", getCurrentExtensionName());
+ $INC = sprintf('inc/extensions/ext-%s.php', getCurrentExtensionName());
// Load it
loadInclude($INC);
// Load current extension's mode include file
function loadCurrentExtensionModeInclude () {
// Generate INC name
- $INC = sprintf("inc/extensions/%s/mode-%s.php", getCurrentExtensionName(), getExtensionMode());
+ $INC = sprintf('inc/extensions/%s/mode-%s.php', getCurrentExtensionName(), getExtensionMode());
// Is the include readable?
if (isIncludeReadable($INC)) {
// Array found?
if (!isset($GLOBALS['ext_inc_readable'][$ext_name])) {
// Generate INC name
- $INC = sprintf("inc/extensions/ext-%s.php", getCurrentExtensionName());
+ $INC = sprintf('inc/extensions/ext-%s.php', getCurrentExtensionName());
// Is it readable?
$GLOBALS['ext_inc_readable'][$ext_name] = isIncludeReadable($INC);
incrementStatsEntry('cache_hits');
} else {
// Construct IFN for functions file
- $funcsInclude = sprintf("inc/libs/%s_functions.php", $ext_name);
+ $funcsInclude = sprintf('inc/libs/%s_functions.php', $ext_name);
// Is this include there?
$isIncludeFound = ((isFileReadable($funcsInclude)) && (!isExtensionLibraryLoaded($ext_name)) && (getExtensionMode() == 'test'));
addExtensionSql($sql);
} elseif (isDebugModeEnabled()) {
// Double menus should be located and fixed!
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Double sponsor menu action=%s,what=%s,title=%s,active=%s detected.", $action, $what, $title, $active));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Double sponsor menu action=%s,what=%s,title=%s,active=%s detected.', $action, $what, $title, $active));
}
}
// Add ALTER TABLE `foo` ADD sql if not found
function addExtensionAddTableColumnSql ($tableName, $columnName, $columnSql) {
+ // Assert on all
+ assert((!empty($tableName)) && (!empty($columnName)) && (!empty($columnSql)));
+ assert($columnName != $columnSql);
+
// Is the column there?
- if (!ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName, isInstallationPhase())) {
+ if (!ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName, isInstaller())) {
+ // Debug message
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',columnName=' . $columnName . ',columnSql=' . $columnSql);
+
// Then add it
addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ADD `' . $columnName . '` ' . $columnSql);
} elseif (isDebugModeEnabled()) {
// Add ALTER TABLE `foo` ADD INDEX sql if not found
function addExtensionAddTableIndexSql ($tableName, $indexName, $columnSql) {
+ // Assert on all
+ assert((!empty($tableName)) && (!empty($indexName)) && (!empty($columnSql)));
+ assert($indexName != $columnSql);
+
// Is the column there?
- if (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstallationPhase())) {
+ if (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstaller())) {
+ // Debug message
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',indexName=' . $indexName . ',columnSql=' . $columnSql);
+
// Then add it
addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ADD INDEX `' . $indexName . '` ' . $columnSql);
} elseif (isDebugModeEnabled()) {
// Add ALTER TABLE `foo` ADD UNIQUE INDEX sql if not found
function addExtensionAddTableUniqueSql ($tableName, $indexName, $columnSql) {
+ // Assert on all
+ assert((!empty($tableName)) && (!empty($indexName)) && (!empty($columnSql)));
+ assert($indexName != $columnSql);
+
// Is the column there?
- if (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstallationPhase())) {
+ if (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstaller())) {
+ // Debug message
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',indexName=' . $indexName . ',columnSql=' . $columnSql);
+
// Then add it
addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ADD UNIQUE INDEX `' . $indexName . '` ' . $columnSql);
} elseif (isDebugModeEnabled()) {
// Add ALTER TABLE `foo` ADD FULLTEXT sql if not found
function addExtensionAddTableFulltextSql ($tableName, $indexName, $columnSql) {
+ // Assert on all
+ assert((!empty($tableName)) && (!empty($indexName)) && (!empty($columnSql)));
+ assert($indexName != $columnSql);
+
// Is the column there and MyISAM engine? (InnoDB doesn't support FULLTEXT)
- if ((getTableType() == 'MyISAM') && (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstallationPhase()))) {
+ if ((getTableType() == 'MyISAM') && (!ifSqlTableIndexExist('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstaller()))) {
+ // Debug message
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',indexName=' . $indexName . ',columnSql=' . $columnSql);
+
// Then add it
addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ADD FULLTEXT `' . $indexName . '` ' . $columnSql);
} elseif (isDebugModeEnabled()) {
// Add ALTER TABLE `foo` CHANGE sql if not found
function addExtensionChangeTableColumnSql ($tableName, $fromColumnName, $toColumnName, $columnSql) {
+ // Assert on all
+ assert((!empty($tableName)) && (!empty($fromColumnName)) && (!empty($toColumnName)) && (!empty($columnSql)));
+ assert(($fromColumnName != $columnSql) && ($toColumnName != $columnSql));
+
// Is the column there?
- if ((ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $fromColumnName)) && (($fromColumnName == $toColumnName) || (!ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $toColumnName, isInstallationPhase())))) {
+ if ((ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $fromColumnName, isInstaller())) && (($fromColumnName == $toColumnName) || (!ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $toColumnName, isInstaller())))) {
+ // Debug message
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',fromColumnName=' . $fromColumnName . ',toColumnName=' . $toColumnName . ',columnSql=' . $columnSql);
+
// Then add it
addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` CHANGE `' . $fromColumnName . '` `' . $toColumnName . '` ' . $columnSql);
} elseif (isDebugModeEnabled()) {
// Add ALTER TABLE `foo` DROP sql if not found
function addExtensionDropTableColumnSql ($tableName, $columnName) {
+ // Assert on all
+ assert((!empty($tableName)) && (!empty($columnName)));
+
// Is the column there?
- if (ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName, isInstallationPhase())) {
+ if (ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $columnName, isInstaller())) {
+ // Debug message
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',columnName=' . $columnName);
+
// Then add it
addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` DROP `' . $columnName . '`');
} elseif (isDebugModeEnabled()) {
// Add ALTER TABLE `foo` DROP INDEX sql if not found
function addExtensionDropTableIndexSql ($tableName, $indexName) {
+ // Assert on all
+ assert((!empty($tableName)) && (!empty($indexName)));
+
// Is the column there?
- if (ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstallationPhase())) {
+ if (ifSqlTableColumnExists('{?_MYSQL_PREFIX?}_' . $tableName, $indexName, isInstaller())) {
+ // Debug message
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'tableName=' . $tableName . ',indexName=' . $indexName);
+
// Then add it
addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` DROP INDEX `' . $indexName . '`');
} elseif (isDebugModeEnabled()) {
* extension registration queue.
*/
function registerExtensionPointsData ($subject, $columnName, $lockedMode, $paymentMethod) {
+ // Assert on all
+ assert((!empty($subject)) && (!empty($columnName)) && (!empty($lockedMode)) && (!empty($paymentMethod)));
+ assert((in_array($lockedMode, array('LOCKED', 'UNLOCKED'))) && (in_array($paymentMethod, array('DIRECT', 'REFERRAL'))));
+
+ // Is the suffix '_ref' not set?
+ if (!ifSubjectHasReferralSuffix($subject)) {
+ // Register this first
+ registerExtensionPointsData($subject . '_ref', $columnName, $lockedMode, $paymentMethod);
+ } // END - if
+
// Default is old extension version
$add = '';
// Is the extension equal or newer 0.8.9?
- if (((isInstallationPhase()) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
+ if (((isInstaller()) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
// Then add provider
$add = " AND `account_provider`='EXTENSION'";
} // END - if
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ifSqlTableExists(points_data)=' . ifSqlTableExists('points_data') . ',getExtensionMode()=' . getExtensionMode() . ',add=' . $add);
if (((!ifSqlTableExists('points_data')) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (countSumTotalData($subject, 'points_data', 'id', 'subject', TRUE, $add) == 0)) {
// Not found so:
- if ((!isInstallationPhase()) && (isset($GLOBALS['previous_extension'][getCurrentExtensionName()])) && (!ifSqlTableExists('points_data'))) {
+ if ((!isInstaller()) && (isset($GLOBALS['previous_extension'][getCurrentExtensionName()])) && (!ifSqlTableExists('points_data'))) {
// This may happen (but when?)
// @TODO Is this really neccessary?
$dummy = $GLOBALS['previous_extension'][getCurrentExtensionName()];
- reportBug(__FUNCTION__, __LINE__, 'previous_extension[' . gettype($dummy) . ']=' . $dummy . ',getCurrentExtensionName()=' . getCurrentExtensionName() . ' - Under development, please report this!');
+ reportBug(__FUNCTION__, __LINE__, 'dummy[' . gettype($dummy) . ']=' . $dummy . ',getCurrentExtensionName()=' . getCurrentExtensionName() . ' - Under development, please report this!');
} // END - if
// With or without account_provider?
- if (((isInstallationPhase()) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
+ if (((isInstaller()) && ((getExtensionMode() == 'setup') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
// Add account_provider
addExtensionSql(sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`, `column_name`, `locked_mode`, `payment_method`, `account_provider`) VALUES ('%s','%s','%s','%s','EXTENSION')",
$subject,
* extension unregistration queue.
*/
function unregisterExtensionPointsData ($subject) {
+ // Is the suffix '_ref' not set?
+ if (!ifSubjectHasReferralSuffix($subject)) {
+ // Unregister this first
+ unregisterExtensionPointsData($subject . '_ref');
+ } // END - if
+
// Default is old extension version
$add = '';
$GLOBALS['cache_array']['extension']['ext_active'][$ext_name] = getThisExtensionAlwaysActive();
$GLOBALS['cache_array']['extension']['ext_lang'][$ext_name] = convertBooleanToYesNo(isExtensionLanguageFileReadable($ext_name));
$GLOBALS['cache_array']['extension']['ext_func'][$ext_name] = convertBooleanToYesNo(isExtensionFunctionFileReadable($ext_name));
- $GLOBALS['cache_array']['extension']['ext_menu'][$ext_name] = convertBooleanToYesNo(ifModuleHasMenu($ext_name, isInstallationPhase()));
+ $GLOBALS['cache_array']['extension']['ext_menu'][$ext_name] = convertBooleanToYesNo(ifModuleHasMenu($ext_name, isInstaller()));
$GLOBALS['cache_array']['extension']['ext_css'][$ext_name] = convertBooleanToYesNo(getExtensionHasCss());
$GLOBALS['cache_array']['extension']['ext_deprecated'][$ext_name] = 'N';
}