return ($GLOBALS['cache_array']['extension']['ext_func'][$ext_name] == 'Y');
}
+// Adds a CREATE TABLE statement if the requested table is not there
+function addCreateTableSql ($tableName, $sql) {
+ // Is the table not there?
+ if (!isSqlTableCreated($tableName)) {
+ // Is not found, so add it
+ addExtensionSql('CREATE TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ' . $sql);
+ } else {
+ // Is already there, which should not happen
+ debug_report_bug(__FUNCTION__, __LINE__, 'The table ' . $tableName . ' is already created which should not happen.');
+ }
+}
+
// Adds a DROP TABLE statement if the requested tabled is there
-function addDropTableSql ($table) {
+function addDropTableSql ($tableName) {
// Is the table there?
- if (isSqlTableCreated($table)) {
+ if (isSqlTableCreated($tableName)) {
// Then add it, non-existing tables can be ignored because it will
// happen with every newly installed extension.
- addExtensionSql('DROP TABLE `{?_MYSQL_PREFIX?}_' . $table . '`');
+ addExtensionSql('DROP TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '`');
+
+ // Mark it as gone
+ $GLOBALS['isSqlTableCreated'][$tableName] = false;
} // END - if
}
// Is the column there?
if (!isSqlTableColumnFound('{?_MYSQL_PREFIX?}_config', $columnName)) {
// Not found, so add it
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `' . $columName . '` ' . $columnSql);
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `' . $columnName . '` ' . $columnSql);
} else {
// Add debug line
logDebugMessage(__FUNCTION__, __LINE__, 'Configuration entry ' . $columnName . ' already created. columnSql=' . $columnSql);
}
}
+// Drop configuration entry if found for actual extension
+function addConfigDropSql ($columnName) {
+ // Is the column there?
+ if (isSqlTableColumnFound('{?_MYSQL_PREFIX?}_config', $columnName)) {
+ // Found, so add it
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` DROP `' . $columnName . '`');
+ } else {
+ // Add debug line, debug_report_bug() would cause some extenion updates fail
+ logDebugMessage(__FUNCTION__, __LINE__, 'Configuration entry ' . $columnName . ' not found.');
+ }
+}
+
+// Change configuration entry for actual extension
+function addConfigChangeSql ($oldColumnName, $newColumnName, $columnSql) {
+ // Is the old column there?
+ if (isSqlTableColumnFound('{?_MYSQL_PREFIX?}_config', $oldColumnName)) {
+ // Found so add it
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` CHANGE `' . $oldColumnName . '` `' . $newColumnName . '` ' . $columnSql);
+ } else {
+ // Add debug line, debug_report_bug() would cause some extenion updates fail
+ logDebugMessage(__FUNCTION__, __LINE__, 'Configuration entry ' . $oldColumnName . ' not found.');
+ }
+}
+
// Enables/disables productive mode for current extension (used only while
// registration).
+// @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)));