X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ffunctions.php;h=25aa0e93360b1355be31ad0aba7a695c05452ee2;hp=30106b29732fc3060fd16093aff4da1ed3ce91fc;hb=b8e55a5faa25153eee1c0f55661815142041eb8d;hpb=121dafd40be4c4b3e41f37a943b86cf2cb48a224
diff --git a/inc/functions.php b/inc/functions.php
index 30106b2973..25aa0e9336 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -638,15 +638,11 @@ function TRANSLATE_STATUS($status)
return $ret;
}
//
-function GET_LANGUAGE()
-{
- if (!empty($_GET['mx_lang']))
- {
+function GET_LANGUAGE() {
+ if (!empty($_GET['mx_lang'])) {
// Accept only first 2 chars
$lang = substr($_GET['mx_lang'], 0, 2);
- }
- else
- {
+ } else {
// Do nothing
$lang = "";
}
@@ -655,25 +651,23 @@ function GET_LANGUAGE()
$ret = DEFAULT_LANG;
// Check GET variable and cookie
- if (!empty($lang))
- {
+ if (!empty($lang)) {
// Check if main language file does exist
- if (file_exists(PATH."inc/language/".$lang.".php"))
- {
+ if (file_exists(PATH."inc/language/".$lang.".php")) {
// Okay found, so let's update cookies
SET_LANGUAGE($lang);
}
- }
- elseif (!empty($_SESSION['mx_lang']))
- {
+ } elseif (!isSessionVariableSet('mx_lang')) {
// Return stored value from cookie
- $ret = $_SESSION['mx_lang'];
+ $ret = get_session('mx_lang');
+
+ // Fixes a warning before the session has the mx_lang constant
+ if (empty($ret)) $ret = DEFAULT_LANG;
}
return $ret;
}
//
-function SET_LANGUAGE($lang)
-{
+function SET_LANGUAGE($lang) {
global $_CONFIG;
// Accept only first 2 chars!
@@ -681,13 +675,9 @@ function SET_LANGUAGE($lang)
// Set cookie
set_session("mx_lang", $lang);
-
- // Set array
- $_SESSION['mx_lang'] = $lang;
}
//
-function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0")
-{
+function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0") {
global $DATA, $_CONFIG, $REPLACER;
// Keept for backward-compatiblity (please replace these variables against our new {--CONST--} syntax!)
@@ -699,31 +689,26 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0")
$HTTP_USER_AGENT = getenv('HTTP_USER_AGENT');
$ADMIN = MAIN_TITLE;
- if (!empty($_SESSION['admin_login']))
- {
+ if (isSessionVariableSet('admin_login')) {
// Load Admin data
$result = SQL_QUERY_ESC("SELECT email FROM "._MYSQL_PREFIX."_admins WHERE login='%s' LIMIT 1",
- array(SQL_ESCAPE($_SESSION['admin_login'])), __FILE__, __LINE__);
+ array(SQL_ESCAPE(get_session('admin_login'))), __FILE__, __LINE__);
list($ADMIN) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
}
// Expiration in a nice output format
- if ($_CONFIG['auto_purge'] == 0)
- {
+ if ($_CONFIG['auto_purge'] == 0) {
// Will never expire!
$EXPIRATION = MAIL_WILL_NEVER_EXPIRE;
- }
- elseif (function_exists('CREATE_FANCY_TIME'))
- {
+ } elseif (function_exists('CREATE_FANCY_TIME')) {
// Create nice date string
$EXPIRATION = CREATE_FANCY_TIME($_CONFIG['auto_purge']);
- }
- else
- {
+ } else {
// Display days only
$EXPIRATION = round($_CONFIG['auto_purge']/60/60/24)." "._DAYS;
}
+
switch ($template)
{
case "bonus-mail": // Load data for the bonus mail
@@ -801,11 +786,11 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0")
case "back-admin":
case "back-member":
- $points = TRANSLATE_COMMA($DATA[10]);
+ $points = TRANSLATE_COMMA($DATA[10]);
break;
case "add-points":
- $points = bigintval($_POST['points']);
+ $points = bigintval($_POST['points']);
break;
case "guest_request_confirm":
@@ -814,18 +799,14 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0")
}
// Load user's data
- if ($UID > 0)
- {
- if (EXT_IS_ACTIVE("nickname"))
- {
+ if ($UID > 0) {
+ if (EXT_IS_ACTIVE("nickname")) {
// Load nickname
$result = SQL_QUERY_ESC("SELECT surname, family, sex, email, nickname FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1",
array(bigintval($UID)), __FILE__, __LINE__);
list($surname, $family, $sex, $email, $nick) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
- }
- else
- {
+ } else {
// Load normal data
$result = SQL_QUERY_ESC("SELECT surname, family, sex, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1",
array(bigintval($UID)), __FILE__, __LINE__);
@@ -833,9 +814,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0")
SQL_FREERESULT($result);
$nick = "---";
}
- }
- else
- {
+ } else {
// Neutral sex and email address is default
$sex = 'N';
$email = WEBMASTER;
@@ -851,40 +830,29 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0")
$BASE = PATH."templates/".GET_LANGUAGE()."/emails/";
// Check for admin/guest/member templates
- if (strpos($template, "admin_") > -1)
- {
+ if (strpos($template, "admin_") > -1) {
// Admin template found
$file = $BASE."admin/".$template.".tpl";
- }
- elseif (strpos($template, "guest_") > -1)
- {
+ } elseif (strpos($template, "guest_") > -1) {
// Guest template found
$file = $BASE."guest/".$template.".tpl";
- }
- elseif (strpos($template, "member_") > -1)
- {
+ } elseif (strpos($template, "member_") > -1) {
// Member template found
$file = $BASE."member/".$template.".tpl";
- }
- else
- {
+ } else {
// Test for extension
$test = substr($template, 0, strpos($template, "_"));
- if (EXT_IS_ACTIVE($test))
- {
+ if (EXT_IS_ACTIVE($test)) {
// Set extra path to extension's name
$file = $BASE.$test."/".$template.".tpl";
- }
- else
- {
+ } else {
// No special filename
$file = $BASE.$template.".tpl";
}
}
// Does the special template exists?
- if (!@file_exists($file))
- {
+ if ((!@file_exists($file)) || (!is_readable($file))) {
// Reset to default template
$file = $BASE.$template.".tpl";
}
@@ -1221,12 +1189,12 @@ function GEN_RANDOM_CODE($length, $code, $uid, $DATA="")
$data = $code.":".$uid.":".$DATA;
// Add more additional data
- if (isset($_SESSION['u_hash'])) $data .= ":".$_SESSION['u_hash'];
- if (isset($GLOBALS['userid'])) $data .= ":".$GLOBALS['userid'];
- if (isset($_SESSION['lifetime'])) $data .= ":".$_SESSION['lifetime'];
- if (isset($_SESSION['mxchange_theme'])) $data .= ":".$_SESSION['mxchange_theme'];
- if (isset($_SESSION['mx_lang'])) $data .= ":".$_SESSION['mx_lang'];
- if (isset($GLOBALS['refid'])) $data .= ":".$GLOBALS['refid'];
+ if (isSessionVariableSet('u_hash')) $data .= ":".get_session('u_hash');
+ if (isset($GLOBALS['userid'])) $data .= ":".$GLOBALS['userid'];
+ if (isSessionVariableSet('lifetime')) $data .= ":".get_session('lifetime');
+ if (isSessionVariableSet('mxchange_theme')) $data .= ":".get_session('mxchange_theme');
+ if (isSessionVariableSet('mx_lang')) $data .= ":".GET_LANGUAGE();
+ if (isset($GLOBALS['refid'])) $data .= ":".$GLOBALS['refid'];
// Calculate number for generating the code
$a = $code + _ADD - 1;
@@ -2036,8 +2004,8 @@ function FIX_DELETED_COOKIES ($cookies) {
// Then check all cookies if they are marked as deleted!
foreach ($cookies as $cookieName) {
// Is the cookie set to "deleted"?
- if ((isset($_SESSION[$cookieName])) && ($_SESSION[$cookieName] == "deleted")) {
- unset($_SESSION[$cookieName]);
+ if (get_session($cookieName) == "deleted") {
+ set_session($cookieName, "");
}
}
}
@@ -2095,12 +2063,12 @@ function set_session ($var, $value) {
$var = trim(SQL_ESCAPE($var)); $value = trim($value);
// Is the session variable set?
- if (("".$value."" == "") && (isset($_SESSION[$var]))) {
+ if (("".$value."" == "") && (isSessionVariableSet($var))) {
// Remove the session
- //* DEBUG: */ echo "UNSET:".$var."=".$_SESSION[$var]."
\n";
+ //* DEBUG: */ echo "UNSET:".$var."=".get_session($var)."
\n";
unset($_SESSION[$var]);
return session_unregister($var);
- } elseif (("".$value."" != "") && (!isset($_SESSION[$var]))) {
+ } elseif (("".$value."" != "") && (!isSessionVariableSet($var))) {
// Set session
//* DEBUG: */ echo "SET:".$var."=".$value."
\n";
$_SESSION[$var] = $value;
@@ -2120,6 +2088,28 @@ function isBooleanConstantAndTrue($constname) { // : Boolean
return($res);
}
+// Check wether a session variable is set
+function isSessionVariableSet($var) {
+ return (isset($_SESSION[$var]));
+}
+
+// Returns wether the value of the session variable or NULL if not set
+function get_session($var) {
+ if (!isset($_SESSION)) session_start();
+
+ // Default is not found! ;-)
+ $value = null;
+
+ // Is the variable there?
+ if (isSessionVariableSet($var)) {
+ // Then get it secured!
+ $value = SQL_ESCAPE($_SESSION[$var]);
+ }
+
+ // Return the value
+ return $value;
+}
+
//
//////////////////////////////////////////////
// //