]> git.mxchange.org Git - mailer.git/blobdiff - inc/load_extensions.php
Fixes for sql_patches removal vs. password reset of admin
[mailer.git] / inc / load_extensions.php
index 8c469bd3c08066a3637d8a16eb5b76d5c8cc351d..1ca104512ee2326f03f31527a14b6ebdad63f7d1 100644 (file)
@@ -43,76 +43,65 @@ $EXT_CSS_FILES = array();
 $ADD = "";
 
 // Skip loading extensions
-if ((!mxchange_installed) || (mxchange_installing)) return;
+if ((!isBooleanConstantAndTrue('mxchange_installed')) || (isBooleanConstantAndTrue('mxchange_installing'))) return;
 
 // Load default sql_patches extension if present
-if (file_exists(PATH."inc/extensions/ext-sql_patches.php") && is_readable(PATH."inc/extensions/ext-sql_patches.php"))
-{
+if (file_exists(PATH."inc/extensions/ext-sql_patches.php") && is_readable(PATH."inc/extensions/ext-sql_patches.php")) {
        // Load it...
        $EXT_LOAD_MODE = "";
        require_once(PATH."inc/extensions/ext-sql_patches.php");
-       $KEEP_ACTIVE = array('sql_patches' => 'Y'); // KEEP THIS ALWAYS ACTIVE!
-}
- else
-{
+       $cacheArray['active_extensions'] = array('sql_patches' => 'Y'); // KEEP THIS ALWAYS ACTIVE!
+} else {
        // Initialize array for "always keep active extensions"
-       $KEEP_ACTIVE = array();
+       $cacheArray['active_extensions'] = array();
 }
 
 //
 // Load extensions
 //
-if (EXT_IS_ACTIVE("cache"))
-{
+if (EXT_IS_ACTIVE("cache")) {
        // Load cache extension alone
        include_once(PATH."inc/libs/cache_functions.php");
-       $CACHE_FILE = "";
+       $cacheMode = "";
        include_once(PATH."inc/extensions/ext-cache.php");
-       switch($CACHE->cache_file("extensions", true))
-       {
-               case true : $CACHE_FILE = "load"; break;
-               case false: $CACHE_FILE = "init"; break;
+       switch($cacheInstance->cache_file("extensions", true)) {
+               case true : $cacheMode = "load"; break;
+               case false: $cacheMode = "init"; break;
        }
 
        // Do not recreate cache file when it's switched off!
-       if (($CACHE_FILE == "init") && ($_CONFIG['cache_exts'] == 'N')) $CACHE_FILE = "skip";
+       if (($cacheMode == "init") && ($_CONFIG['cache_exts'] == "N")) $cacheMode = "skip";
 
        // Load language
-       if ($CACHE_FILE == "load") include(PATH."inc/language/cache_".GET_LANGUAGE().".php");
-}
- else
-{
-       $CACHE_FILE = "no";
+       if ($cacheMode == "load") include(PATH."inc/language/cache_".GET_LANGUAGE().".php");
+} else {
+       $cacheMode = "no";
 }
 
-if ($CACHE_FILE == "load")
-{
+if ($cacheMode == "load") {
        // Load more cache files (like admins)
        require_once(PATH."inc/load_cache.php");
 
        // Re-initialize handler
-       $CACHE->cache_file("extensions", true);
+       $cacheInstance->cache_file("extensions", true);
 
        // Load extension data from cache file
-       $EXT_DUMMY = $CACHE->cache_load();
-       foreach ($EXT_DUMMY['ext_name'] as $k=>$name)
-       {
+       $EXT_DUMMY = $cacheInstance->cache_load();
+       foreach ($EXT_DUMMY['ext_name'] as $k=>$name) {
                // Load functions file
-               if ($EXT_DUMMY['ext_funcs'][$k] == 'Y') require_once(PATH."inc/libs/".$name."_functions.php");
+               if ($EXT_DUMMY['ext_funcs'][$k] == "Y") require_once(PATH."inc/libs/".$name."_functions.php");
 
                // Load Language file
-               if ($EXT_DUMMY['ext_lang'][$k] == 'Y')
-               {
-                       $INC = sprintf(PATH."inc/language/%s_%s.php", $name, GET_LANGUAGE());
+               if ($EXT_DUMMY['ext_lang'][$k] == "Y") {
+                       $INC = sprintf("%sinc/language/%s_%s.php", PATH, $name, GET_LANGUAGE());
                        if (file_exists($INC)) require_once($INC);
                }
 
                // Load CSS file
-               if ($EXT_DUMMY['ext_css'][$k] == 'Y') $EXT_CSS_FILES[] = "".$name.".css";
+               if ($EXT_DUMMY['ext_css'][$k] == "Y") $EXT_CSS_FILES[] = "".$name.".css";
 
                // Load extension file itself
-               if (($EXT_DUMMY['ext_active'][$k] == 'Y') || ($EXT_DUMMY['ext_keep'][$k] == 'Y') || (IS_ADMIN()))
-               {
+               if (($EXT_DUMMY['ext_active'][$k] == "Y") || ($EXT_DUMMY['ext_keep'][$k] == "Y") || (IS_ADMIN())) {
                        require_once(PATH."inc/extensions/ext-".$name.".php");
                }
 
@@ -123,7 +112,7 @@ if ($CACHE_FILE == "load")
                unset($EXT_DUMMY['ext_active'][$k]);
                $EXT_DUMMY['ext_menu'][$name] = $EXT_DUMMY['ext_menu'][$k];
                unset($EXT_DUMMY['ext_menu'][$k]);
-               $KEEP_ACTIVE['$name'] = $EXT_DUMMY['ext_keep'][$k];
+               $cacheArray['active_extensions']['$name'] = $EXT_DUMMY['ext_keep'][$k];
                unset($EXT_DUMMY['ext_keep'][$k]);
                $k2 = $EXT_DUMMY['ext_id'][$k];
                $EXT_DUMMY['ext_id'][$k2] = $name;
@@ -136,34 +125,29 @@ if ($CACHE_FILE == "load")
        }
 
        // Close cache file
-       $CACHE->cache_close();
+       $cacheInstance->cache_close();
 
        // Loading cache is done so let's free some memory!
        unset($EXT_DUMMY['ext_lang']);
        unset($EXT_DUMMY['ext_keep']);
        unset($EXT_DUMMY['ext_css']);
        unset($EXT_DUMMY['ext_funcs']);
-       $EXTENSIONS = $EXT_DUMMY;
+       $cacheArray['extensions'] = $EXT_DUMMY;
        unset($EXT_DUMMY);
 
        // No database load needed
        $res_ext_crt = false;
-}
- else
-{
+} else {
        // If current user is not admin load only activated extensions
        // The admin shall use every available extension for testing purposes
-       if (!IS_ADMIN()) $ADD = " WHERE ext_active='Y'";
+       if ((!IS_ADMIN()) && ($cacheMode != "init")) $ADD = " WHERE ext_active='Y'";
 
-       if (GET_EXT_VERSION("sql_patches") >= "0.0.6")
-       {
+       if (GET_EXT_VERSION("sql_patches") >= "0.0.6") {
                // Query with CSS file from DB
                $res_ext_crt = SQL_QUERY("SELECT id, ext_name, ext_lang_file, ext_has_css, ext_active, ext_version
 FROM "._MYSQL_PREFIX."_extensions".$ADD."
 ORDER BY ext_name", __FILE__, __LINE__);
-       }
-        else
-       {
+       } else {
                // Old obsulete query string
                $res_ext_crt = SQL_QUERY("SELECT id, ext_name, ext_lang_file, ext_name, ext_active, ext_version
 FROM "._MYSQL_PREFIX."_extensions".$ADD."
@@ -175,13 +159,13 @@ ORDER BY ext_name", __FILE__, __LINE__);
 $DEL = array();
 
 // At least one found?
-if ((SQL_NUMROWS($res_ext_crt) > 0) && (($CACHE_FILE == "init") || ($CACHE_FILE == "no")) && ($CSS != "1") && ($CSS != "-1"))
+if ((SQL_NUMROWS($res_ext_crt) > 0) && (($cacheMode == "init") || ($cacheMode == "no")) && ($CSS != "1") && ($CSS != "-1"))
 {
        // Load theme management
        require_once(PATH."inc/theme-manager.php");
 
        // If we need to init the cache init it now
-       if ($CACHE_FILE == "init") $CACHE->cache_init("EXTENSIONS");
+       if ($cacheMode == "init") $cacheInstance->cache_init("EXTENSIONS");
 
        // Extensions are registered so we load them
        while (list($EXT_ID, $name, $lang, $css, $active, $version) = SQL_FETCHROW($res_ext_crt))
@@ -193,14 +177,14 @@ if ((SQL_NUMROWS($res_ext_crt) > 0) && (($CACHE_FILE == "init") || ($CACHE_FILE
                //* DEBUG: */ echo "*".$name."/".$menu."*<br>";
 
                // An empty menu entry will be interpreted as N (no menu) to avoid problems
-               if (empty($menu)) $menu = 'N';
+               if (empty($menu)) $menu = "N";
 
                // Load extensions
-               $file1 = sprintf(PATH."inc/extensions/ext-%s.php", $name);
-               $file2 = $file1; $EXT_CSS = 'N'; $EXT_ALWAYS_ACTIVE = 'N';
+               $file1 = sprintf("%sinc/extensions/ext-%s.php", PATH, $name);
+               $file2 = $file1; $EXT_CSS = "N"; $EXT_ALWAYS_ACTIVE = "N";
 
                // Special functions file
-               $file3 = sprintf(PATH."inc/libs/%s_functions.php", $name);
+               $file3 = sprintf("%sinc/libs/%s_functions.php", PATH, $name);
 
                // Does the extension file exists?
                if (file_exists($file1) && is_readable($file1))
@@ -208,32 +192,32 @@ if ((SQL_NUMROWS($res_ext_crt) > 0) && (($CACHE_FILE == "init") || ($CACHE_FILE
                        // If there's no language file specified we don't need to load one... ;-)
                        if (!empty($lang)) {
                                // Create language file
-                               $file2 = sprintf(PATH."inc/language/%s_%s.php", $lang, GET_LANGUAGE());
+                               $file2 = sprintf("%sinc/language/%s_%s.php", PATH, $lang, GET_LANGUAGE());
                        }
 
                        if (file_exists($file3) && is_readable($file3))
                        {
                                // Special functions file
-                               $funcs = 'Y';
+                               $funcs = "Y";
                                require_once($file3);
                        }
                         else
                        {
                                // Don't load functions file
-                               $funcs = 'N';
+                               $funcs = "N";
                        }
 
                        // Do we need a language file?
                        if (($file1 != $file2) && (file_exists($file2)) && (is_readable($file2)))
                        {
                                // Load language file
-                               $lang = 'Y';
+                               $lang = "Y";
                                include($file2);
                        }
                         else
                        {
                                // Don't load language file
-                               $lang = 'N';
+                               $lang = "N";
                        }
 
                        // Load extension
@@ -245,12 +229,12 @@ if ((SQL_NUMROWS($res_ext_crt) > 0) && (($CACHE_FILE == "init") || ($CACHE_FILE
                         else
                        {
                                // KEEP sql_patches ALWAYS ACTIVE!
-                               $EXT_ALWAYS_ACTIVE = 'Y';
+                               $EXT_ALWAYS_ACTIVE = "Y";
                        }
 
-                       if ($css == 'Y')
+                       if ($css == "Y")
                        {
-                               $CSS_FILE = PATH."theme/".GET_CURR_THEME()."/css/".$name.".css";
+                               $CSS_FILE = sprintf("%stheme/%s/css/%s.css", PATH, GET_CURR_THEME(), $name);
                                if (file_exists($CSS_FILE))
                                {
                                        // CSS file for extension was found (use only relative path for now!)
@@ -259,14 +243,14 @@ if ((SQL_NUMROWS($res_ext_crt) > 0) && (($CACHE_FILE == "init") || ($CACHE_FILE
                                 else
                                {
                                        // Don't load CSS file
-                                       $css = 'N';
+                                       $css = "N";
                                }
                        }
 
                        // Add cache row
-                       if ($CACHE_FILE == "init")
+                       if ($cacheMode == "init")
                        {
-                               $CACHE->add_row(array(
+                               $cacheInstance->add_row(array(
                                        'ext_id'      => $EXT_ID,
                                        'ext_name'    => $name,
                                        'ext_lang'    => $lang,
@@ -278,10 +262,10 @@ if ((SQL_NUMROWS($res_ext_crt) > 0) && (($CACHE_FILE == "init") || ($CACHE_FILE
                                        'ext_keep'    => $EXT_ALWAYS_ACTIVE,
                                ));
                        }
-                        elseif ($CACHE_FILE == "no")
+                        elseif ($cacheMode == "no")
                        {
                                // Remember this value for later usage
-                               $KEEP_ACTIVE[$name] = $EXT_ALWAYS_ACTIVE;
+                               $cacheArray['active_extensions'][$name] = $EXT_ALWAYS_ACTIVE;
                        }
                }
                 elseif (!file_exists($file1))
@@ -291,10 +275,10 @@ if ((SQL_NUMROWS($res_ext_crt) > 0) && (($CACHE_FILE == "init") || ($CACHE_FILE
                }
        }
 
-       if ($CACHE_FILE == "init")
+       if ($cacheMode == "init")
        {
                // Close cache file
-               $CACHE->cache_close();
+               $cacheInstance->cache_close();
 
                // Load more cache files (like admins)
                require_once(PATH."inc/load_cache.php");
@@ -304,16 +288,6 @@ if ((SQL_NUMROWS($res_ext_crt) > 0) && (($CACHE_FILE == "init") || ($CACHE_FILE
 // Free memory
 SQL_FREERESULT($res_ext_crt);
 
-// Compile configuration system
-/**
- * Commented out...
- *
- *foreach ($_CONFIG as $k=>$v)
- *{
- *     $_CONFIG[$k] = COMPILE_CODE($v);
- *}
- */
-
 // Load include files
 if (!empty($INC_POOL[0]))
 {