X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ffunctions.php;h=57e2c1036496f8d6305bdaeabc192e9770edb98b;hp=60efa3138edc088eca19193615a0e0b88586f5fa;hb=6aa5b6c3d7c49ceb5a41b836657321e9c0b5dea5;hpb=f1308369312b448023e572dc12dec0da6a9b5e52
diff --git a/inc/functions.php b/inc/functions.php
index 60efa3138e..57e2c10364 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -44,7 +44,8 @@ if (!defined('__SECURITY')) {
// Output HTML code directly or 'render' it. You addionally switch the new-line character off
function outputHtml ($htmlCode, $newLine = true) {
// Transfer username
- $username = getUsername();
+ $username = getMessage('USERNAME_UNKNOWN');
+ if (isset($GLOBALS['username'])) $username = getUsername();
// Do we have HTML-Code here?
if (!empty($htmlCode)) {
@@ -115,7 +116,7 @@ function outputHtml ($htmlCode, $newLine = true) {
sendHeader('Content-language: ' . getLanguage());
// Extension 'rewrite' installed?
- if ((isExtensionActive('rewrite')) && (getOutputMode() != '1')) {
+ if ((isExtensionActive('rewrite')) && (getOutputMode() != 1)) {
$GLOBALS['output'] = rewriteLinksInCode($GLOBALS['output']);
} // END - if
@@ -123,7 +124,7 @@ function outputHtml ($htmlCode, $newLine = true) {
$cnt = 0;
// Compile and run finished rendered HTML code
- while (((strpos($GLOBALS['output'], '{!') > 0) || (strpos($GLOBALS['output'], '{?') > 0)) && ($cnt < 3)) {
+ while (((strpos($GLOBALS['output'], '{--') > 0) || (strpos($GLOBALS['output'], '{!') > 0) || (strpos($GLOBALS['output'], '{?') > 0)) && ($cnt < 3)) {
// Prepare the content and eval() it...
$content = array();
$newContent = '';
@@ -135,7 +136,7 @@ function outputHtml ($htmlCode, $newLine = true) {
// Was that eval okay?
if (empty($newContent)) {
// Something went wrong!
- debug_report_bug('Evaluation error:
' . htmlentities($eval) . '
');
+ debug_report_bug('Evaluation error:' . linenumberCode($eval) . '
');
} // END - if
$GLOBALS['output'] = $newContent;
@@ -147,7 +148,7 @@ function outputHtml ($htmlCode, $newLine = true) {
outputRawCode($GLOBALS['output']);
} elseif ((getConfig('OUTPUT_MODE') == 'render') && (!empty($GLOBALS['output']))) {
// Rewrite links when rewrite extension is active
- if ((isExtensionActive('rewrite')) && (getOutputMode() != '1')) {
+ if ((isExtensionActive('rewrite')) && (getOutputMode() != 1)) {
$GLOBALS['output'] = rewriteLinksInCode($GLOBALS['output']);
} // END - if
@@ -197,6 +198,7 @@ function addFatalMessage ($F, $L, $message, $extra='') {
$GLOBALS['fatal_messages'][] = $message;
// Log fatal messages away
+ debug_report_bug($message);
logDebugMessage($F, $L, " message={$message}");
}
@@ -239,7 +241,7 @@ function loadTemplate ($template, $return=false, $content=array()) {
if (empty($GLOBALS['refid'])) $GLOBALS['refid'] = 0;
// Generate date/time string
- $date_time = generateDateTime(time(), '1');
+ $date_time = generateDateTime(time(), 1);
// Is content an array
if (is_array($content)) $content['date_time'] = $date_time;
@@ -362,8 +364,9 @@ function loadTemplate ($template, $return=false, $content=array()) {
$eval = '$ret = "' . compileCode(smartAddSlashes($GLOBALS['tpl_content'])) . '";';
}
} else {
- // Simply return loaded code
- $eval = '$ret = $GLOBALS[\'tpl_content\'];';
+ // Add surrounding HTML comments to help finding bugs faster
+ $ret = "\n" . $GLOBALS['tpl_content'] . "\n";
+ $eval = '$ret = "' . smartAddSlashes($ret) . '";';
} // END - if
// Cache the eval() command here
@@ -407,7 +410,7 @@ function loadTemplate ($template, $return=false, $content=array()) {
}
// Loads an email template and compiles it
-function loadEmailTemplate ($template, $content = array(), $UID = '0') {
+function loadEmailTemplate ($template, $content = array(), $UID = 0) {
global $DATA;
// Our configuration is kept non-global here
@@ -455,7 +458,7 @@ function loadEmailTemplate ($template, $content = array(), $UID = '0') {
} // END - if
// Load user's data
- //* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):UID={$UID},template={$template},content[]=".gettype($content)."
");
+ //* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):UID={$UID},template={$template},content[]=".gettype($content).'
');
if (($UID > 0) && (is_array($content))) {
// If nickname extension is installed, fetch nickname as well
if (isExtensionActive('nickname')) {
@@ -524,10 +527,9 @@ function loadEmailTemplate ($template, $content = array(), $UID = '0') {
if (isFileReadable($FQFN)) {
// The local file does exists so we load it. :)
$GLOBALS['tpl_content'] = readFromFile($FQFN);
- $GLOBALS['tpl_content'] = SQL_ESCAPE($GLOBALS['tpl_content']);
// Run code
- $GLOBALS['tpl_content'] = "\$newContent = decodeEntities(\"".compileCode($GLOBALS['tpl_content'])."\");";
+ $GLOBALS['tpl_content'] = "\$newContent = decodeEntities(\"".compileCode(smartAddSlashes($GLOBALS['tpl_content']))."\");";
eval($GLOBALS['tpl_content']);
} elseif (!empty($template)) {
// Template file not found!
@@ -557,8 +559,12 @@ function loadEmailTemplate ($template, $content = array(), $UID = '0') {
unset($content);
unset($DATA);
- // Return compiled content
- return compileCode($newContent);
+ // Compile the code and eval it
+ $eval = '$newContent = "' . compileCode(smartAddSlashes($newContent)) . '";';
+ eval($eval);
+
+ // Return content
+ return $newContent;
}
// Send mail out to an email address
@@ -579,7 +585,7 @@ function sendEmail ($toEmail, $subject, $message, $isHtml = 'N', $mailHeader = '
// Load email address
$result_email = SQL_QUERY_ESC("SELECT `email` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1",
array(bigintval($toEmail)), __FUNCTION__, __LINE__);
- //* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):numRows=".SQL_NUMROWS($result_email)."
");
+ //* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):numRows=".SQL_NUMROWS($result_email).'
');
// Does the user exist?
if (SQL_NUMROWS($result_email)) {
@@ -629,12 +635,12 @@ function sendEmail ($toEmail, $subject, $message, $isHtml = 'N', $mailHeader = '
if (empty($isHtml)) $isHtml = 'N';
if (isDebugModeEnabled()) {
// In debug mode we want to display the mail instead of sending it away so we can debug this part
- outputHtml("
-".htmlentities(trim($mailHeader))."
-To : " . $toEmail."
-Subject : " . $subject."
-Message : " . $message."
-
\n");
+ outputHtml('
+Headers : ' . str_replace('<', '<', str_replace('>', '>', htmlentities(trim($mailHeader)))) . '
+To : ' . $toEmail . '
+Subject : ' . $subject . '
+Message : ' . $message . '
+
');
} elseif (($isHtml == 'Y') && (isExtensionActive('html_mail'))) {
// Send mail as HTML away
sendHtmlEmail($toEmail, $subject, $message, $mailHeader);
@@ -724,7 +730,7 @@ function generatePassword ($length = 0) {
}
// Generates a human-readable timestamp from the Uni* stamp
-function generateDateTime ($time, $mode = '0') {
+function generateDateTime ($time, $mode = 0) {
// Filter out numbers
$time = bigintval($time);
@@ -737,10 +743,10 @@ function generateDateTime ($time, $mode = '0') {
switch (getLanguage()) {
case 'de': // German date / time format
switch ($mode) {
- case '0': $ret = date("d.m.Y \u\m H:i \U\h\\r", $time); break;
- case '1': $ret = strtolower(date('d.m.Y - H:i', $time)); break;
- case '2': $ret = date('d.m.Y|H:i', $time); break;
- case '3': $ret = date('d.m.Y', $time); break;
+ case 0: $ret = date("d.m.Y \u\m H:i \U\h\\r", $time); break;
+ case 1: $ret = strtolower(date('d.m.Y - H:i', $time)); break;
+ case 2: $ret = date('d.m.Y|H:i', $time); break;
+ case 3: $ret = date('d.m.Y', $time); break;
default:
logDebugMessage(__FUNCTION__, __LINE__, sprintf("Invalid date mode %s detected.", $mode));
break;
@@ -749,10 +755,10 @@ function generateDateTime ($time, $mode = '0') {
default: // Default is the US date / time format!
switch ($mode) {
- case '0': $ret = date('r', $time); break;
- case '1': $ret = date('Y-m-d - g:i A', $time); break;
- case '2': $ret = date('y-m-d|H:i', $time); break;
- case '3': $ret = date('y-m-d', $time); break;
+ case 0: $ret = date('r', $time); break;
+ case 1: $ret = date('Y-m-d - g:i A', $time); break;
+ case 2: $ret = date('y-m-d|H:i', $time); break;
+ case 3: $ret = date('y-m-d', $time); break;
default:
logDebugMessage(__FUNCTION__, __LINE__, sprintf("Invalid date mode %s detected.", $mode));
break;
@@ -801,7 +807,7 @@ function translatePoolType ($type) {
// Translates the american decimal dot into a german comma
function translateComma ($dotted, $cut = true, $max = 0) {
// Default is 3 you can change this in admin area "Misc -> Misc Options"
- if (!isConfigEntrySet('max_comma')) setConfigEntry('max_comma', '3');
+ if (!isConfigEntrySet('max_comma')) setConfigEntry('max_comma', 3);
// Use from config is default
$maxComma = getConfig('max_comma');
@@ -887,7 +893,7 @@ function generateDerefererUrl ($URL) {
// Don't de-refer our own links!
if (substr($URL, 0, strlen(getConfig('URL'))) != getConfig('URL')) {
// De-refer this link
- $URL = 'modules.php?module=loader&url=' . encodeString(compileUriCode($URL));
+ $URL = '{?URL?}/modules.php?module=loader&url=' . encodeString(compileUriCode($URL));
} // END - if
// Return link
@@ -928,18 +934,25 @@ function countSelection ($array) {
// Generate XHTML code for the CAPTCHA
function generateCaptchaCode ($code, $type, $DATA, $userid) {
- return '';
+ return '';
}
// Generates a timestamp (some wrapper for mktime())
-function makeTime ($H, $M, $S, $stamp) {
+function makeTime ($hours, $minutes, $seconds, $stamp) {
// Extract day, month and year from given timestamp
- $day = date('d', $stamp);
- $month = date('m', $stamp);
- $year = date('Y', $stamp);
+ $days = date('d', $stamp);
+ $months = date('m', $stamp);
+ $years = date('Y', $stamp);
// Create timestamp for wished time which depends on extracted date
- return mktime($H, $M, $S, $month, $day, $year);
+ return mktime(
+ $hours,
+ $minutes,
+ $seconds,
+ $months,
+ $days,
+ $years
+ );
}
// Redirects to an URL and if neccessarry extends it with own base URL
@@ -1151,7 +1164,7 @@ function array_pk_sort (&$array, $a_sort, $primary_key = 0, $order = -1, $nums =
}
//
-function addSelectionBox ($type, $default, $prefix = '', $id = '0') {
+function addSelectionBox ($type, $default, $prefix = '', $id = 0) {
$OUT = '';
if ($type == 'yn') {
@@ -1236,7 +1249,7 @@ function addSelectionBox ($type, $default, $prefix = '', $id = '0') {
case 'sec':
case 'min':
for ($idx = 0; $idx < 60; $idx+=5) {
- if (strlen($idx) == 1) $idx = '0' . $idx;
+ if (strlen($idx) == 1) $idx = 0 . $idx;
$OUT .= "