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 //