X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Ffunctions.php;h=cb7e4c1536d2528fafaada603fbc3b0723db18d1;hb=e5676824c6657556f866057ffa33cb78826c8f89;hp=4b87bcf918336e2c5b931795f3ab96606f0b42b0;hpb=3b85bd5030ad591b0c5cb038ca534a7b50e1b319;p=mailer.git diff --git a/inc/functions.php b/inc/functions.php index 4b87bcf918..cb7e4c1536 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -233,8 +233,16 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) { $template = strtolower($template); // Count the template load - if (!isset($_CONFIG['num_templates'])) $_CONFIG['num_templates'] = 0; - $_CONFIG['num_templates']++; + if (getConfig('num_templates') == null) { + $_CONFIG['num_templates'] = 1; + } else { + $_CONFIG['num_templates']++; + } + + // Prepare IP number and User Agent + $REMOTE_ADDR = GET_REMOTE_ADDR(); + if (!defined('REMOTE_ADDR')) define('REMOTE_ADDR', $REMOTE_ADDR); + $HTTP_USER_AGENT = GET_USER_AGENT(); // Init some data $ret = ""; @@ -249,7 +257,7 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) { // Is content an array? if (is_array($content)) { // Merge data - $content = array_merge($content, SQL_FETCHARRAY($result)); + $content = merge_array($content, SQL_FETCHARRAY($result)); // Translate gender $content['gender'] = TRANSLATE_GENDER($content['gender']); @@ -527,7 +535,7 @@ function SEND_RAW_EMAIL ($to, $subject, $msg, $from) { // Generate a password in a specified length or use default password length function GEN_PASS($LEN = 0) { global $_CONFIG; - if ($LEN == 0) $LEN = $_CONFIG['pass_len']; + if ($LEN == 0) $LEN = getConfig('pass_len'); // Initialize array with all allowed chars $ABC = explode(",", "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9,-,+,_,/"); @@ -594,10 +602,10 @@ function TRANSLATE_COMMA ($dotted, $cut=true, $max=0) { global $_CONFIG; // Default is 3 you can change this in admin area "Misc -> Misc Options" - if (empty($_CONFIG['max_comma'])) $_CONFIG['max_comma'] = "3"; + if (getConfig('max_comma') == null) $_CONFIG['max_comma'] = "3"; // Use from config is default - $maxComma = $_CONFIG['max_comma']; + $maxComma = getConfig('max_comma'); // Use from parameter? if ($max > 0) $maxComma = $max; @@ -774,7 +782,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") { // Is the admin logged in? if (IS_ADMIN()) { // Get admin id - $aid = GET_ADMIN_ID(get_session('admin_login')); + $aid = GET_CURRENT_ADMIN_ID(); // Load Admin data $ADMIN = GET_ADMIN_EMAIL($aid); @@ -784,15 +792,15 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") { $email = WEBMASTER; // Expiration in a nice output format - if ($_CONFIG['auto_purge'] == 0) { + if (getConfig('auto_purge') == 0) { // Will never expire! $EXPIRATION = MAIL_WILL_NEVER_EXPIRE; } elseif (function_exists('CREATE_FANCY_TIME')) { // Create nice date string - $EXPIRATION = CREATE_FANCY_TIME($_CONFIG['auto_purge']); + $EXPIRATION = CREATE_FANCY_TIME(getConfig('auto_purge')); } else { // Display days only - $EXPIRATION = round($_CONFIG['auto_purge']/60/60/24)." "._DAYS; + $EXPIRATION = round(getConfig('auto_purge')/60/60/24)." "._DAYS; } // Is content an array? @@ -819,7 +827,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") { // Fetch and merge data //* DEBUG: */ print __FUNCTION__."(".__LINE__."):content()=".count($content)." - PRE
\n"; - $content = array_merge($content, SQL_FETCHARRAY($result)); + $content = merge_array($content, SQL_FETCHARRAY($result)); //* DEBUG: */ print __FUNCTION__."(".__LINE__."):content()=".count($content)." - AFTER
\n"; // Free result @@ -1139,7 +1147,7 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0") { // Use configured min age or fixed? if (GET_EXT_VERSION("other") >= "0.2.1") { // Configured - $startYear = $YEAR - $_CONFIG['min_age']; + $startYear = $YEAR - getConfig('min_age'); } else { // Fixed 16 years $startYear = $YEAR - 16; @@ -1167,7 +1175,7 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0") { // Calculate earliest year depending on extension version if (GET_EXT_VERSION("other") >= "0.2.1") { // Use configured minimum age - $YEAR = date('Y', time()) - $_CONFIG['min_age']; + $YEAR = date('Y', time()) - getConfig('min_age'); } else { // Use fixed 16 years age $YEAR = date('Y', time()) - 16; @@ -1217,8 +1225,8 @@ function TRANSLATE_YESNO($yn) { switch ($yn) { - case 'Y': $yn = YES; break; - case 'N': $yn = NO; break; + case "Y": $yn = YES; break; + case "N": $yn = NO; break; default : $yn = "??? (".$yn.")"; break; } return $yn; @@ -1238,10 +1246,10 @@ function GEN_RANDOM_CODE($length, $code, $uid, $DATA="") { // Build key string $keys = SITE_KEY.":".DATE_KEY; - if (isset($_CONFIG['secret_key'])) $keys .= ":".$_CONFIG['secret_key']; - if (isset($_CONFIG['file_hash'])) $keys .= ":".$_CONFIG['file_hash']; - $keys .= ":".date("d-m-Y (l-F-T)", bigintval($_CONFIG['patch_ctime'])); - if (isset($_CONFIG['master_salt'])) $keys .= ":".$_CONFIG['master_salt']; + if (getConfig('secret_key') != null) $keys .= ":".getConfig('secret_key'); + if (getConfig('file_hash') != null) $keys .= ":".getConfig('file_hash'); + $keys .= ":".date("d-m-Y (l-F-T)", bigintval(getConfig('patch_ctime'))); + if (getConfig('master_salt') != null) $keys .= ":".getConfig('master_salt'); // Build string from misc data $data = $code.":".$uid.":".$DATA; @@ -1257,12 +1265,12 @@ function GEN_RANDOM_CODE($length, $code, $uid, $DATA="") { // Calculate number for generating the code $a = $code + _ADD - 1; - if (isset($_CONFIG['master_hash'])) { + if (getConfig('master_hash') != null) { // Generate hash with master salt from modula of number with the prime number and other data - $saltedHash = generateHash(($a % _PRIME).":".$server.":".$keys.":".$data.":".date("d-m-Y (l-F-T)", time()).":".$a, $_CONFIG['master_salt']); + $saltedHash = generateHash(($a % _PRIME).":".$server.":".$keys.":".$data.":".date("d-m-Y (l-F-T)", time()).":".$a, getConfig('master_salt')); // Create number from hash - $rcode = hexdec(substr($saltedHash, strlen($_CONFIG['master_salt']), 9)) / abs(_MAX - $a + sqrt(_ADD)) / pi(); + $rcode = hexdec(substr($saltedHash, strlen(getConfig('master_salt')), 9)) / abs(_MAX - $a + sqrt(_ADD)) / pi(); } else { // Generate hash with "hash of site key" from modula of number with the prime number and other data $saltedHash = generateHash(($a % _PRIME).":".$server.":".$keys.":".$data.":".date("d-m-Y (l-F-T)", time()).":".$a, substr(sha1(SITE_KEY), 0, 8)); @@ -1272,7 +1280,7 @@ function GEN_RANDOM_CODE($length, $code, $uid, $DATA="") { } // At least 10 numbers shall be secure enought! - $len = $_CONFIG['code_length']; + $len = getConfig('code_length'); if ($len == 0) $len = $length; if ($len == 0) $len = 10; @@ -1306,7 +1314,7 @@ function bigintval($num, $castValue = true) { function GENERATE_IMAGE($img_code, $header=true) { global $_CONFIG; - if ((strlen($img_code) > 6) || (empty($img_code)) || ($_CONFIG['code_length'] == 0)) { + if ((strlen($img_code) > 6) || (empty($img_code)) || (getConfig('code_length') == 0)) { // Stop execution of function here because of over-sized code length return; } elseif (!$header) { @@ -1315,10 +1323,10 @@ function GENERATE_IMAGE($img_code, $header=true) { } // Load image - $img = sprintf("%s/theme/%s/images/code_bg.%s", PATH, GET_CURR_THEME(), $_CONFIG['img_type']); + $img = sprintf("%s/theme/%s/images/code_bg.%s", PATH, GET_CURR_THEME(), getConfig('img_type')); if (FILE_READABLE($img)) { // Switch image type - switch ($_CONFIG['img_type']) + switch (getConfig('img_type')) { case "jpg": // Okay, load image and hide all errors @@ -1342,10 +1350,10 @@ function GENERATE_IMAGE($img_code, $header=true) { imagestring($image, 5, 14, 2, $img_code, $text_color); // Return to browser - header ("Content-Type: image/".$_CONFIG['img_type']); + header ("Content-Type: image/".getConfig('img_type')); // Output image with matching image factory - switch ($_CONFIG['img_type']) { + switch (getConfig('img_type')) { case "jpg": imagejpeg($image); break; case "png": imagepng($image); break; } @@ -1368,7 +1376,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce $M2 = date("m", (time() + $timestamp)); // If so and if current time is before 02/29 and estimated time is after 02/29 then add 86400 seconds (one day) - if ((floor($TEST) == $TEST) && ($M1 == "02") && ($M2 > "02")) $SWITCH = $_CONFIG['one_day']; + if ((floor($TEST) == $TEST) && ($M1 == "02") && ($M2 > "02")) $SWITCH = getConfig('one_day'); // First of all years... $Y = abs(floor($timestamp / (31536000 + $SWITCH))); @@ -1377,19 +1385,19 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce $M = abs(floor($timestamp / 2628000 - $Y * 12)); //* DEBUG: */ print("M={$M}
\n"); // Next weeks - $W = abs(floor($timestamp / 604800 - $Y * ((365 + $SWITCH / $_CONFIG['one_day']) / 7) - ($M / 12 * (365 + $SWITCH / $_CONFIG['one_day']) / 7))); + $W = abs(floor($timestamp / 604800 - $Y * ((365 + $SWITCH / getConfig('one_day')) / 7) - ($M / 12 * (365 + $SWITCH / getConfig('one_day')) / 7))); //* DEBUG: */ print("W={$W}
\n"); // Next days... - $D = abs(floor($timestamp / 86400 - $Y * (365 + $SWITCH / $_CONFIG['one_day']) - ($M / 12 * (365 + $SWITCH / $_CONFIG['one_day'])) - $W * 7)); + $D = abs(floor($timestamp / 86400 - $Y * (365 + $SWITCH / getConfig('one_day')) - ($M / 12 * (365 + $SWITCH / getConfig('one_day'))) - $W * 7)); //* DEBUG: */ print("D={$D}
\n"); // Next hours... - $h = abs(floor($timestamp / 3600 - $Y * (365 + $SWITCH / $_CONFIG['one_day']) * 24 - ($M / 12 * (365 + $SWITCH / $_CONFIG['one_day']) * 24) - $W * 7 * 24 - $D * 24)); + $h = abs(floor($timestamp / 3600 - $Y * (365 + $SWITCH / getConfig('one_day')) * 24 - ($M / 12 * (365 + $SWITCH / getConfig('one_day')) * 24) - $W * 7 * 24 - $D * 24)); //* DEBUG: */ print("h={$h}
\n"); // Next minutes.. - $m = abs(floor($timestamp / 60 - $Y * (365 + $SWITCH / $_CONFIG['one_day']) * 24 * 60 - ($M / 12 * (365 + $SWITCH / $_CONFIG['one_day']) * 24 * 60) - $W * 7 * 24 * 60 - $D * 24 * 60 - $h * 60)); + $m = abs(floor($timestamp / 60 - $Y * (365 + $SWITCH / getConfig('one_day')) * 24 * 60 - ($M / 12 * (365 + $SWITCH / getConfig('one_day')) * 24 * 60) - $W * 7 * 24 * 60 - $D * 24 * 60 - $h * 60)); //* DEBUG: */ print("m={$m}
\n"); // And at last seconds... - $s = abs(floor($timestamp - $Y * (365 + $SWITCH / $_CONFIG['one_day']) * 24 * 3600 - ($M / 12 * (365 + $SWITCH / $_CONFIG['one_day']) * 24 * 3600) - $W * 7 * 24 * 3600 - $D * 24 * 3600 - $h * 3600 - $m * 60)); + $s = abs(floor($timestamp - $Y * (365 + $SWITCH / getConfig('one_day')) * 24 * 3600 - ($M / 12 * (365 + $SWITCH / getConfig('one_day')) * 24 * 3600) - $W * 7 * 24 * 3600 - $D * 24 * 3600 - $h * 3600 - $m * 60)); //* DEBUG: */ print("s={$s}
\n"); // Is seconds zero and time is < 60 seconds? @@ -1557,7 +1565,7 @@ function CREATE_TIMESTAMP_FROM_SELECTIONS($prefix, $POST) { $TEST = date('Y', time()) / 4; $M1 = date("m", time()); // If so and if current time is before 02/29 and estimated time is after 02/29 then add 86400 seconds (one day) - if ((floor($TEST) == $TEST) && ($M1 == "02") && ($POST[$prefix."_mo"] > "02")) $SWITCH = $_CONFIG['one_day']; + if ((floor($TEST) == $TEST) && ($M1 == "02") && ($POST[$prefix."_mo"] > "02")) $SWITCH = getConfig('one_day'); // First add years... $ret += $POST[$prefix."_ye"] * (31536000 + $SWITCH); // Next months... @@ -1818,7 +1826,7 @@ function SEND_RAW_REQUEST ($host, $request) { $useProxy = false; // Are proxy settins set? - if ((!empty($_CONFIG['proxy_host'])) && ($_CONFIG['proxy_port'] > 0)) { + if ((getConfig('proxy_host') != "") && (getConfig('proxy_port') > 0)) { // Then use it $useProxy = true; } // END - if @@ -1826,7 +1834,7 @@ function SEND_RAW_REQUEST ($host, $request) { // Open connection //* DEBUG: */ die("SCRIPT=".$script."
\n"); if ($useProxy) { - $fp = @fsockopen(COMPILE_CODE($_CONFIG['proxy_host']), $_CONFIG['proxy_port'], $errno, $errdesc, 30); + $fp = @fsockopen(COMPILE_CODE(getConfig('proxy_host')), getConfig('proxy_port'), $errno, $errdesc, 30); } else { $fp = @fsockopen($host, 80, $errno, $errdesc, 30); } @@ -1844,9 +1852,9 @@ function SEND_RAW_REQUEST ($host, $request) { $proxyTunnel .= "Host: ".$host."\r\n"; // Use login data to proxy? (username at least!) - if (!empty($_CONFIG['proxy_username'])) { + if (getConfig('proxy_username') != "") { // Add it as well - $encodedAuth = base64_encode(COMPILE_CODE($_CONFIG['proxy_username']).":".COMPILE_CODE($_CONFIG['proxy_password'])); + $encodedAuth = base64_encode(COMPILE_CODE(getConfig('proxy_username')).":".COMPILE_CODE(getConfig('proxy_password'))); $proxyTunnel .= "Proxy-Authorization: Basic ".$encodedAuth."\r\n"; } // END - if @@ -1996,7 +2004,7 @@ function ADD_CATEGORY_TABLE ($MODE, $return=false) { return REGISTER_ADD_CATEGORY_TABLE ($MODE, $return); } // Generate an email link -function CREATE_EMAIL_LINK($email, $table="admins") { +function CREATE_EMAIL_LINK ($email, $table = "admins") { // Default email link (INSECURE! Spammer can read this by harvester programs) $EMAIL = "mailto:".$email; @@ -2029,7 +2037,7 @@ function generateHash ($plainText, $salt = "") { } // END - if // Do we miss an arry element here? - if (!isset($_CONFIG['file_hash'])) { + if (getConfig('file_hash') == null) { // Stop here print("Missing file_hash in ".__FUNCTION__.". Backtrace:
");
 		debug_print_backtrace();
@@ -2042,7 +2050,7 @@ function generateHash ($plainText, $salt = "") {
 		$server = $_SERVER['PHP_SELF'].":".GET_USER_AGENT().":".getenv('SERVER_SOFTWARE').":".GET_REMOTE_ADDR().":".":".filemtime(PATH."inc/databases.php");
 
 		// Build key string
-		$keys   = SITE_KEY.":".DATE_KEY.":".$_CONFIG['secret_key'].":".$_CONFIG['file_hash'].":".date("d-m-Y (l-F-T)", bigintval($_CONFIG['patch_ctime'])).":".$_CONFIG['master_salt'];
+		$keys   = SITE_KEY.":".DATE_KEY.":".getConfig('secret_key').":".getConfig('file_hash').":".date("d-m-Y (l-F-T)", bigintval(getConfig('patch_ctime'))).":".getConfig('master_salt');
 
 		// Additional data
 		$data = $plainText.":".uniqid(mt_rand(), true).":".time();
@@ -2059,11 +2067,11 @@ function generateHash ($plainText, $salt = "") {
 		//* DEBUG: */ echo "Descrambled=".$sha1b." (".strlen($sha1b).")
"; // Generate the password salt string - $salt = substr($sha1, 0, $_CONFIG['salt_length']); + $salt = substr($sha1, 0, getConfig('salt_length')); //* DEBUG: */ echo $salt." (".strlen($salt).")
"; } else { // Use given salt - $salt = substr($salt, 0, $_CONFIG['salt_length']); + $salt = substr($salt, 0, getConfig('salt_length')); //* DEBUG: */ echo "GIVEN={$salt}
\n"; } @@ -2083,7 +2091,7 @@ function scrambleString($str) { return $str; } elseif (strlen($str) == 40) { // From database - $scrambleNums = explode(":", $_CONFIG['pass_scramble']); + $scrambleNums = explode(":", getConfig('pass_scramble')); } else { // Generate new numbers $scrambleNums = explode(":", genScrambleString(strlen($str))); @@ -2110,7 +2118,7 @@ function descrambleString($str) { if (strlen($str) != 40) return $str; // Load numbers from config - $scrambleNums = explode(":", $_CONFIG['pass_scramble']); + $scrambleNums = explode(":", getConfig('pass_scramble')); // Validate numbers if (count($scrambleNums) != 40) return $str; @@ -2166,9 +2174,9 @@ function ADD_URL_DATA($URL) { if ((!empty($_GET['refid'])) && (strpos($URL, "refid=") == 0)) { // Cookie found in URL $ADD .= $BIND."refid=".bigintval($_GET['refid']); - } elseif ((GET_EXT_VERSION("sql_patches") != '') && ($_CONFIG['def_refid'] > 0)) { + } elseif ((GET_EXT_VERSION("sql_patches") != '') && (getConfig('def_refid') > 0)) { // Not found! So let's set default here - $ADD .= $BIND."refid=".$_CONFIG['def_refid']; + $ADD .= $BIND."refid=".getConfig('def_refid'); } // Is there already added data? Then change the binder @@ -2195,12 +2203,12 @@ function generatePassString($passHash) { $ret = $passHash; // Is a secret key and master salt already initialized? - if ((!empty($_CONFIG['secret_key'])) && (!empty($_CONFIG['master_salt']))) { + if ((getConfig('secret_key') != "") && (getConfig('master_salt') != "")) { // Only calculate when the secret key is generated $newHash = ""; $start = 9; for ($idx = 0; $idx < 10; $idx++) { $part1 = hexdec(substr($passHash, $start, 4)); - $part2 = hexdec(substr($_CONFIG['secret_key'], $start, 4)); + $part2 = hexdec(substr(getConfig('secret_key'), $start, 4)); $mod = dechex($idx); if ($part1 > $part2) { $mod = dechex(sqrt(($part1 - $part2) * _PRIME / pi())); @@ -2215,7 +2223,7 @@ function generatePassString($passHash) { } // END - for //* DEBUG: */ print($passHash."
".$newHash." (".strlen($newHash).")"); - $ret = generateHash($newHash, $_CONFIG['master_salt']); + $ret = generateHash($newHash, getConfig('master_salt')); //* DEBUG: */ print($ret."
\n"); } else { // Hash it simple @@ -2259,13 +2267,15 @@ function mxchange_die ($msg) { // Display parsing time and number of SQL queries in footer function DISPLAY_PARSING_TIME_FOOTER() { global $_CONFIG; - $endTime = microtime(true); // Is the timer started? if (!isset($GLOBALS['startTime'])) { // Abort here return false; - } + } // END - if + + // Get end time + $endTime = microtime(true); // "Explode" both times $start = explode(" ", $GLOBALS['startTime']); @@ -2277,8 +2287,8 @@ function DISPLAY_PARSING_TIME_FOOTER() { // Prepare output $content = array( 'runtime' => $runTime, - 'numSQLs' => ($_CONFIG['sql_count'] + 1), - 'numTemplates' => ($_CONFIG['num_templates'] + 1) + 'numSQLs' => (getConfig('sql_count') + 1), + 'numTemplates' => (getConfig('num_templates') + 1) ); // Load the template @@ -2478,9 +2488,9 @@ function RESET_ADD_INCLUDES () { $currWeek = date("W", time()); // Has it changed? - if ($_CONFIG['last_week'] != $currWeek) { + if (getConfig('last_week') != $currWeek) { // Include weekly reset scripts - $INC_POOL = array_merge($INC_POOL, GET_DIR_AS_ARRAY(PATH."inc/weekly/", "weekly_")); + $INC_POOL = merge_array($INC_POOL, GET_DIR_AS_ARRAY(PATH."inc/weekly/", "weekly_")); // Update config if (!defined('DEBUG_WEEKLY')) UPDATE_CONFIG("last_week", $currWeek); @@ -2490,9 +2500,9 @@ function RESET_ADD_INCLUDES () { $currMonth = date("m", time()); // Has it changed? - if ($_CONFIG['last_month'] != $currMonth) { + if (getConfig('last_month') != $currMonth) { // Include monthly reset scripts - $INC_POOL = array_merge($INC_POOL, GET_DIR_AS_ARRAY(PATH."inc/monthly/", "monthly_")); + $INC_POOL = merge_array($INC_POOL, GET_DIR_AS_ARRAY(PATH."inc/monthly/", "monthly_")); // Update config if (!defined('DEBUG_MONTHLY')) UPDATE_CONFIG("last_month", $currMonth); @@ -2518,7 +2528,7 @@ function HANDLE_EXTRA_VALUES ($filterFunction, $value, $extraValue) { // If we have an array simply use it and pre-extend it with our value if (is_array($extraValue)) { // Make the new args array - $args = array_merge(array($value), $extraValue); + $args = merge_array(array($value), $extraValue); } // END - if // Call the multi-parameter call-back @@ -2640,6 +2650,7 @@ function REBUILD_CACHE ($cache, $inc="") { // Is the include there? if (FILE_READABLE($fqfn)) { // And rebuild it from scratch + //* DEBUG: */ print __FUNCTION__."(".__LINE__."): inc={$inc} - LOADED!
\n"; require($fqfn); } else { // Include not found! @@ -2650,7 +2661,7 @@ function REBUILD_CACHE ($cache, $inc="") { } // Purge admin menu cache function CACHE_PURGE_ADMIN_MENU ($id=0, $action="", $what="", $str="") { - global $_CONFIG, $cacheInstance; + global $cacheInstance; // Is the cache extension enabled or no cache instance or admin menu cache disabled? if (!EXT_IS_ACTIVE("cache")) { @@ -2660,7 +2671,7 @@ function CACHE_PURGE_ADMIN_MENU ($id=0, $action="", $what="", $str="") { // No cache instance! DEBUG_LOG(__FUNCTION__, __LINE__, " No cache instance found."); return false; - } elseif ((!isset($_CONFIG['cache_admin_menu'])) || ($_CONFIG['cache_admin_menu'] == "N")) { + } elseif ((getConfig('cache_admin_menu') == null) || (getConfig('cache_admin_menu') == "N")) { // Caching disabled (currently experiemental!) return false; } @@ -2796,10 +2807,10 @@ function DETERMINE_REFID () { } elseif ((isSessionVariableSet('refid')) && (get_session('refid') != 0)) { // Set session refid als global $GLOBALS['refid'] = bigintval(get_session('refid')); - } elseif ((GET_EXT_VERSION("sql_patches") != "") && ($_CONFIG['def_refid'] > 0)) { + } elseif ((GET_EXT_VERSION("sql_patches") != "") && (getConfig('def_refid') > 0)) { // Set default refid as refid in URL - $GLOBALS['refid'] = bigintval($_CONFIG['def_refid']); - } elseif ((GET_EXT_VERSION("user") >= "0.3.4") && ($_CONFIG['select_user_zero_refid']) == "Y") { + $GLOBALS['refid'] = bigintval(getConfig('def_refid')); + } elseif ((GET_EXT_VERSION("user") >= "0.3.4") && (getConfig('select_user_zero_refid')) == "Y") { // Select a random user which has confirmed enougth mails $GLOBALS['refid'] = SELECT_RANDOM_REFID(); } else { @@ -2808,7 +2819,7 @@ function DETERMINE_REFID () { } // Set cookie when default refid > 0 - if (!isSessionVariableSet('refid') || (!empty($GLOBALS['refid'])) || ((get_session('refid') == "0") && (isset($_CONFIG['def_refid'])) && ($_CONFIG['def_refid'] > 0))) { + if (!isSessionVariableSet('refid') || (!empty($GLOBALS['refid'])) || ((get_session('refid') == "0") && (getConfig('def_refid') > 0))) { // Set cookie set_session('refid', $GLOBALS['refid']); } // END - if @@ -2818,7 +2829,7 @@ function DETERMINE_REFID () { } // Destroys the admin session -function DESTROY_ADMIN_SESSION () { +function DESTROY_ADMIN_SESSION ($destroy = true) { // Kill maybe existing session variables including array elements set_session('admin_login', ""); set_session('admin_md5' , ""); @@ -2826,7 +2837,12 @@ function DESTROY_ADMIN_SESSION () { set_session('admin_to' , ""); // Destroy session and return status - return @session_destroy(); + 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 @@ -2835,6 +2851,45 @@ function IF_APACHE_MODULE_LOADED ($apacheModule) { 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; +} + ////////////////////////////////////////////////// // // // AUTOMATICALLY RE-GENERATED MISSING FUNCTIONS //