More globals rewritten, see ticket #100
[mailer.git] / inc / functions.php
index d6c84e21874b9a6429210d85e831a3c66ef63798..e202db15d3e7750537b78684bf6b0ae533f3c5be 100644 (file)
@@ -80,7 +80,7 @@ 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("<strong>{--FATAL_ERROR--}:</strong> {--LANG_NO_RENDER_DIRECT--}");
+                       app_die(__FUNCTION__, __LINE__, "<strong>{--FATAL_ERROR--}:</strong> {--LANG_NO_RENDER_DIRECT--}");
                        break;
                }
        } elseif ((constant('_OB_CACHING') == "on") && (isset($GLOBALS['footer_sent'])) && ($GLOBALS['footer_sent'] == 1)) {
@@ -129,7 +129,7 @@ function OUTPUT_HTML ($HTML, $newLine = true) {
                        // Was that eval okay?
                        if (empty($newContent)) {
                                // Something went wrong!
-                               mxchange_die("Evaluation error:<pre>".htmlentities($eval)."</pre>");
+                               app_die(__FUNCTION__, __LINE__, "Evaluation error:<pre>".htmlentities($eval)."</pre>");
                        } // END - if
                        $OUTPUT = $newContent;
                } // END - while
@@ -2233,10 +2233,13 @@ function FIX_DELETED_COOKIES ($cookies) {
 }
 
 // Output error messages in a fasioned way and die...
-function mxchange_die ($msg) {
+function app_die ($F, $L, $msg) {
        // Load header
        LOAD_INC_ONCE("inc/header.php");
 
+       // Prepare message for output
+       $msg = sprintf(getMessage('MXCHANGE_HAS_DIED'), basename($F), $L, $msg);
+
        // Load the message template
        LOAD_TEMPLATE("admin_settings_saved", false, $msg);
 
@@ -2466,7 +2469,7 @@ function WRITE_FILE ($FQFN, $content) {
                $return = file_put_contents($FQFN, $content);
        } else {
                // Write it with fopen
-               $fp = fopen($FQFN, 'w') or mxchange_die("Cannot write file ".basename($FQFN)."!");
+               $fp = fopen($FQFN, 'w') or app_die(__FUNCTION__, __LINE__, "Cannot write file ".basename($FQFN)."!");
                fwrite($fp, $content);
                fclose($fp);
 
@@ -2481,7 +2484,7 @@ function WRITE_FILE ($FQFN, $content) {
 // Generates an error code from given account status
 function GEN_ERROR_CODE_FROM_ACCOUNT_STATUS ($status) {
        // Default error code if unknown account status
-       $ERROR = getCode('UNKNOWN_STATUS');
+       $errorCode = getCode('UNKNOWN_STATUS');
 
        // Generate constant name
        $constantName = sprintf("ID_%s", $status);
@@ -2489,14 +2492,14 @@ function GEN_ERROR_CODE_FROM_ACCOUNT_STATUS ($status) {
        // Is the constant there?
        if (isCodeSet($constantName)) {
                // Then get it!
-               $ERROR = getCode($constantName);
+               $errorCode = getCode($constantName);
        } else {
                // Unknown status
                DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Unknown error status %s detected.", $status));
        }
 
        // Return error code
-       return $ERROR;
+       return $errorCode;
 }
 
 // Clears the output buffer. This function does *NOT* backup sent content.
@@ -2512,7 +2515,10 @@ function clearOutputBuffer () {
 function searchDirsRecursive ($dir, &$last_changed) {
        // Get dir as array
        //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):dir=".$dir."<br />\n";
-       $ds = GET_DIR_AS_ARRAY($dir, "", true, false);
+       // Does it match what we are looking for? (We skip a lot files already!)
+    // RegexPattern to exclude  ., .., .revision,  .svn, debug.log or .cache in the filenames
+       $excludePattern = '@(\.|\.\.|\.revision|\.svn|debug\.log|\.cache|config\.php)$@';
+       $ds = GET_DIR_AS_ARRAY($dir, "", true, false, $excludePattern);
        //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):ds[]=".count($ds)."<br />\n";
 
        // Walk through all entries
@@ -2520,29 +2526,25 @@ function searchDirsRecursive ($dir, &$last_changed) {
                // Generate proper FQFN
                $FQFN = str_replace("//", "/", constant('PATH') . $dir. "/". $d);
 
-               // Does it match what we are looking for? (We skip a lot files already!)
-               if (!preg_match('@(\.|\.\.|\.revision|\.svn|debug\.log|\.cache|config\.php)$@', $d)) {          // no ., .., .revision,  .svn, debug.log or .cache in the filename
-
-                       // Is it a file and readable?
-                       //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):FQFN={$FQFN}<br />\n";
-                       if (isDirectory($FQFN)) {
-                                // $FQFN is a directory so also crawl into this directory
-                               $newDir = $d;
-                               if (!empty($dir)) $newDir = $dir . "/". $d;
-                               //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):DESCENT: ".$newDir."<br />\n";
-                               searchDirsRecursive($newDir, $last_changed);
-                       } elseif (FILE_READABLE($FQFN)) {
-                               // $FQFN is a filename and no directory
-                               $time = filemtime($FQFN);
-                               //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):File: ".$d." found. (".($last_changed['time'] - $time).")<br />\n";
-                               if ($last_changed['time'] < $time) {
-                                       // This file is newer as the file before
-                                       //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>) - NEWER!<br />\n";
-                                       $last_changed['path_name'] = $FQFN;
-                                       $last_changed['time'] = $time;
-                               } // END - if
-                       }
-               } // END - if
+               // Is it a file and readable?
+               //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):FQFN={$FQFN}<br />\n";
+               if (isDirectory($FQFN)) {
+                        // $FQFN is a directory so also crawl into this directory
+                       $newDir = $d;
+                       if (!empty($dir)) $newDir = $dir . "/". $d;
+                       //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):DESCENT: ".$newDir."<br />\n";
+                       searchDirsRecursive($newDir, $last_changed);
+               } elseif (FILE_READABLE($FQFN)) {
+                       // $FQFN is a filename and no directory
+                       $time = filemtime($FQFN);
+                       //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):File: ".$d." found. (".($last_changed['time'] - $time).")<br />\n";
+                       if ($last_changed['time'] < $time) {
+                               // This file is newer as the file before
+                               //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>) - NEWER!<br />\n";
+                               $last_changed['path_name'] = $FQFN;
+                               $last_changed['time'] = $time;
+                       } // END - if
+               }
        } // END - foreach
 }
 
@@ -2757,7 +2759,7 @@ function debug_report_bug ($message = "") {
        $debug .= "Thank you for finding bugs.";
 
        // And abort here
-       // @TODO This cannot be rewritten to mxchange_die(), try to find a solution for this.
+       // @TODO This cannot be rewritten to app_die(), try to find a solution for this.
        die($debug);
 }
 
@@ -2830,9 +2832,11 @@ function GENERATE_AID_LINK ($aid) {
        $admin = "<span class=\"admin_note\">{--ADMIN_NO_ADMIN_ASSIGNED--}</span>";
 
        // Zero? = Not assigned
-       if ($aid > 0) {
+       if (bigintval($aid) > 0) {
                // Load admin's login
                $login = GET_ADMIN_LOGIN($aid);
+
+               // Is the login valid?
                if ($login != "***") {
                        // Is the extension there?
                        if (EXT_IS_ACTIVE("admins")) {
@@ -3090,7 +3094,7 @@ function DEBUG_LOG ($funcFile, $line, $message, $force=true) {
                $message = str_replace("\r", "", str_replace("\n", "", $message));
 
                // Log this message away
-               $fp = fopen(constant('PATH')."inc/cache/debug.log", 'a') or mxchange_die("Cannot write logfile debug.log!");
+               $fp = fopen(constant('PATH')."inc/cache/debug.log", 'a') or app_die(__FUNCTION__, __LINE__, "Cannot write logfile debug.log!");
                fwrite($fp, date("d.m.Y|H:i:s", time())."|".basename($funcFile)."|".$line."|".strip_tags($message)."\n");
                fclose($fp);
        } // END - if
@@ -3315,7 +3319,7 @@ function CACHE_PURGE_ADMIN_MENU ($id=0, $action="", $what="", $str="") {
 
 // Translates the "pool type" into human-readable
 function TRANSLATE_POOL_TYPE ($type) {
-       // Default type is unknown
+       // Default?type is unknown
        $translated = sprintf(getMessage('POOL_TYPE_UNKNOWN'), $type);
 
        // Generate constant