Fixes for sql_patches removal vs. password reset of admin
[mailer.git] / inc / modules / admin / what-extensions.php
index bf5e18247042312dcef8e0ab19679a1275b6df6a..eb6079c2e06c4ed2dd22f4c96a89cd39d3ff6996 100644 (file)
@@ -143,7 +143,7 @@ if (!empty($_GET['reg_ext'])) {
                                $OUT .= LOAD_TEMPLATE("admin_extensions_edit_row", true, $content);
                                $SW = 3 - $SW;
                        }
-               }
+               } // END - foreach
                define('__EXTENSIONS_ROWS', $OUT);
 
                // Load template
@@ -154,11 +154,15 @@ if (!empty($_GET['reg_ext'])) {
        // List extensions and when verbose is enabled SQL statements which will be executed
        $SW = 2; $OUT = "";
        foreach ($_POST['sel'] as $id=>$sel) {
+               // Init variables
                $VERBOSE_OUT = ""; $SQLs = array();
-               // Load extension's data
-               $result = SQL_QUERY_ESC("SELECT ext_name, ext_version FROM "._MYSQL_PREFIX."_extensions WHERE id=%d LIMIT 1",
-                array(bigintval($id)), __FILE__, __LINE__);
-               list($ext_name, $ext_ver) = SQL_FETCHROW($result);
+
+               // Secure id number
+               $id = bigintval($id);
+
+               // Get extension name
+               $ext_name = GET_EXT_NAME($id);
+               $ext_ver = GET_EXT_VERSION($ext_name);
 
                // Free the result
                SQL_FREERESULT($result);
@@ -166,12 +170,12 @@ if (!empty($_GET['reg_ext'])) {
                if ($_CONFIG['verbose_sql']) {
                        // Load SQL commands in remove mode
                        $EXT_LOAD_MODE = "remove";
-                       $file = sprintf(PATH."inc/extensions/ext-%s.php", $ext_name);
+                       $file = sprintf("%sinc/extensions/ext-%s.php", PATH, $ext_name);
                        include($file);
 
                        // Generate extra table with loaded SQL commands
                        $VERBOSE_OUT = EXTENSION_VERBOSE_TABLE($SQLs);
-               }
+               } // END - if
 
                // Prepare data for the row template
                $content = array(
@@ -185,7 +189,7 @@ if (!empty($_GET['reg_ext'])) {
                // Load row template and switch color
                $OUT .= LOAD_TEMPLATE("admin_extensions_delete_row", true, $content);
                $SW = 3 - $SW;
-       }
+       } // END - foreach
        define('__EXTENSIONS_ROWS', $OUT);
 
        // Load template
@@ -205,9 +209,9 @@ if (!empty($_GET['reg_ext'])) {
 
                        // 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",
-                        array(bigintval($id)), __FILE__, __LINE__);
-               }
-       }
+                        array($id), __FILE__, __LINE__);
+               } // END - if
+       } // END - foreach
 } elseif (!empty($_GET['do']) && (!IS_DEMO())) {
        // Other things to do
        $do = SQL_ESCAPE(strip_tags($_GET['do']));
@@ -220,7 +224,7 @@ if (!empty($_GET['reg_ext'])) {
 $where = "";
 if (!empty($_GET['active'])) {
        $where = sprintf("WHERE ext_active = '%s'", SQL_ESCAPE(strip_tags($_GET['active'])));
-}
+} // END - if
 
 // Case selection
 switch ($do) {
@@ -308,7 +312,7 @@ case "register": // Register new extension
                                // Is this sql_patches? Then we need to auto-logout!
                                if ($ext_name == "sql_patches") {
                                        // Auto-logout here
-                                       LOAD_URL("modules.php?module=admin&logout=1&sql_patches=1");
+                                       LOAD_URL("modules.php?module=admin&logout=1&install=sql_patches");
                                }
 
                                // Extension was found and successfully registered
@@ -362,7 +366,7 @@ case "search": // Search for new extensions on our server
                        if ((substr($value, 0, 4) == "ext-") && (substr($value, -4) == ".zip"))
                        {
                                $name = substr($value, 4, -4);
-                               $file = sprintf(PATH."inc/extensions/ext-%s.php", $name);
+                               $file = sprintf("%sinc/extensions/ext-%s.php", PATH, $name);
                                $ver = trim(substr($response[$id + 3], 4));
 
                                // Load current extension's version