Final fixes for password reset behavior on sql_patches removal :)
[mailer.git] / inc / modules / admin / what-extensions.php
index 4bb2f5481bf97eeb62d291267514f366a7e2e60a..b6a7d366578062fb146f87654b9492e42d0292a1 100644 (file)
@@ -55,12 +55,12 @@ if (!empty($_GET['reg_ext'])) {
        // De-/activate extensions
        foreach ($_POST['sel'] as $id=>$active) {
                // Shall we keep the extension always active?
-               if ((isset($cacheArray['active_extensions'][GET_EXT_NAME($id)])) && ($cacheArray['active_extensions'][GET_EXT_NAME($id)] == 'Y') && ($active == 'N')) {
+               if ((isset($cacheArray['active_extensions'][GET_EXT_NAME($id)])) && ($cacheArray['active_extensions'][GET_EXT_NAME($id)] == "Y") && ($active == "N")) {
                        // Keep this extension active!
                } else {
                        // De/activate extension
-                       $ACT = 'N'; $EXT_LOAD_MODE = "deactivate";
-                       if ($active == 'N') { $ACT = 'Y'; $EXT_LOAD_MODE = "activate"; }
+                       $ACT = "N"; $EXT_LOAD_MODE = "deactivate";
+                       if ($active == "N") { $ACT = "Y"; $EXT_LOAD_MODE = "activate"; }
                        $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_extensions SET ext_active='".$ACT."' WHERE id=%d AND ext_active='%s' LIMIT 1",
                         array(bigintval($id), $active), __FILE__, __LINE__);
 
@@ -111,7 +111,7 @@ if (!empty($_GET['reg_ext'])) {
                $SW = "2"; $OUT = "";
                foreach ($_POST['sel'] as $id=>$sel) {
                        // Edit this extension?
-                       if (($sel == 'Y') || ($sel == 'N')) {
+                       if (($sel == "Y") || ($sel == "N")) {
                                // Load required data
                                if (GET_EXT_VERSION("sql_patches") >= "0.0.6") {
                                        $result = SQL_QUERY_ESC("SELECT ext_name, ext_has_css, ext_active FROM "._MYSQL_PREFIX."_extensions WHERE id=%d LIMIT 1",
@@ -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
@@ -202,12 +206,8 @@ if (!empty($_GET['reg_ext'])) {
                if ($active == 1) {
                        // Run embeded SQL commands
                        EXTENSION_RUN_SQLS($id, "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",
-                        array(bigintval($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 +220,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) {
@@ -282,7 +282,7 @@ case "overview": // List all registered extensions
 
 case "register": // Register new extension
        $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE assigned_admin='%s' AND task_type='EXTENSION' LIMIT 1",
-        array(bigintval(GET_ADMIN_ID($_SESSION['admin_login']))), __FILE__, __LINE__);
+        array(bigintval(GET_ADMIN_ID(get_session('admin_login')))), __FILE__, __LINE__);
        $task_found = SQL_NUMROWS($result);
 
        // Free result
@@ -304,14 +304,16 @@ case "register": // Register new extension
 
                        // ... so we can finally register and load it in registration mode
                        $status = EXTENSION_REGISTER($ext_name, $id);
-                       if ($status) {
+                       if ($status == true) {
                                // Extension was found and successfully registered
                                LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_EXTENSION_REGISTERED);
 
                                // Do we need to update cache file?
                                if ((EXT_IS_ACTIVE("cache")) && ($cacheMode != "no")) {
                                        // Remove cache file (will be auto-created again!)
+                                       if ($cacheInstance->cache_file("config"    , true)) $cacheInstance->cache_destroy();
                                        if ($cacheInstance->cache_file("extensions", true)) $cacheInstance->cache_destroy();
+                                       if ($cacheInstance->cache_file("mod_reg"   , true)) $cacheInstance->cache_destroy();
                                }
                        } else {
                                // Motify the admin that we have a problem here...
@@ -356,7 +358,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