* -------------------------------------------------------------------- *
* 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 *
// 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);
}
}
// 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
}
// 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
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]
?>