// Is there still an SQL query?
if (!empty($sql)) {
- // Run SQL command
- $result = SQL_QUERY($sql, __FILE__, __LINE__, false);
+ // Do we have an "ALTER TABLE" command?
+ if (substr(strtolower($sql), 0, 11) == "alter table") {
+ // Analyse the alteration command
+ SQL_ALTER_TABLE($sql, __FILE__, __LINE__);
+ } else {
+ // Run regular SQL command
+ $result = SQL_QUERY($sql, __FILE__, __LINE__, false);
+ }
} // END - if
} // END - foreach
array($ext_name, $EXT_LANG_PREFIX, $EXT_ALWAYS_ACTIVE, $EXT_VERSION), __FILE__, __LINE__);
// Update task management
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_task_system SET status='SOLVED' WHERE id=%d LIMIT 1",
- array(bigintval($id)), __FILE__, __LINE__);
+ ADMIN_SOLVE_TASK($id);
// In normal mode return a true on success
$ret = true; unset($SQLs);
}
} elseif (($id > 0) && (!empty($ext_name))) {
// Remove task from system when id and extension's name is valid
- $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_task_system WHERE id=%d AND status='NEW' LIMIT 1",
+ $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_task_system WHERE id=%s AND status='NEW' LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__);
}
// Is there still an SQL query?
if (!empty($sql)) {
- // Run SQL command
- $result = SQL_QUERY($sql, __FILE__, __LINE__, false);
+ // Do we have an "ALTER TABLE" command?
+ if (substr(strtolower($sql), 0, 11) == "alter table") {
+ // Analyse the alteration command
+ SQL_ALTER_TABLE($sql, __FILE__, __LINE__);
+ } else {
+ // Run regular SQL command
+ $result = SQL_QUERY($sql, __FILE__, __LINE__, false);
+ }
} // END - if
} // END - foreach
// Removal mode?
if ($EXT_LOAD_MODE == "remove") {
// Delete this extension (remember to remove it from your server *before* you click on welcome!
- $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_extensions WHERE id=%d LIMIT 1",
+ $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_extensions WHERE id=%s LIMIT 1",
array($id), __FILE__, __LINE__);
} // END - if
$sql = trim($sql);
if (!empty($sql))
{
- // Run SQL command...
- $result = SQL_QUERY($sql, __FILE__, __LINE__, false);
+ // Do we have an "ALTER TABLE" command?
+ if (substr(strtolower($sql), 0, 11) == "alter table") {
+ // Analyse the alteration command
+ SQL_ALTER_TABLE($sql, __FILE__, __LINE__);
+ } else {
+ // Run regular SQL command
+ $result = SQL_QUERY($sql, __FILE__, __LINE__, false);
+ }
}
}
} elseif (GET_EXT_VERSION("sql_patches") == "") {
// Create task
$result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE subject='%s' LIMIT 1",
array($ext_subj), __FILE__, __LINE__);
- if (SQL_NUMROWS($result) == 0)
- {
+ if (SQL_NUMROWS($result) == 0) {
// Task not created so it's a brand-new extension which we need to register and create a task for!
$result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_task_system (assigned_admin, userid, status, task_type, subject, text, task_created) VALUES ('%s', '0', 'NEW', 'EXTENSION_UPDATE', '%s', '%s', UNIX_TIMESTAMP())",
- array(GET_ADMIN_ID(SQL_ESCAPE(get_session('admin_login'))), $ext_subj, addslashes($NOTES)), __FILE__, __LINE__);
+ array(GET_ADMIN_ID(get_session('admin_login')), $ext_subj, addslashes($NOTES)), __FILE__, __LINE__);
}
// Free memory
array($EXT_VERSION, $ext), __FILE__, __LINE__);
// Update cache
- if (EXT_IS_ACTIVE("cache"))
- {
+ if (EXT_IS_ACTIVE("cache")) {
if ($cacheInstance->cache_file("extensions", true) == true) $cacheInstance->cache_destroy();
if ($cacheInstance->cache_file("config", true) == true) $cacheInstance->cache_destroy();
if ($cacheInstance->cache_file("mod_reg", true) == true) $cacheInstance->cache_destroy();
- }
+ } // END - if
// Remove array
unset($SQLs);
- }
- else
- {
+ } else {
// In "dry-run" mode return array with SQL commands
return $SQLs;
}
}
}
//
-function EXTENSION_VERBOSE_TABLE($SQLs, $title=ADMIN_SQLS_EXECUTED_ON_REMOVAL, $dashed="", $switch=false, $WIDTH="480")
-{
+function EXTENSION_VERBOSE_TABLE($SQLs, $title = ADMIN_SQLS_EXECUTED_ON_REMOVAL, $dashed = "", $switch = false, $WIDTH = "480") {
global $_CONFIG;
$S = false; $SW = 2; $i = 1;
$OUT = "";
- if ((is_array($SQLs)) && (GET_EXT_VERSION("sql_patches")) && ($_CONFIG['verbose_sql'] == "Y"))
- {
+ if ((is_array($SQLs)) && (GET_EXT_VERSION("sql_patches")) && ($_CONFIG['verbose_sql'] == "Y")) {
$OUT = "<DIV align=\"center\">
<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"".$WIDTH."\" align=\"center\"".$dashed.">
<TR>
<STRONG>".$title.":</STRONG>
</TD>
</TR>\n";
- foreach ($SQLs as $idx=>$sql)
- {
+ foreach ($SQLs as $idx => $sql) {
$sql = trim($sql);
- if (!empty($sql))
- {
+ if (!empty($sql)) {
$S = true;
$OUT .= "<TR>
<TD class=\"switch_sw".(3 - $SW)." bottom2\" style=\"padding-left: 2px\" width=\"30\">".$i.".</TD>
}
}
- if ((!$S) && (GET_EXT_VERSION("sql_patches")) && ($_CONFIG['verbose_sql'] == "Y"))
- {
+ if ((!$S) && (GET_EXT_VERSION("sql_patches")) && ($_CONFIG['verbose_sql'] == "Y")) {
// No addional SQL commands to run
$OUT .= "<TR>
<TD colspan=\"2\" align=\"center\" class=\"switch_sw2 bottom2\" height=\"24\">
$OUT .= "</TABLE>
</DIV>\n";
}
+
+ // Return output
return $OUT;
}
-//
-function GET_EXT_NAME($id)
-{
+// Get extension name from id
+function GET_EXT_NAME ($id) {
$ret = "";
global $cacheArray, $_CONFIG;
- if (!empty($cacheArray['extensions']['ext_id'][$id]))
- {
+ if (!empty($cacheArray['extensions']['ext_name'][$id])) {
// Load from cache
- $ret = $cacheArray['extensions']['ext_id'][$id];
+ $ret = $cacheArray['extensions']['ext_name'][$id];
// Count cache hits
$_CONFIG['cache_hits']++;
- }
- else
- {
+ } elseif (!EXT_IS_ACTIVE("cache")) {
// Load from database
- $result = SQL_QUERY_ESC("SELECT ext_name FROM "._MYSQL_PREFIX."_extensions WHERE id=%d LIMIT 1",
+ $result = SQL_QUERY_ESC("SELECT ext_name FROM "._MYSQL_PREFIX."_extensions WHERE id=%s LIMIT 1",
array(bigintval($id)), __FILE__, __LINE__);
list($ret) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
}
return $ret;
}
-//
-function GET_EXT_ID($name)
-{
- $ret = "0";
+// Get extension id from name
+function GET_EXT_ID($name) {
+ $ret = 0;
global $cacheArray, $_CONFIG;
- if ((isset($cacheArray['extensions']['ext_id'])) && (is_array($cacheArray['extensions']['ext_id'])))
- {
+ if (isset($cacheArray['extensions']['ext_id'][$name])) {
// Load from cache
- $ret = array_search($name, $cacheArray['extensions']['ext_id']);
+ $ret = $cacheArray['extensions']['ext_id'][$name];
// Count cache hits
$_CONFIG['cache_hits']++;
- }
- else
- {
+ } elseif (!EXT_IS_ACTIVE("cache")) {
// Load from database
$result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_extensions WHERE ext_name='%s' LIMIT 1",
array($name), __FILE__, __LINE__);
list($ret) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
}
+
+ // Return value
return $ret;
}
//