X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ffunctions.php;h=c875a91aee04841958e6e8b7fc6116a155c61fca;hp=ef6cbde5323b40bf5ff838a7513d39983f08896d;hb=b29dab42eab7c64ca1945eb70fa7713f8898f6ae;hpb=7989ec603971c0dc8dc35d8be4e72f8098b83baa
diff --git a/inc/functions.php b/inc/functions.php
index ef6cbde532..c875a91aee 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -10,7 +10,12 @@
* -------------------------------------------------------------------- *
* 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 *
@@ -30,39 +35,16 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
* MA 02110-1301 USA *
************************************************************************/
-
// Some security stuff...
if (!defined('__SECURITY')) {
$INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";
require($INC);
}
-// Check if our config file is writeable or not
-function IS_INC_WRITEABLE($inc) {
- // Generate FQFN
- $fqfn = sprintf("%sinc/%s.php", constant('PATH'), $inc);
-
- // Abort by simple test
- if ((FILE_READABLE($fqfn)) && (!is_writeable($fqfn))) {
- return false;
- } // END - if
-
- // Test if we can append data
- $fp = @fopen($fqfn, 'a');
- if ($inc == "dummy") {
- // Remove dummy file
- fclose($fp);
- return unlink($fqfn);
- } else {
- // Close all other files
- return fclose($fp);
- }
-}
-
// Output HTML code directly or "render" it. You addionally switch the new-line character off
function OUTPUT_HTML ($HTML, $newLine = true) {
// Some global variables
- global $OUTPUT, $footer, $CSS;
+ global $OUTPUT;
// Do we have HTML-Code here?
if (!empty($HTML)) {
@@ -98,10 +80,10 @@ function OUTPUT_HTML ($HTML, $newLine = true) {
default:
// Huh, something goes wrong or maybe you have edited config.php ???
DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Invalid renderer %s detected.", constant('OUTPUT_MODE')));
- mxchange_die("{--FATAL_ERROR--}: {--LANG_NO_RENDER_DIRECT--}");
+ app_die(__FUNCTION__, __LINE__, "{--FATAL_ERROR--}: {--LANG_NO_RENDER_DIRECT--}");
break;
}
- } elseif ((constant('_OB_CACHING') == "on") && ($footer == 1)) {
+ } elseif ((constant('_OB_CACHING') == "on") && (isset($GLOBALS['footer_sent'])) && ($GLOBALS['footer_sent'] == 1)) {
// Headers already sent?
if (headers_sent()) {
// Log this error
@@ -114,8 +96,10 @@ function OUTPUT_HTML ($HTML, $newLine = true) {
// Output cached HTML code
$OUTPUT = ob_get_contents();
- // Clear output buffer for later output
- clearOutputBuffer();
+ // Clear output buffer for later output if output is found
+ if (!empty($OUTPUT)) {
+ clearOutputBuffer();
+ } // END - if
// Send HTTP header
header("HTTP/1.1 200");
@@ -131,7 +115,7 @@ function OUTPUT_HTML ($HTML, $newLine = true) {
header("Connection: Close");
// Extension "rewrite" installed?
- if ((EXT_IS_ACTIVE("rewrite")) && ($CSS != "1") && ($CSS != "-1")) {
+ if ((EXT_IS_ACTIVE("rewrite")) && ($GLOBALS['output_mode'] != "1") && ($GLOBALS['output_mode'] != "-1")) {
$OUTPUT = REWRITE_LINKS($OUTPUT);
} // END - if
@@ -139,13 +123,13 @@ function OUTPUT_HTML ($HTML, $newLine = true) {
while (strpos($OUTPUT, '{!') > 0) {
// Prepare the content and eval() it...
$newContent = "";
- $eval = "\$newContent = \"".COMPILE_CODE(SQL_ESCAPE($OUTPUT))."\";";
- @eval($eval);
+ $eval = "\$newContent = \"".COMPILE_CODE(smartAddSlashes($OUTPUT))."\";";
+ eval($eval);
// Was that eval okay?
if (empty($newContent)) {
// Something went wrong!
- mxchange_die("Evaluation error:
".htmlentities($eval)."
");
+ app_die(__FUNCTION__, __LINE__, "Evaluation error:".htmlentities($eval)."
");
} // END - if
$OUTPUT = $newContent;
} // END - while
@@ -154,13 +138,13 @@ function OUTPUT_HTML ($HTML, $newLine = true) {
OUTPUT_RAW($OUTPUT);
} elseif ((constant('OUTPUT_MODE') == "render") && (!empty($OUTPUT))) {
// Rewrite links when rewrite extension is active
- if ((EXT_IS_ACTIVE("rewrite")) && ($CSS != "1") && ($CSS != "-1")) {
+ if ((EXT_IS_ACTIVE("rewrite")) && ($GLOBALS['output_mode'] != "1") && ($GLOBALS['output_mode'] != "-1")) {
$OUTPUT = REWRITE_LINKS($OUTPUT);
} // END - if
// Compile and run finished rendered HTML code
while (strpos($OUTPUT, '{!') > 0) {
- $eval = "\$OUTPUT = \"".COMPILE_CODE(SQL_ESCAPE($OUTPUT))."\";";
+ $eval = "\$OUTPUT = \"".COMPILE_CODE(smartAddSlashes($OUTPUT))."\";";
eval($eval);
} // END - while
@@ -181,10 +165,19 @@ function OUTPUT_RAW ($HTML) {
} // END - if
}
-// Add a fatal error message to the queue array
-function addFatalMessage ($message, $extra="") {
- global $FATAL;
+// Init fatal message array
+function initFatalMessages () {
+ $GLOBALS['fatal_messages'] = array();
+}
+// Getter for whole fatal error messages
+function getFatalArray () {
+ return $GLOBALS['fatal_messages'];
+}
+
+// Add a fatal error message to the queue array
+function addFatalMessage ($F, $L, $message, $extra="") {
+ debug_report_bug($message);
if (is_array($extra)) {
// Multiple extras for a message with masks
$message = call_user_func_array('sprintf', $extra);
@@ -193,24 +186,22 @@ function addFatalMessage ($message, $extra="") {
$message = sprintf($message, $extra);
}
- // Add message to $FATAL
- $FATAL[] = $message;
+ // Add message to $GLOBALS['fatal_messages']
+ $GLOBALS['fatal_messages'][] = $message;
// Log fatal messages away
- DEBUG_LOG(__FUNCTION__, __LINE__, " message={$message}");
+ DEBUG_LOG($F, $L, " message={$message}");
}
// Getter for total fatal message count
function getTotalFatalErrors () {
- global $FATAL;
-
// Init coun
$count = 0;
// Do we have at least the first entry?
- if (!empty($FATAL[0])) {
+ if (!empty($GLOBALS['fatal_messages'][0])) {
// Get total count
- $count = count($FATAL);
+ $count = count($GLOBALS['fatal_messages']);
} // END - if
// Return value
@@ -241,7 +232,7 @@ function LOAD_TEMPLATE ($template, $return=false, $content=array()) {
if ($template == "member_support_form") {
// Support request of a member
$result = SQL_QUERY_ESC("SELECT userid, gender, surname, family, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
- array($GLOBALS['userid']), __FILE__, __LINE__);
+ array(getUserId()), __FUNCTION__, __LINE__);
// Is content an array?
if (is_array($content)) {
@@ -303,7 +294,7 @@ function LOAD_TEMPLATE ($template, $return=false, $content=array()) {
////////////////////////
// Generate file name //
////////////////////////
- $file = $BASE.$MODE.$template.".tpl";
+ $FQFN = $BASE.$MODE.$template.".tpl";
if ((!empty($GLOBALS['what'])) && ((strpos($template, "_header") > 0) || (strpos($template, "_footer") > 0)) && (($MODE == "guest/") || ($MODE == "member/") || ($MODE == "admin/"))) {
// Select what depended header/footer template file for admin/guest/member area
@@ -315,22 +306,22 @@ function LOAD_TEMPLATE ($template, $return=false, $content=array()) {
);
// Probe for it...
- if (FILE_READABLE($file2)) $file = $file2;
+ if (FILE_READABLE($file2)) $FQFN = $file2;
// Remove variable from memory
unset($file2);
}
// Does the special template exists?
- if (!FILE_READABLE($file)) {
+ if (!FILE_READABLE($FQFN)) {
// Reset to default template
- $file = $BASE.$template.".tpl";
+ $FQFN = $BASE.$template.".tpl";
} // END - if
// Now does the final template exists?
- if (FILE_READABLE($file)) {
+ if (FILE_READABLE($FQFN)) {
// The local file does exists so we load it. :)
- $tmpl_file = READ_FILE($file);
+ $tmpl_file = READ_FILE($FQFN);
// Replace ' to our own chars to preventing them being quoted
while (strpos($tmpl_file, "'") !== false) { $tmpl_file = str_replace("'", '{QUOT}', $tmpl_file); }
@@ -339,7 +330,7 @@ function LOAD_TEMPLATE ($template, $return=false, $content=array()) {
$ret = "";
if ((strpos($tmpl_file, "\$") !== false) || (strpos($tmpl_file, '{--') !== false) || (strpos($tmpl_file, '--}') > 0)) {
// Okay, compile it!
- $tmpl_file = "\$ret=\"".COMPILE_CODE(SQL_ESCAPE($tmpl_file))."\";";
+ $tmpl_file = "\$ret=\"".COMPILE_CODE(smartAddSlashes($tmpl_file))."\";";
eval($tmpl_file);
} else {
// Simply return loaded code
@@ -348,10 +339,10 @@ function LOAD_TEMPLATE ($template, $return=false, $content=array()) {
// Add surrounding HTML comments to help finding bugs faster
$ret = "\n".$ret."\n";
- } elseif ((IS_ADMIN()) || ((isBooleanConstantAndTrue('mxchange_installing')) && (!isBooleanConstantAndTrue('mxchange_installed')))) {
+ } elseif ((IS_ADMIN()) || ((isInstalling()) && (!isInstalled()))) {
// Only admins shall see this warning or when installation mode is active
$ret = "
".TEMPLATE_404."
-(".basename($file).")
+(".basename($FQFN).")
".TEMPLATE_CONTENT."
".print_r($content, true)."
@@ -367,116 +358,117 @@ function LOAD_TEMPLATE ($template, $return=false, $content=array()) {
// Do we have some content to output or return?
if (!empty($ret)) {
// Not empty so let's put it out! ;)
- if ($return) {
+ if ($return === true) {
// Return the HTML code
return $ret;
} else {
// Output direct
OUTPUT_HTML($ret);
}
- } elseif (isBooleanConstantAndTrue('DEBUG_MODE')) {
+ } elseif (isDebugModeEnabled()) {
// Warning, empty output!
return "E:".$template."
\n";
}
}
// Send mail out to an email address
-function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") {
- //* DEBUG: */ print __FUNCTION__."(".__LINE__."):TO={$TO},SUBJECT={$SUBJECT}
\n";
+function SEND_EMAIL($toEmail, $subject, $message, $HTML = "N", $mailHeader = "") {
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):TO={$toEmail},SUBJECT={$subject}
\n";
// Compile subject line (for POINTS constant etc.)
- $eval = "\$SUBJECT = decodeEntities(\"".COMPILE_CODE(SQL_ESCAPE($SUBJECT))."\");";
+ $eval = "\$subject = decodeEntities(\"".COMPILE_CODE(smartAddSlashes($subject))."\");";
eval($eval);
// Set from header
- if ((!eregi("@", $TO)) && ($TO > 0)) {
+ if ((!eregi("@", $toEmail)) && ($toEmail > 0)) {
// Value detected, is the message extension installed?
if (EXT_IS_ACTIVE("msg")) {
- ADD_MESSAGE_TO_BOX($TO, $SUBJECT, $MSG, $HTML);
+ ADD_MESSAGE_TO_BOX($toEmail, $subject, $message, $HTML);
return;
} else {
// Load email address
- $result_email = SQL_QUERY_ESC("SELECT email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", array(bigintval($TO)), __FILE__, __LINE__);
+ $result_email = SQL_QUERY_ESC("SELECT email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", array(bigintval($toEmail)), __FUNCTION__, __LINE__);
//* DEBUG: */ print __FUNCTION__."(".__LINE__."):numRows=".SQL_NUMROWS($result_email)."
\n";
// Does the user exist?
if (SQL_NUMROWS($result_email)) {
// Load email address
- list($TO) = SQL_FETCHROW($result_email);
+ list($toEmail) = SQL_FETCHROW($result_email);
} else {
// Set webmaster
- $TO = constant('WEBMASTER');
+ $toEmail = constant('WEBMASTER');
}
// Free result
SQL_FREERESULT($result_email);
}
- } elseif ("$TO" == "0") {
+ } elseif ("$toEmail" == "0") {
// Is the webmaster!
- $TO = constant('WEBMASTER');
+ $toEmail = constant('WEBMASTER');
}
- //* DEBUG: */ print __FUNCTION__."(".__LINE__."):TO={$TO}
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):TO={$toEmail}
\n";
// Check for PHPMailer or debug-mode
if (!CHECK_PHPMAILER_USAGE()) {
// Not in PHPMailer-Mode
- if (empty($FROM)) {
+ if (empty($mailHeader)) {
// Load email header template
- $FROM = LOAD_EMAIL_TEMPLATE("header");
+ $mailHeader = LOAD_EMAIL_TEMPLATE("header");
} else {
// Append header
- $FROM .= LOAD_EMAIL_TEMPLATE("header");
+ $mailHeader .= LOAD_EMAIL_TEMPLATE("header");
}
- } elseif (isBooleanConstantAndTrue('DEBUG_MODE')) {
- if (empty($FROM)) {
+ } elseif (isDebugModeEnabled()) {
+ if (empty($mailHeader)) {
// Load email header template
- $FROM = LOAD_EMAIL_TEMPLATE("header");
+ $mailHeader = LOAD_EMAIL_TEMPLATE("header");
} else {
// Append header
- $FROM .= LOAD_EMAIL_TEMPLATE("header");
+ $mailHeader .= LOAD_EMAIL_TEMPLATE("header");
}
}
// Compile "TO"
- $eval = "\$TO = \"".COMPILE_CODE(SQL_ESCAPE($TO))."\";";
+ $eval = "\$toEmail = \"".COMPILE_CODE(smartAddSlashes($toEmail))."\";";
eval($eval);
// Compile "MSG"
- $eval = "\$MSG = \"".COMPILE_CODE(SQL_ESCAPE($MSG))."\";";
+ $eval = "\$message = \"".COMPILE_CODE(smartAddSlashes($message))."\";";
eval($eval);
// Fix HTML parameter (default is no!)
if (empty($HTML)) $HTML = "N";
- if (isBooleanConstantAndTrue('DEBUG_MODE')) {
+ if (isDebugModeEnabled()) {
// In debug mode we want to display the mail instead of sending it away so we can debug this part
print("
-".htmlentities(trim($FROM))."
-To : ".$TO."
-Subject : ".$SUBJECT."
-Message : ".$MSG."
+".htmlentities(trim($mailHeader))."
+To : ".$toEmail."
+Subject : ".$subject."
+Message : ".$message."
\n");
} elseif (($HTML == "Y") && (EXT_IS_ACTIVE("html_mail"))) {
// Send mail as HTML away
- SEND_HTML_EMAIL($TO, $SUBJECT, $MSG, $FROM);
- } elseif (!empty($TO)) {
+ SEND_HTML_EMAIL($toEmail, $subject, $message, $mailHeader);
+ } elseif (!empty($toEmail)) {
// Send Mail away
- SEND_RAW_EMAIL($TO, $SUBJECT, $MSG, $FROM);
+ SEND_RAW_EMAIL($toEmail, $subject, $message, $mailHeader);
} elseif ($HTML == "N") {
// Problem found!
- SEND_RAW_EMAIL(constant('WEBMASTER'), "[PROBLEM:]".$SUBJECT, $MSG, $FROM);
+ SEND_RAW_EMAIL(constant('WEBMASTER'), "[PROBLEM:]".$subject, $message, $mailHeader);
}
}
// Check if legacy or PHPMailer command
+// @TODO Rewrite this to an extension 'smtp'
// @private
function CHECK_PHPMAILER_USAGE() {
- return ((defined('SMTP_HOSTNAME')) && (defined('SMTP_USER')) && (defined('SMTP_PASSWORD')) && (SMTP_HOSTNAME != "") && (SMTP_USER != ""));
+ return ((defined('SMTP_HOSTNAME')) && (defined('SMTP_USER')) && (defined('SMTP_PASSWORD')) && (constant('SMTP_HOSTNAME') != "") && (constant('SMTP_USER') != ""));
}
/*
* Send out a raw email with PHPMailer class or legacy mail() command
*/
-function SEND_RAW_EMAIL ($to, $subject, $msg, $from) {
+function SEND_RAW_EMAIL ($toEmail, $subject, $msg, $from) {
// Shall we use PHPMailer class or legacy mode?
if (CHECK_PHPMAILER_USAGE()) {
// Use PHPMailer class with SMTP enabled
@@ -508,14 +500,14 @@ function SEND_RAW_EMAIL ($to, $subject, $msg, $from) {
} else {
$mail->Body = decodeEntities($msg);
}
- $mail->AddAddress($to, "");
+ $mail->AddAddress($toEmail, "");
$mail->AddReplyTo(constant('WEBMASTER'), constant('MAIN_TITLE'));
$mail->AddCustomHeader("Errors-To:".constant('WEBMASTER'));
$mail->AddCustomHeader("X-Loop:".constant('WEBMASTER'));
$mail->Send();
} else {
// Use legacy mail() command
- @mail($to, $subject, decodeEntities($msg), $from);
+ @mail($toEmail, $subject, decodeEntities($msg), $from);
}
}
//
@@ -531,7 +523,7 @@ function GEN_PASS ($LEN = 0) {
// Start creating password
$PASS = "";
for ($i = 0; $i < $LEN; $i++) {
- $PASS .= $ABC[mt_rand(0, sizeof($ABC) -1)];
+ $PASS .= $ABC[mt_rand(0, count($ABC) -1)];
} // END - for
// When the size is below 40 we can also add additional security by scrambling it
@@ -656,8 +648,7 @@ function TRANSLATE_GENDER ($gender) {
//
function FRAMETESTER ($URL) {
// Prepare frametester URL
- $frametesterUrl = sprintf("%s/modules.php?module=frametester&url=%s",
- URL,
+ $frametesterUrl = sprintf("{!URL!}/modules.php?module=frametester&url=%s",
encodeString(compileUriCode($URL))
);
return $frametesterUrl;
@@ -667,8 +658,8 @@ function FRAMETESTER ($URL) {
function SELECTION_COUNT ($array) {
$ret = 0;
if (is_array($array)) {
- foreach ($array as $key => $sel) {
- if (!empty($sel)) $ret++;
+ foreach ($array as $key => $selected) {
+ if (!empty($selected)) $ret++;
}
}
return $ret;
@@ -694,7 +685,7 @@ function TRANSLATE_STATUS ($status) {
default:
DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Unknown status %s detected.", $status));
- $ret = sprintf(getMessage('UNKNOWN_STATUS"'), $status);
+ $ret = sprintf(getMessage('UNKNOWN_STATUS'), $status);
break;
}
@@ -703,8 +694,6 @@ function TRANSLATE_STATUS ($status) {
}
//
function GET_LANGUAGE() {
- global $cacheArray;
-
// Set default return value to default language from config
$ret = constant('DEFAULT_LANG');
@@ -712,12 +701,12 @@ function GET_LANGUAGE() {
$lang = "";
// Is the variable set
- if (!empty($_GET['mx_lang'])) {
+ if (REQUEST_ISSET_GET(('mx_lang'))) {
// Accept only first 2 chars
- $lang = substr($_GET['mx_lang'], 0, 2);
- } elseif (isset($cacheArray['language'])) {
+ $lang = substr(REQUEST_GET('mx_lang'), 0, 2);
+ } elseif (isset($GLOBALS['cache_array']['language'])) {
// Use cached
- $ret = $cacheArray['language'];
+ $ret = $GLOBALS['cache_array']['language'];
} elseif (!empty($lang)) {
// Check if main language file does exist
if (FILE_READABLE(constant('PATH')."inc/language/".$lang.".php")) {
@@ -733,7 +722,7 @@ function GET_LANGUAGE() {
}
// Cache entry
- $cacheArray['language'] = $ret;
+ $GLOBALS['cache_array']['language'] = $ret;
// Return value
return $ret;
@@ -748,7 +737,7 @@ function SET_LANGUAGE ($lang) {
}
//
function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
- global $DATA, $REPLACER, $_CONFIG;
+ global $DATA, $_CONFIG;
// Make sure all template names are lowercase!
$template = strtolower($template);
@@ -798,12 +787,12 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
//* DEBUG: */ print __FUNCTION__."(".__LINE__."):NICKNAME!
\n";
// Load nickname
$result = SQL_QUERY_ESC("SELECT surname, family, gender, email, nickname FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
- array(bigintval($UID)), __FILE__, __LINE__);
+ array(bigintval($UID)), __FUNCTION__, __LINE__);
} else {
//* DEBUG: */ print __FUNCTION__."(".__LINE__."):NO-NICK!
\n";
/// Load normal data
$result = SQL_QUERY_ESC("SELECT surname, family, gender, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
- array(bigintval($UID)), __FILE__, __LINE__);
+ array(bigintval($UID)), __FUNCTION__, __LINE__);
}
// Fetch and merge data
@@ -830,41 +819,41 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
// Check for admin/guest/member templates
if (strpos($template, "admin_") > -1) {
// Admin template found
- $file = $BASE."admin/".$template.".tpl";
+ $FQFN = $BASE."admin/".$template.".tpl";
} elseif (strpos($template, "guest_") > -1) {
// Guest template found
- $file = $BASE."guest/".$template.".tpl";
+ $FQFN = $BASE."guest/".$template.".tpl";
} elseif (strpos($template, "member_") > -1) {
// Member template found
- $file = $BASE."member/".$template.".tpl";
+ $FQFN = $BASE."member/".$template.".tpl";
} else {
// Test for extension
$test = substr($template, 0, strpos($template, "_"));
if (EXT_IS_ACTIVE($test)) {
// Set extra path to extension's name
- $file = $BASE.$test."/".$template.".tpl";
+ $FQFN = $BASE.$test."/".$template.".tpl";
} else {
// No special filename
- $file = $BASE.$template.".tpl";
+ $FQFN = $BASE.$template.".tpl";
}
}
// Does the special template exists?
- if (!FILE_READABLE($file)) {
+ if (!FILE_READABLE($FQFN)) {
// Reset to default template
- $file = $BASE.$template.".tpl";
+ $FQFN = $BASE.$template.".tpl";
} // END - if
// Now does the final template exists?
$newContent = "";
- if (FILE_READABLE($file)) {
+ if (FILE_READABLE($FQFN)) {
// The local file does exists so we load it. :)
- $tmpl_file = READ_FILE($file);
+ $tmpl_file = READ_FILE($FQFN);
$tmpl_file = SQL_ESCAPE($tmpl_file);
// Run code
$tmpl_file = "\$newContent = decodeEntities(\"".COMPILE_CODE($tmpl_file)."\");";
- @eval($tmpl_file);
+ eval($tmpl_file);
} elseif (!empty($template)) {
// Template file not found!
$newContent = "{--TEMPLATE_404--}: ".$template."
@@ -875,7 +864,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
";
// Debug mode not active? Then remove the HTML tags
- if (!isBooleanConstantAndTrue('DEBUG_MODE')) $newContent = strip_tags($newContent);
+ if (!isDebugModeEnabled()) $newContent = strip_tags($newContent);
} else {
// No template name supplied!
$newContent = getMessage('NO_TEMPLATE_SUPPLIED');
@@ -897,7 +886,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
return COMPILE_CODE($newContent);
}
//
-function MAKE_TIME($H, $M, $S, $stamp) {
+function MAKE_TIME ($H, $M, $S, $stamp) {
// Extract day, month and year from given timestamp
$DAY = date("d", $stamp);
$MONTH = date("m", $stamp);
@@ -907,9 +896,7 @@ function MAKE_TIME($H, $M, $S, $stamp) {
return mktime($H, $M, $S, $MONTH, $DAY, $YEAR);
}
//
-function LOAD_URL($URL, $addUrlData=true) {
- global $CSS, $footer;
-
+function LOAD_URL ($URL, $addUrlData=true) {
// Compile out URI codes
$URL = compileUriCode($URL);
@@ -920,7 +907,8 @@ function LOAD_URL($URL, $addUrlData=true) {
}
// Get output buffer
- //* DEBUG: */ debug_report_bug();
+ //* DEBUG: */ debug_report_bug(sprintf("%s[%s:] URL=%s", __FUNCTION__, __LINE__, $URL));
+ //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, $URL);
$OUTPUT = ob_get_contents();
// Clear it only if there is content
@@ -929,7 +917,7 @@ function LOAD_URL($URL, $addUrlData=true) {
} // END - if
// Add some data to URL if cookies are not accepted
- if (((!defined('__COOKIES')) || (!__COOKIES)) && ($addUrlData)) $URL = ADD_URL_DATA($URL);
+ if (((!defined('__COOKIES')) || (!constant('__COOKIES'))) && ($addUrlData)) $URL = ADD_URL_DATA($URL);
// Probe for bot from search engine
if ((eregi("spider", GET_USER_AGENT())) || (eregi("bot", GET_USER_AGENT()))) {
@@ -948,7 +936,7 @@ function LOAD_URL($URL, $addUrlData=true) {
LOAD_TEMPLATE("redirect_url", false, str_replace("&", "&", $URL));
LOAD_INC("inc/footer.php");
}
- exit();
+ shutdown();
}
// Wrapper for LOAD_URL but URL comes from a configuration entry
@@ -967,21 +955,21 @@ function LOAD_CONFIGURED_URL ($configEntry) {
}
//
-function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
- global $SEC_CHARS, $URL_CHARS;
+function COMPILE_CODE ($code, $simple = false, $constants = true, $full = true) {
// Is the code a string?
if (!is_string($code)) {
// Silently return it
return $code;
} // END - if
- $ARRAY = $SEC_CHARS;
+ // Init replacement-array with full security characters
+ $secChars = $GLOBALS['security_chars'];
// Select smaller set of chars to replace when we e.g. want to compile URLs
- if (!$full) $ARRAY = $URL_CHARS;
+ if (!$full) $secChars = $GLOBALS['url_chars'];
// Compile constants
- if ($constants) {
+ if ($constants === true) {
// BEFORE 0.2.1 : Language and data constants
// WITH 0.2.1+ : Only language constants
$code = str_replace('{--','".', str_replace('--}','."', $code));
@@ -992,16 +980,16 @@ function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
} // END - if
// Compile QUOT and other non-HTML codes
- foreach ($ARRAY['to'] as $k => $to) {
+ foreach ($secChars['to'] as $k => $to) {
// Do the reversed thing as in inc/libs/security_functions.php
- $code = str_replace($to, $ARRAY['from'][$k], $code);
+ $code = str_replace($to, $secChars['from'][$k], $code);
} // END - foreach
// But shall I keep simple quotes for later use?
if ($simple) $code = str_replace("'", '{QUOT}', $code);
// Find $content[bla][blub] entries
- @preg_match_all('/\$(content|DATA)((\[([a-zA-Z0-9-_]+)\])*)/', $code, $matches);
+ preg_match_all('/\$(content|DATA)((\[([a-zA-Z0-9-_]+)\])*)/', $code, $matches);
// Are some matches found?
if ((count($matches) > 0) && (count($matches[0]) > 0)) {
@@ -1066,8 +1054,7 @@ function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
* Sie, dass es doch nicht so schwer ist! :-) *
* *
************************************************************************/
-function array_pk_sort(&$array, $a_sort, $primary_key = 0, $order = -1, $nums = false)
-{
+function array_pk_sort (&$array, $a_sort, $primary_key = 0, $order = -1, $nums = false) {
$dummy = $array;
while ($primary_key < count($a_sort)) {
foreach ($dummy[$a_sort[$primary_key]] as $key => $value) {
@@ -1101,9 +1088,9 @@ function array_pk_sort(&$array, $a_sort, $primary_key = 0, $order = -1, $nums =
// Write back sorted array
$array = $dummy;
}
+
//
-function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0") {
- global $MONTH_DESCR;
+function ADD_SELECTION ($type, $DEFAULT, $prefix="", $id="0") {
$OUT = "";
if ($type == "yn") {
@@ -1128,7 +1115,7 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0") {
break;
case "month": // Month
- foreach ($MONTH_DESCR as $month => $descr) {
+ foreach ($GLOBALS['month_descr'] as $month => $descr) {
$OUT .= "