]> git.mxchange.org Git - mailer.git/blobdiff - inc/config-functions.php
Renamed
[mailer.git] / inc / config-functions.php
index cde1fa35c3e96e574ae0d41aa0a05581fa7b8f38..186ede833979629932d5b0994eec5780746665a1 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Viele Nicht-MySQL-Funktionen (auch Dateizugriff) *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * Needs to be in all Files and every File needs "svn propset           *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
@@ -33,7 +38,7 @@
 
 // Some security stuff...
 if (!defined('__SECURITY')) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";
+       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
        require($INC);
 }
 
@@ -89,5 +94,68 @@ function incrementConfigEntry ($configEntry, $value=1) {
        }
 }
 
+// Checks wether the configuration array is set so the config is loaded
+function isConfigLoaded () {
+       global $_CONFIG;
+
+       // Check all
+       return ((isset($_CONFIG)) && (is_array($_CONFIG)) && (count($_CONFIG) > 0));
+}
+
+// Init the config array
+function initConfig () {
+       global $_CONFIG;
+
+       // Set a minimum dummy configuration
+       $_CONFIG = array(
+               'code_length' => 0,
+               'patch_level' => 0,
+               'last_update' => time()
+       );
+}
+
+// Load configuration and return it as an arry
+function loadConfiguration ($no = '0') {
+       global $_CONFIG;
+
+       // Check for cache extension, cache-array and if the requested configuration is in cache
+       if ((is_array($GLOBALS['cache_array'])) && (isset($GLOBALS['cache_array']['config'][$no])) && (is_array($GLOBALS['cache_array']['config'][$no]))) {
+               // Load config from cache
+               //* DEBUG: */ echo gettype($GLOBALS['cache_array']['config'][$no])."<br />\n";
+               foreach ($GLOBALS['cache_array']['config'][$no] as $key => $value) {
+                       $_CONFIG[$key] = $value;
+               } // END - foreach
+
+               // Count cache hits if exists
+               if ((isset($_CONFIG['cache_hits'])) && (EXT_IS_ACTIVE('cache'))) {
+                       $_CONFIG['cache_hits']++;
+               } // END - if
+       } elseif ((!EXT_IS_ACTIVE('cache')) || (!isset($GLOBALS['cache_array']['config'][$no]))) {
+               // Load config from DB
+               $result_config = SQL_QUERY_ESC("SELECT * FROM `{!_MYSQL_PREFIX!}_config` WHERE config=%d LIMIT 1",
+                       array(bigintval($no)), __FUNCTION__, __LINE__);
+
+               // Is the config there?
+               if (SQL_NUMROWS($result_config) == 1) {
+                       // Get config from database
+                       $_CONFIG = SQL_FETCHARRAY($result_config);
+               } // END - if
+
+               // Free result
+               SQL_FREERESULT($result_config);
+
+               // Remember this config in the array
+               $GLOBALS['cache_array']['config'][$no] = $_CONFIG;
+       }
+}
+
+// Getter for whole $_CONFIG array
+function getConfigArray () {
+       global $_CONFIG;
+
+       // Return it
+       return $_CONFIG;
+}
+
 // [EOF]
 ?>