X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ffunctions.php;h=f071322d043c171fd85417d3dd4f23f0885ee8b3;hp=fd8b2c5a9074c4fd388e3bb1999e6ed4f35ade1c;hb=397eb5dee2611cfaa1ff494d73e6785b88109cd6;hpb=27f65d023a3388a8bd85be8ee5991f776f541847
diff --git a/inc/functions.php b/inc/functions.php
index fd8b2c5a90..f071322d04 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -40,7 +40,7 @@ if (!defined('__SECURITY')) {
// Check if our config file is writeable or not
function IS_INC_WRITEABLE($inc) {
// Generate FQFN
- $fqfn = sprintf("%sinc/%s.php", PATH, $inc);
+ $fqfn = sprintf("%sinc/%s.php", constant('PATH'), $inc);
// Abort by simple test
if ((FILE_READABLE($fqfn)) && (!is_writeable($fqfn))) {
@@ -51,51 +51,16 @@ function IS_INC_WRITEABLE($inc) {
$fp = @fopen($fqfn, 'a');
if ($inc == "dummy") {
// Remove dummy file
- @fclose($fp);
- return @unlink($fqfn);
+ fclose($fp);
+ return unlink($fqfn);
} else {
// Close all other files
- return @fclose($fp);
- }
-}
-
-// Open a table (you may want to add some header stuff here)
-function OPEN_TABLE($PERCENT = "", $CLASS = "", $ALIGN="left", $VALIGN="", $td_only=false) {
- global $table_cnt;
-
- // Count tables so we can generate CSS classes for every table... :-)
- if (empty($CLASS)) {
- // Class is empty so count one up and create a class
- $table_cnt++; $CLASS = "class".$table_cnt;
+ return fclose($fp);
}
- $OUT = "
";
- OUTPUT_HTML($OUT);
-}
-
-// Close a table (you may want to add some footer stuff here)
-function CLOSE_TABLE($ADD="") {
- OUTPUT_HTML(" \n");
- if (!empty($ADD)) OUTPUT_HTML($ADD);
- OUTPUT_HTML("
");
}
// Output HTML code directly or "render" it. You addionally switch the new-line character off
-function OUTPUT_HTML($HTML, $NEW_LINE = true) {
+function OUTPUT_HTML ($HTML, $NEW_LINE = true) {
// Some global variables
global $OUTPUT, $footer, $CSS;
@@ -133,7 +98,7 @@ function OUTPUT_HTML($HTML, $NEW_LINE = true) {
default:
// Huh, something goes wrong or maybe you have edited config.php ???
DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Invalid renderer %s detected.", OUTPUT_MODE));
- MXCHANGE_DIE("".FATAL_ERROR.": ".LANG_NO_RENDER_DIRECT);
+ mxchange_die("{!FATAL_ERROR!}: {!LANG_NO_RENDER_DIRECT!}");
break;
}
} elseif ((_OB_CACHING == "on") && ($footer == 1)) {
@@ -142,18 +107,15 @@ function OUTPUT_HTML($HTML, $NEW_LINE = true) {
// Log this error
DEBUG_LOG(__FUNCTION__, __LINE__, "Headers already sent! We need debug backtrace here.");
- // Output debug trace
- print("Headers are already sent! \n");
- print("Please report this error at bugs.mxchange.org:
");
- debug_print_backtrace();
- die("
Thank you for your help finding bugs.");
+ // Trigger an user error
+ trigger_error("Headers are already sent!");
} // END - if
// Output cached HTML code
$OUTPUT = ob_get_contents();
// Clear output buffer for later output
- ob_end_clean();
+ clearOutputBuffer();
// Send HTTP header
header("HTTP/1.1 200");
@@ -169,7 +131,7 @@ function OUTPUT_HTML($HTML, $NEW_LINE = true) {
header("Connection: Close");
// Extension "rewrite" installed?
- if ((EXT_IS_ACTIVE("rewrite")) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
+ if ((EXT_IS_ACTIVE("rewrite")) && ($CSS != "1") && ($CSS != "-1")) {
$OUTPUT = REWRITE_LINKS($OUTPUT);
} // END - if
@@ -192,7 +154,7 @@ function OUTPUT_HTML($HTML, $NEW_LINE = true) {
OUTPUT_RAW($OUTPUT);
} elseif ((OUTPUT_MODE == "render") && (!empty($OUTPUT))) {
// Rewrite links when rewrite extension is active
- if ((EXT_IS_ACTIVE("rewrite")) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
+ if ((EXT_IS_ACTIVE("rewrite")) && ($CSS != "1") && ($CSS != "-1")) {
$OUTPUT = REWRITE_LINKS($OUTPUT);
} // END - if
@@ -220,7 +182,7 @@ function OUTPUT_RAW ($HTML) {
}
// Add a fatal error message to the queue array
-function ADD_FATAL ($message, $extra="") {
+function addFatalMessage ($message, $extra="") {
global $FATAL;
if (empty($extra)) {
@@ -236,8 +198,25 @@ function ADD_FATAL ($message, $extra="") {
DEBUG_LOG(__FUNCTION__, __LINE__, " 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])) {
+ // Get total count
+ $count = count($FATAL);
+ } // END - if
+
+ // Return value
+ return $count;
+}
+
// Load a template file and return it's content (only it's name; do not use ' or ")
-function LOAD_TEMPLATE($template, $return=false, $content=array()) {
+function LOAD_TEMPLATE ($template, $return=false, $content=array()) {
// Add more variables which you want to use in your template files
global $DATA, $_CONFIG, $username;
@@ -259,7 +238,7 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
// @DEPRECATED Try to rewrite the if() condition
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",
+ $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__);
// Is content an array?
@@ -286,7 +265,7 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
$date_time = MAKE_DATETIME(time(), "1");
// Base directory
- $BASE = sprintf("%stemplates/%s/html/", PATH, GET_LANGUAGE());
+ $BASE = sprintf("%stemplates/%s/html/", constant('PATH'), GET_LANGUAGE());
$MODE = "";
// Check for admin/guest/member templates
@@ -347,7 +326,7 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
// Now does the final template exists?
if (FILE_READABLE($file)) {
// The local file does exists so we load it. :)
- $tmpl_file = implode("", file($file));
+ $tmpl_file = READ_FILE($file);
// Replace ' to our own chars to preventing them being quoted
while (strpos($tmpl_file, "'") !== false) { $tmpl_file = str_replace("'", '{QUOT}', $tmpl_file); }
@@ -367,7 +346,7 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
$ret = "\n".$ret."\n";
} elseif ((IS_ADMIN()) || ((isBooleanConstantAndTrue('mxchange_installing')) && (!isBooleanConstantAndTrue('mxchange_installed')))) {
// Only admins shall see this warning or when installation mode is active
- $ret = " ".TEMPLATE_404."
+ $ret = " ".TEMPLATE_404."
(".basename($file).")
".TEMPLATE_CONTENT."
@@ -413,7 +392,7 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") {
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($TO)), __FILE__, __LINE__);
//* DEBUG: */ print __FUNCTION__."(".__LINE__."):numRows=".SQL_NUMROWS($result_email)." \n";
// Does the user exist?
@@ -422,7 +401,7 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") {
list($TO) = SQL_FETCHROW($result_email);
} else {
// Set webmaster
- $TO = WEBMASTER;
+ $TO = constant('WEBMASTER');
}
// Free result
@@ -430,7 +409,7 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") {
}
} elseif ("$TO" == "0") {
// Is the webmaster!
- $TO = WEBMASTER;
+ $TO = constant('WEBMASTER');
}
//* DEBUG: */ print __FUNCTION__."(".__LINE__."):TO={$TO} \n";
@@ -497,12 +476,12 @@ function SEND_RAW_EMAIL ($to, $subject, $msg, $from) {
// Shall we use PHPMailer class or legacy mode?
if (CHECK_PHPMAILER_USAGE()) {
// Use PHPMailer class with SMTP enabled
- require_once(PATH."inc/phpmailer/class.phpmailer.php");
- require_once(PATH."inc/phpmailer/class.smtp.php");
+ LOAD_INC_ONCE("inc/phpmailer/class.phpmailer.php");
+ LOAD_INC_ONCE("inc/phpmailer/class.smtp.php");
// get new instance
$mail = new PHPMailer();
- $mail->PluginDir = sprintf("%sinc/phpmailer/", PATH);
+ $mail->PluginDir = sprintf("%sinc/phpmailer/", constant('PATH'));
$mail->IsSMTP();
$mail->SMTPAuth = true;
@@ -511,7 +490,7 @@ function SEND_RAW_EMAIL ($to, $subject, $msg, $from) {
$mail->Username = SMTP_USER;
$mail->Password = SMTP_PASSWORD;
if (empty($from)) {
- $mail->From = WEBMASTER;
+ $mail->From = constant('WEBMASTER');
} else {
$mail->From = $from;
}
@@ -648,7 +627,7 @@ function DEREFERER ($URL) {
// Don't de-refer our own links!
if (substr($URL, 0, strlen(URL)) != URL) {
// De-refer this link
- $URL = URL."/modules.php?module=loader&url=".urlencode(base64_encode(gzcompress($URL)));
+ $URL = "modules.php?module=loader&url=".urlencode(base64_encode(gzcompress($URL)));
} // END - if
// Return link
@@ -687,7 +666,7 @@ function SELECTION_COUNT($array) {
}
//
function IMG_CODE ($code, $type, $DATA, $uid) {
- return "";
+ return "";
}
//
function TRANSLATE_STATUS($status) {
@@ -722,7 +701,7 @@ function GET_LANGUAGE() {
global $cacheArray;
// Set default return value to default language from config
- $ret = DEFAULT_LANG;
+ $ret = constant('DEFAULT_LANG');
// Init variable
$lang = "";
@@ -745,7 +724,7 @@ function GET_LANGUAGE() {
$ret = get_session('mx_lang');
// Fixes a warning before the session has the mx_lang constant
- if (empty($ret)) $ret = DEFAULT_LANG;
+ if (empty($ret)) $ret = constant('DEFAULT_LANG');
}
// Cache entry
@@ -755,12 +734,12 @@ function GET_LANGUAGE() {
return $ret;
}
//
-function SET_LANGUAGE($lang) {
+function SET_LANGUAGE ($lang) {
// Accept only first 2 chars!
$lang = substr(SQL_ESCAPE(strip_tags($lang)), 0, 2);
// Set cookie
- set_session("mx_lang", $lang);
+ set_session('mx_lang', $lang);
}
//
function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
@@ -773,7 +752,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
$nick = "---";
// Keept for backward-compatiblity (please replace these variables against our new {!CONST!} syntax!)
- // No longer used: $MAIN_TITLE = MAIN_TITLE; $URL = URL; $WEBMASTER = WEBMASTER;
+ // No longer used: $MAIN_TITLE = MAIN_TITLE; $URL = constant('URL'); $WEBMASTER = constant('WEBMASTER');
// Prepare IP number and User Agent
$REMOTE_ADDR = GET_REMOTE_ADDR();
@@ -792,18 +771,15 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
} // END - if
// Neutral email address is default
- $email = WEBMASTER;
+ $email = constant('WEBMASTER');
// Expiration in a nice output format
if (getConfig('auto_purge') == 0) {
// Will never expire!
$EXPIRATION = MAIL_WILL_NEVER_EXPIRE;
- } elseif (function_exists('CREATE_FANCY_TIME')) {
+ } else {
// Create nice date string
$EXPIRATION = CREATE_FANCY_TIME(getConfig('auto_purge'));
- } else {
- // Display days only
- $EXPIRATION = round(getConfig('auto_purge')/60/60/24)." "._DAYS;
}
// Is content an array?
@@ -819,12 +795,12 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
if (EXT_IS_ACTIVE("nickname")) {
//* 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",
+ $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__);
} 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",
+ $result = SQL_QUERY_ESC("SELECT surname, family, gender, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
array(bigintval($UID)), __FILE__, __LINE__);
}
@@ -847,7 +823,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
$DATA['email'] = $email;
// Base directory
- $BASE = sprintf("%stemplates/%s/emails/", PATH, GET_LANGUAGE());
+ $BASE = sprintf("%stemplates/%s/emails/", constant('PATH'), GET_LANGUAGE());
// Check for admin/guest/member templates
if (strpos($template, "admin_") > -1) {
@@ -881,7 +857,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
$newContent = "";
if (FILE_READABLE($file)) {
// The local file does exists so we load it. :)
- $tmpl_file = implode("", file($file));
+ $tmpl_file = READ_FILE($file);
$tmpl_file = addslashes($tmpl_file);
// Run code
@@ -907,6 +883,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
if (empty($newContent)) {
// Compiling failed
$newContent = "Compiler error for template {$template}!\nUncompiled content:\n".$tmpl_file;
+ // Add last error if the required function exists
if (function_exists('error_get_last')) $newContent .= "\n--------------------------------------\nDebug:\n".print_r(error_get_last(), true)."--------------------------------------\nPlease don't alter these informations!\nThanx.";
} // END - if
@@ -937,7 +914,7 @@ function LOAD_URL($URL, $addUrlData=true) {
// Check if http(s):// is there
if ((substr($URL, 0, 7) != "http://") && (substr($URL, 0, 8) != "https://")) {
// Make all URLs full-qualified
- $URL = URL."/".$URL;
+ $URL = "".$URL;
}
// Get output buffer
@@ -950,7 +927,7 @@ function LOAD_URL($URL, $addUrlData=true) {
// Clear it only if there is content
if (!empty($OUTPUT)) {
- ob_end_clean();
+ clearOutputBuffer();
} // END - if
// Add some data to URL if cookies are not accepted
@@ -962,7 +939,7 @@ function LOAD_URL($URL, $addUrlData=true) {
$URL = htmlentities(strip_tags($URL), ENT_QUOTES);
// Output new location link as anchor
- OUTPUT_HTML("".$URL."");
+ OUTPUT_HTML("".$URL."");
} elseif (!headers_sent()) {
// Load URL when headers are not sent
/*
@@ -970,15 +947,31 @@ function LOAD_URL($URL, $addUrlData=true) {
debug_print_backtrace();
die("URL={$URL}");
*/
- @header ("Location: ".str_replace("&", "&", $URL));
+ header ("Location: ".str_replace("&", "&", $URL));
} else {
// Output error message
- include(PATH."inc/header.php");
+ LOAD_INC("inc/header.php");
LOAD_TEMPLATE("redirect_url", false, str_replace("&", "&", $URL));
- include(PATH."inc/footer.php");
+ LOAD_INC("inc/footer.php");
}
exit();
}
+
+// Wrapper for LOAD_URL but URL comes from a configuration entry
+function LOAD_CONFIGURED_URL ($configEntry) {
+ // Get the URL
+ $URL = getConfig($configEntry);
+
+ // Is this URL set?
+ if (is_null($URL)) {
+ // Then abort here
+ trigger_error(sprintf("Configuration entry %s is not set!", $configEntry));
+ } // END - if
+
+ // Load the URL
+ LOAD_URL($URL);
+}
+
//
function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
global $SEC_CHARS, $URL_CHARS;
@@ -1071,7 +1064,7 @@ function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
* $array - Das 3-dimensionale Array, das paralell sortiert werden soll *
* $a_sort - Array, das die Sortiereihenfolge der ersten Elementeben *
* $primary_key - Prim.rschl.ssel aus $a_sort, nach dem sortiert wird *
- * $order - Sortiereihenfolge: -1 = A-Z, 0 = keine, 1 = Z-A *
+ * $order - Sortiereihenfolge: -1 = a-Z, 0 = keine, 1 = Z-a *
* $nums - true = Als Zahlen sortieren, false = Als Zeichen sortieren *
* *
* $a_sort muss Elemente enthalten, deren Wert Schluessel von $array *
@@ -1122,29 +1115,29 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0") {
if ($type == "yn") {
// This is a yes/no selection only!
if ($id > 0) $prefix .= "[".$id."]";
- $OUT .= "