+ if ($destroy) {
+ return @session_destroy();
+ } // END - if
+
+ // All fine if we shall not really destroy the session
+ return true;
+}
+
+// Checks if a given apache module is loaded
+function IF_APACHE_MODULE_LOADED ($apacheModule) {
+ // Check it and return result
+ return (((function_exists('apache_get_modules')) && (in_array($apacheModule, apache_get_modules()))) || (!function_exists('apache_get_modules')));
+}
+
+// Getter for $_CONFIG entries
+function getConfig ($entry) {
+ global $_CONFIG;
+
+ // Default value
+ $value = null;
+
+ // Is the entry there?
+ if (isset($_CONFIG[$entry])) {
+ // Then use it
+ $value = $_CONFIG[$entry];
+ } // END - if
+
+ // Return it
+ return $value;
+}
+
+// @TODO Rewrite all language constants to the function getLanguage().
+// "Getter" for language strings
+function getMessage ($messageId) {
+ // Default is not found!
+ $return = "!".$messageId."!";
+
+ // Is the language string found?
+ if (isset($GLOBALS['msg'][$messageId])) {
+ // Language array element found
+ $return = $GLOBALS['msg'][$messageId];
+ } elseif (defined($messageId)) {
+ // @DEPRECATED Deprecated constant found
+ $return = constant($messageId);
+ } else {
+ // Missing language constant
+ DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Missing message string %s detected.", $messageId));
+ }
+
+ // Return the string
+ return $return;
+}
+
+// Get current theme name
+function GET_CURR_THEME() {
+ global $INC_POOL, $_CONFIG, $CSS, $cacheArray;
+
+ // The default theme is 'default'... ;-)
+ $ret = "default";
+
+ // Load default theme if not empty from configuration
+ if (getConfig('default_theme') != "") $ret = getConfig('default_theme');
+
+ if (!isSessionVariableSet('mxchange_theme')) {
+ // Set default theme
+ set_session("mxchange_theme", $ret);
+ } elseif ((isSessionVariableSet('mxchange_theme')) && (GET_EXT_VERSION("sql_patches") >= "0.1.4")) {
+ //die("<pre>".print_r($cacheArray['themes'], true)."</pre>");
+ // Get theme from cookie
+ $ret = get_session('mxchange_theme');
+
+ // Is it valid?
+ if (THEME_GET_ID($ret) == 0) {
+ // Fix it to default
+ $ret = "default";
+ } // END - if
+ } elseif ((!isBooleanConstantAndTrue('mxchange_installed')) && ((isBooleanConstantAndTrue('mxchange_installing')) || ($CSS == true)) && ((!empty($_GET['theme'])) || (!empty($_POST['theme'])))) {
+ // Prepare FQFN for checking
+ $theme = sprintf("%stheme/%s/theme.php", PATH, SQL_ESCAPE($_GET['theme']));
+
+ // Installation mode active
+ if ((!empty($_GET['theme'])) && (FILE_READABLE($theme))) {
+ // Set cookie from URL data
+ set_session("mxchange_theme", SQL_ESCAPE($_GET['theme']));
+ } elseif (FILE_READABLE(sprintf("%stheme/%s/theme.php", PATH, SQL_ESCAPE($_POST['theme'])))) {
+ // Set cookie from posted data
+ set_session("mxchange_theme", SQL_ESCAPE($_POST['theme']));
+ }
+
+ // Set return value
+ $ret = get_session('mxchange_theme');
+ } else {
+ // Invalid design, reset cookie
+ set_session("mxchange_theme", $ret);
+ }
+
+ // Add (maybe) found theme.php file to inclusion list
+ $theme = sprintf("%stheme/%s/theme.php", PATH, SQL_ESCAPE($ret));
+
+ // Try to load the requested include file
+ if (FILE_READABLE($theme)) $INC_POOL[] = $theme;
+
+ // Return theme value
+ return $ret;
+}
+
+// Get id from theme
+function THEME_GET_ID ($name) {
+ global $cacheArray, $_CONFIG;
+
+ // Is the extension "theme" installed?
+ if (!EXT_IS_ACTIVE("theme")) {
+ // Then abort here
+ return 0;
+ } // END - if
+
+ // Default id
+ $id = 0;
+
+ // Is the cache entry there?
+ if (isset($cacheArray['themes']['id'][$name])) {
+ // Get the version from cache
+ $id = $cacheArray['themes']['id'][$name];
+
+ // Count up
+ if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; }
+ } elseif (GET_EXT_VERSION("cache") != "0.1.8") {
+ // Check if current theme is already imported or not
+ $result = SQL_QUERY_ESC("SELECT id FROM `"._MYSQL_PREFIX."_themes` WHERE theme_path='%s' LIMIT 1",
+ array($name), __FILE__, __LINE__);
+
+ // Entry found?
+ if (SQL_NUMROWS($result) == 1) {
+ // Fetch data
+ list($id) = SQL_FETCHROW($result);
+ } // END - if
+
+ // Free result
+ SQL_FREERESULT($result);
+ }
+
+ // Return id
+ return $id;