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)) {
// 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
// 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()) {
// Add more variables which you want to use in your template files
- global $DATA, $_CONFIG, $username;
+ global $DATA, $username;
+
+ // Get whole config array
+ $_CONFIG = getConfigArray();
// Make all template names lowercase
$template = strtolower($template);
if ((substr($URL, 0, 7) != "http://") && (substr($URL, 0, 8) != "https://")) {
// Make all URLs full-qualified
$URL = "".$URL;
- }
+ } // END - if
- // Get output buffer
+ // Three different debug ways...
//* DEBUG: */ debug_report_bug(sprintf("%s[%s:] URL=%s", __FUNCTION__, __LINE__, $URL));
//* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, $URL);
+ //* DEBUG: */ die($URL);
+
+ // Get output buffer
$OUTPUT = ob_get_contents();
// Clear it only if there is content
LOAD_TEMPLATE("redirect_url", false, str_replace("&", "&", $URL));
LOAD_INC("inc/footer.php");
}
+
+ // Shut the mailer down here
shutdown();
}
}
// 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);
$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);
// 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);
// 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.
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
// 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
}
$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);
}
$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")) {
$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!");
- fwrite($fp, date("d.m.Y|H:i:s", time())."|".basename($funcFile)."|".$line."|".strip_tags($message)."\n");
+ $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())."|".$GLOBALS['module']."|".basename($funcFile)."|".$line."|".strip_tags($message)."\n");
fclose($fp);
} // END - if
}
// 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