]> git.mxchange.org Git - mailer.git/blobdiff - inc/config-functions.php
Migration of stelzi's commit 1022 with some changes so we have a nicer code. See...
[mailer.git] / inc / config-functions.php
index 49d99272cc6e68dd26a44a7ed3972c334135f944..506db1b908613789c62beb9e43428beecaa9d3b2 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);
 }
 
@@ -44,16 +49,16 @@ function mergeConfig ($newConfig) {
 }
 
 // Getter for $_CONFIG entries
-function getConfig ($entry) {
+function getConfig ($configEntry) {
        global $_CONFIG;
 
        // Default value
        $value = null;
 
        // Is the entry there?
-       if (isConfigEntrySet($entry)) {
+       if (isConfigEntrySet($configEntry)) {
                // Then use it
-               $value = $_CONFIG[$entry];
+               $value = $_CONFIG[$configEntry];
        } // END - if
 
        // Return it
@@ -61,20 +66,26 @@ function getConfig ($entry) {
 }
 
 // Setter for $_CONFIG entries
-function setConfigEntry ($entry, $value) {
+function setConfigEntry ($configEntry, $value) {
        global $_CONFIG;
 
        // Secure the entry name
-       $entry = SQL_ESCAPE($entry);
+       if (function_exists('SQL_ESCAPE')) {
+               // Use our secure function
+               $configEntry = SQL_ESCAPE($configEntry);
+       } else {
+               // Use maybe insecure function
+               $configEntry = smartAddSlashes($configEntry);
+       }
 
        // And set it
-       $_CONFIG[$entry] = $value;
+       $_CONFIG[$configEntry] = $value;
 }
 
 // Checks wether the given config entry is set
-function isConfigEntrySet ($entry) {
+function isConfigEntrySet ($configEntry) {
        global $_CONFIG;
-       return (isset($_CONFIG[$entry]));
+       return (isset($_CONFIG[$configEntry]));
 }
 
 // Increment or init with given value or 1 as default the given config entry
@@ -97,5 +108,68 @@ function isConfigLoaded () {
        return ((isset($_CONFIG)) && (is_array($_CONFIG)) && (count($_CONFIG) > 0));
 }
 
+// Init the config array
+function initConfig () {
+       global $_CONFIG;
+       debug_report_bug('Reached!');
+
+       // 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') {
+       // Check for cache extension, cache-array and if the requested configuration is in cache
+       if ((isset($GLOBALS['cache_array'])) && (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) {
+                       setConfigEntry($key, $value);
+               } // END - foreach
+
+               // Count cache hits if exists
+               if ((isConfigEntrySet('cache_hits')) && (EXT_IS_ACTIVE('cache'))) {
+                       incrementConfigEntry('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
+                       mergeConfig(SQL_FETCHARRAY($result_config));
+               } // END - if
+
+               // Free result
+               SQL_FREERESULT($result_config);
+
+               // Remember this config in the array
+               $GLOBALS['cache_array']['config'][$no] = getConfigArray();
+       }
+}
+
+// Getter for whole $_CONFIG array
+function getConfigArray () {
+       global $_CONFIG;
+
+       // Default is null
+       $return = null;
+
+       // Is the config set?
+       if (isConfigLoaded()) {
+               // Then use it
+               $return = $_CONFIG;
+       } // END - if
+
+       // Return result
+       return $return;
+}
+
 // [EOF]
 ?>