More other options moved out (to config_order)
[mailer.git] / inc / extensions.php
index e8675c7ef3bfcd9f93051307b3718875856877c8..21113440614d7ec8ac88cd55cf838b82c0e7d78d 100644 (file)
@@ -38,9 +38,9 @@ if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
        require($INC);
 }
 //
-function EXTENSION_REGISTER($ext_name, $id, $dry_run=false)
+function EXTENSION_REGISTER ($ext_name, $id, $dry_run=false)
 {
-       global $NOTES, $CONFIG, $INC_POOL;
+       global $NOTES, $_CONFIG, $INC_POOL;
        // We want to register an extension and registration status is by default "failed" (= false)
        $EXT_LOAD_MODE = "register"; $ret = false; $SQLs = array();
        $INC_POOL = array();
@@ -65,22 +65,22 @@ function EXTENSION_REGISTER($ext_name, $id, $dry_run=false)
                foreach ($EXT_VER_HISTORY as $EXT_VER)
                {
                        require($file);
-                       if (((GET_EXT_VERSION("sql_patches") != "") && ($CONFIG['verbose_sql'] == 'Y')) || (!EXT_IS_ACTIVE("sql_patches")))
+                       if (((GET_EXT_VERSION("sql_patches") != '') && ($_CONFIG['verbose_sql'] == 'Y')) || (!EXT_IS_ACTIVE("sql_patches")))
                        {
                                if (!empty($UPDATE_NOTES))
                                {
                                        // Update notes found
-                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><BR>".$UPDATE_NOTES."<BR><BR>\n";
+                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><br />".$UPDATE_NOTES."<br /><br />\n";
                                        $UPDATE_NOTES = "";
                                }
                                 elseif (($EXT_VER == "0.0") || ($EXT_VER == "0.0.0"))
                                {
                                        // Initial release
-                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><BR>".INITIAL_RELEASE."<BR><BR>\n";
+                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><br />".INITIAL_RELEASE."<br /><br />\n";
                                }
                                 else
                                {
-                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><BR><I>".NO_UPDATE_NOTES."</I><BR><BR>\n";
+                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><br /><I>".NO_UPDATE_NOTES."</I><br /><br />\n";
                                }
                        }
                }
@@ -225,7 +225,7 @@ function EXTENSION_REGISTER($ext_name, $id, $dry_run=false)
 //
 function EXTENSION_RUN_SQLS($id, $EXT_LOAD_MODE)
 {
-       global $CACHE;
+       global $cacheInstance;
        // This shall never do a non-admin user!
        if (!IS_ADMIN()) return false;
 
@@ -256,34 +256,34 @@ function EXTENSION_RUN_SQLS($id, $EXT_LOAD_MODE)
                // Remove cache file(s) if extension is active
                if (EXT_IS_ACTIVE("cache")) {
                        // Remove cache filer
-                       if ($CACHE->cache_file("extensions", true)) $CACHE->cache_destroy();
-                       if ($CACHE->cache_file("mod_reg", true))    $CACHE->cache_destroy();
-                       if ($CACHE->cache_file("config", true))     $CACHE->cache_destroy();
+                       if ($cacheInstance->cache_file("extensions", true)) $cacheInstance->cache_destroy();
+                       if ($cacheInstance->cache_file("mod_reg", true))    $cacheInstance->cache_destroy();
+                       if ($cacheInstance->cache_file("config", true))     $cacheInstance->cache_destroy();
                }
        }
 }
 //
 function EXT_IS_ACTIVE ($ext_name, $ignore_admin=false, $ignore_cache=false)
 {
-       global $EXTENSIONS, $CONFIG;
+       global $cacheArray, $_CONFIG;
 
        // Extensions are all inactive during installation
-       if ((!mxchange_installed) || (mxchange_installing) || (empty($ext_name))) return false;
+       if ((!isBooleanConstantAndTrue('mxchange_installed')) || (isBooleanConstantAndTrue('mxchange_installing')) || (empty($ext_name))) return false;
 
        // Extension's file name will also be checked
        $file = PATH."inc/extensions/ext-".$ext_name.".php";
        if ((!file_exists($file)) && (!is_readable($file))) return false;
-       //* DEBUG: */ echo "*".$ext_name."*<BR>";
+       //* DEBUG: */ echo "*".$ext_name."*<br />";
 
        // Failed is the default
        $ret = false;
-       if ((!empty($EXTENSIONS['ext_active'][$ext_name])) && (!$ignore_cache))
+       if ((!empty($cacheArray['extensions']['ext_active'][$ext_name])) && (!$ignore_cache))
        {
                // Load from cache
-               $active = $EXTENSIONS['ext_active'][$ext_name];
+               $active = $cacheArray['extensions']['ext_active'][$ext_name];
 
                // Count cache hits
-               if (isset($CONFIG['cache_hits'])) $CONFIG['cache_hits']++;
+               if (isset($_CONFIG['cache_hits'])) $_CONFIG['cache_hits']++;
        }
         else
        {
@@ -299,7 +299,7 @@ function EXT_IS_ACTIVE ($ext_name, $ignore_admin=false, $ignore_cache=false)
                SQL_FREERESULT($result);
 
                // Write cache array
-               $EXTENSIONS['ext_active'][$ext_name] = $active;
+               $cacheArray['extensions']['ext_active'][$ext_name] = $active;
        }
 
        // Is this extension activated? (For admins we always have active extensions...)
@@ -319,24 +319,22 @@ function EXT_IS_ACTIVE ($ext_name, $ignore_admin=false, $ignore_cache=false)
                )
        );
 }
-//
-function GET_EXT_VERSION ($ext_name)
-{
-       global $EXTENSIONS, $CONFIG;
+// Get version from extensions
+function GET_EXT_VERSION ($ext_name) {
+       global $cacheArray, $_CONFIG, $cacheInstance;
+       $ret = false;
+
        // Extensions are all inactive during installation
-       if ((!mxchange_installed) || (mxchange_installing)) return "";
+       if ((!isBooleanConstantAndTrue('mxchange_installed')) || (isBooleanConstantAndTrue('mxchange_installing'))) return "";
 
        // Is the cache written?
-       if (!empty($EXTENSIONS['ext_version'][$ext_name]))
-       {
+       if (!empty($cacheArray['extensions']['ext_version'][$ext_name])) {
                // Load data from cache
-               $ret = $EXTENSIONS['ext_version'][$ext_name];
+               $ret = $cacheArray['extensions']['ext_version'][$ext_name];
 
                // Count cache hits
-               if (isset($CONFIG['cache_hits'])) $CONFIG['cache_hits']++;
-       }
-        else
-       {
+               if (isset($_CONFIG['cache_hits'])) $_CONFIG['cache_hits']++; else $_CONFIG['cache_hits'] = 1;
+       } elseif (!is_object($cacheInstance)) {
                // Load from database
                $result = SQL_QUERY_ESC("SELECT ext_version FROM "._MYSQL_PREFIX."_extensions WHERE ext_name='%s' LIMIT 1",
                 array($ext_name), __FILE__, __LINE__);
@@ -344,7 +342,7 @@ function GET_EXT_VERSION ($ext_name)
                SQL_FREERESULT($result);
 
                // Set cache
-               $EXTENSIONS['ext_version'][$ext_name] = $ret;
+               $cacheArray['extensions']['ext_version'][$ext_name] = $ret;
        }
        return $ret;
 }
@@ -352,7 +350,7 @@ function GET_EXT_VERSION ($ext_name)
 function EXTENSION_UPDATE($file, $ext, $EXT_VER, $dry_run=false)
 {
        // This shall never do a non-admin user!
-       global $CACHE, $CONFIG, $NOTES; $SQLs = array();
+       global $cacheInstance, $_CONFIG, $NOTES; $SQLs = array();
        if ((!IS_ADMIN()) || (empty($ext))) return false;
 
        // Load extension in update mode
@@ -384,23 +382,23 @@ function EXTENSION_UPDATE($file, $ext, $EXT_VER, $dry_run=false)
                        include(PATH."inc/extensions/".$file);
 
                        // Add notes
-                       if ($CONFIG['verbose_sql'] == 'Y')
+                       if ($_CONFIG['verbose_sql'] == 'Y')
                        {
                                $EXT_VER = $EXT_VER_HISTORY[$idx];
                                if (!empty($UPDATE_NOTES))
                                {
                                        // Update notes found
-                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><BR>".$UPDATE_NOTES."<BR><BR>\n";
+                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><br />".$UPDATE_NOTES."<br /><br />\n";
                                        $UPDATE_NOTES = "";
                                }
                                 elseif ($EXT_VER == "0.0")
                                {
                                        // Initial release
-                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><BR>".INITIAL_RELEASE."<BR><BR>\n";
+                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><br />".INITIAL_RELEASE."<br /><br />\n";
                                }
                                 else
                                {
-                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><BR><I>".NO_UPDATE_NOTES."</I><BR><BR>\n";
+                                       $NOTES .= "<STRONG>v".$EXT_VER.":</STRONG><br /><I>".NO_UPDATE_NOTES."</I><br /><br />\n";
                                }
                        }
 
@@ -435,7 +433,7 @@ function EXTENSION_UPDATE($file, $ext, $EXT_VER, $dry_run=false)
                        {
                                // 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($_COOKIE['admin_login'])), $ext_subj, addslashes($NOTES)), __FILE__, __LINE__);
+                                array(GET_ADMIN_ID(SQL_ESCAPE(get_session('admin_login'))), $ext_subj, addslashes($NOTES)), __FILE__, __LINE__);
                        }
 
                        // Free memory
@@ -448,9 +446,9 @@ function EXTENSION_UPDATE($file, $ext, $EXT_VER, $dry_run=false)
                        // Update cache
                        if (EXT_IS_ACTIVE("cache"))
                        {
-                               if ($CACHE->cache_file("extensions", true) == true) $CACHE->cache_destroy();
-                               if ($CACHE->cache_file("config", true) == true)     $CACHE->cache_destroy();
-                               if ($CACHE->cache_file("mod_reg", true) == true)    $CACHE->cache_destroy();
+                               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();
                        }
 
                        // Remove array
@@ -466,11 +464,11 @@ function EXTENSION_UPDATE($file, $ext, $EXT_VER, $dry_run=false)
 //
 function EXTENSION_VERBOSE_TABLE($SQLs, $title=ADMIN_SQLS_EXECUTED_ON_REMOVAL, $dashed="", $switch=false, $WIDTH="480")
 {
-       global $CONFIG;
+       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.">
@@ -497,7 +495,7 @@ function EXTENSION_VERBOSE_TABLE($SQLs, $title=ADMIN_SQLS_EXECUTED_ON_REMOVAL, $
                }
        }
 
-       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>
@@ -518,14 +516,14 @@ function EXTENSION_VERBOSE_TABLE($SQLs, $title=ADMIN_SQLS_EXECUTED_ON_REMOVAL, $
 function GET_EXT_NAME($id)
 {
        $ret = "";
-       global $EXTENSIONS, $CONFIG;
-       if (!empty($EXTENSIONS['ext_id'][$id]))
+       global $cacheArray, $_CONFIG;
+       if (!empty($cacheArray['extensions']['ext_id'][$id]))
        {
                // Load from cache
-               $ret = $EXTENSIONS['ext_id'][$id];
+               $ret = $cacheArray['extensions']['ext_id'][$id];
 
                // Count cache hits
-               $CONFIG['cache_hits']++;
+               $_CONFIG['cache_hits']++;
        }
         else
        {
@@ -541,14 +539,14 @@ function GET_EXT_NAME($id)
 function GET_EXT_ID($name)
 {
        $ret = "0";
-       global $EXTENSIONS, $CONFIG;
-       if ((isset($EXTENSIONS['ext_id'])) && (is_array($EXTENSIONS['ext_id'])))
+       global $cacheArray, $_CONFIG;
+       if ((isset($cacheArray['extensions']['ext_id'])) && (is_array($cacheArray['extensions']['ext_id'])))
        {
                // Load from cache
-               $ret = array_search($name, $EXTENSIONS['ext_id']);
+               $ret = array_search($name, $cacheArray['extensions']['ext_id']);
 
                // Count cache hits
-               $CONFIG['cache_hits']++;
+               $_CONFIG['cache_hits']++;
        }
         else
        {