ob_end_clean();
// Extension "rewrite" installed?
- if ((EXT_IS_ACTIVE("rewrite", true)) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
+ if ((EXT_IS_ACTIVE("rewrite")) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
$OUTPUT = REWRITE_LINKS($OUTPUT);
} // END - if
OUTPUT_RAW($OUTPUT);
} elseif ((OUTPUT_MODE == "render") && (!empty($OUTPUT))) {
// Rewrite links when rewrite extension is active
- if ((EXT_IS_ACTIVE("rewrite", true)) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
+ if ((EXT_IS_ACTIVE("rewrite")) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
$OUTPUT = REWRITE_LINKS($OUTPUT);
} // END - if
Subject : ".$SUBJECT."
Message : ".$MSG."
</pre>\n";
- } elseif (($HTML == "Y") && (EXT_IS_ACTIVE("html_mail", true))) {
+
+ // Log the mail away
+ if (defined('DEBUG_MAIL')) DEBUG_LOG(__FUNCTION__.":to={$TO},subject={$SUBJECT},msg={$MSG}");
+ } elseif (($HTML == "Y") && (EXT_IS_ACTIVE("html_mail"))) {
// Send mail as HTML away
SEND_HTML_EMAIL($TO, $SUBJECT, $MSG, $FROM);
} elseif (!empty($TO)) {
$REMOTE_ADDR = getenv('REMOTE_ADDR');
$HTTP_USER_AGENT = getenv('HTTP_USER_AGENT');
+ // Default admin
$ADMIN = MAIN_TITLE;
- if (isSessionVariableSet('admin_login')) {
+
+ // Is the admin logged in?
+ if (IS_ADMIN()) {
// Load Admin data
- $result = SQL_QUERY_ESC("SELECT email FROM "._MYSQL_PREFIX."_admins WHERE login='%s' LIMIT 1",
- array(get_session('admin_login')), __FILE__, __LINE__);
- list($ADMIN) = SQL_FETCHROW($result);
- SQL_FREERESULT($result);
+ $ADMIN = GET_ADMIN_EMAIL(get_session('admin_login'));
} // END - if
// Neutral email address is default
array(bigintval($UID)), __FILE__, __LINE__);
} else {
//* DEBUG: */ echo __FUNCTION__.":NO-NICK!<br />\n";
- // Load normal data
+ /// 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__);
}
// Run code
$tmpl_file = "\$newContent=html_entity_decode(\"".COMPILE_CODE($tmpl_file)."\");";
- eval($tmpl_file);
+ @eval($tmpl_file);
} elseif (!empty($template)) {
// Template file not found!
$newContent = TEMPLATE_404.": ".$template."<br />
// Is there some content?
if (empty($newContent)) {
// Compiling failed
- $newContent = "Compiler error for template {$template}!";
+ $newContent = "Compiler error for template {$template}!\nUncompiled content:\n".$tmpl_file;
+ 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
// Return compiled content
//
function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
global $SEC_CHARS, $URL_CHARS;
+ // Is the code a string?
+ if (!is_string($code)) {
+ // Abort here with backtrace
+ DEBUG_LOG(__FUNCTION__.": code is not string!");
+ print "<pre>";
+ debug_print_backtrace();
+ die("</pre>");
+ } // END - if
+
$ARRAY = $SEC_CHARS;
// Select smaller set of chars to replace when we e.g. want to compile URLs
// BEFORE 0.2.1 : Not used
// WITH 0.2.1+ : Data constants
$code = str_replace('{!','".', str_replace("!}", '."', $code));
- }
+ } // END - if
// Compile QUOT and other non-HTML codes
foreach ($ARRAY['to'] as $k => $to) {
// Do the reversed thing as in inc/libs/security_functions.php
$code = str_replace($to, $ARRAY['from'][$k], $code);
- }
+ } // END - foreach
// But shall I keep simple quotes for later use?
if ($simple) $code = str_replace("\'", '{QUOT}', $code);
// Replace all matches
$matchesFound = array();
foreach ($matches[0] as $key => $match) {
- // Avoid replacing matches multiple times
- if (!isset($matchesFound[$match])) {
- // Not yet replaced!
- $code = str_replace($match, "\".".$match.".\"", $code);
- $matchesFound[$match] = 1;
- } // END - if
+ // Fuzzy look has failed by default
+ $fuzzyFound = false;
+
+ // Fuzzy look on match if already found
+ foreach ($matchesFound as $found => $set) {
+ // Get test part
+ $test = substr($found, 0, strlen($match));
+
+ // Does this entry exist?
+ //* DEBUG: */ echo __FUNCTION__.":found={$found},match={$match},set={$set}<br />\n";
+ if ($test == $match) {
+ // Match found!
+ //* DEBUG: */ echo __FUNCTION__.":fuzzyFound!<br />\n";
+ $fuzzyFound = true;
+ break;
+ } // END - if
+ } // END - foreach
+
+ // Skip this entry?
+ if ($fuzzyFound) continue;
// Take all string elements
- if ((is_string($matches[4][$key])) && (!isset($matchesFound[$key."_".$matches[4][$key]]))) {
+ if ((is_string($matches[4][$key])) && (!isset($matchesFound[$match])) && (!isset($matchesFound[$key."_".$matches[4][$key]]))) {
// Replace it in the code
+ //* DEBUG: */ echo __FUNCTION__.":key={$key},match={$match}<br />\n";
$newMatch = str_replace("[".$matches[4][$key]."]", "['".$matches[4][$key]."']", $match);
- $code = str_replace($match, $newMatch, $code);
+ $code = str_replace($match, "\".".$newMatch.".\"", $code);
$matchesFound[$key."_".$matches[4][$key]] = 1;
- } // END - if
- }
- }
+ $matchesFound[$match] = 1;
+ } elseif (!isset($matchesFound[$match])) {
+ // Not yet replaced!
+ //* DEBUG: */ echo __FUNCTION__.":match={$match}<br />\n";
+ $code = str_replace($match, "\".".$match.".\"", $code);
+ $matchesFound[$match] = 1;
+ }
+ } // END - foreach
+ } // END - if
// Return compiled code
return $code;
if ((EXT_IS_ACTIVE("admins")) && ($table == "admins")) {
// Create email link for contacting admin in guest area
$EMAIL = ADMINS_CREATE_EMAIL_LINK($email);
- } elseif ((EXT_IS_ACTIVE("user", true)) && (GET_EXT_VERSION("user") >= "0.3.3") && ($table == "user_data")) {
+ } elseif ((EXT_IS_ACTIVE("user")) && (GET_EXT_VERSION("user") >= "0.3.3") && ($table == "user_data")) {
// Create email link for contacting a member within admin area (or later in other areas, too?)
$EMAIL = USER_CREATE_EMAIL_LINK($email);
} elseif ((EXT_IS_ACTIVE("sponsor")) && ($table == "sponsor_data")) {
global $_CONFIG, $_SERVER;
// Is the required extension "sql_patches" there and a salt is not given?
- if (((EXT_VERSION_IS_OLDER("sql_patches", "0.3.6")) || (GET_EXT_VERSION("sql_patches") == "")) && (empty($salt))) {
+ if (((EXT_VERSION_IS_OLDER("sql_patches", "0.3.6")) || (!EXT_IS_ACTIVE("sql_patches"))) && (empty($salt))) {
// Extension sql_patches is missing/outdated so we return the plain text
return $plainText;
} // END - if
} // END - if
// When the salt is empty build a new one, else use the first x configured characters as the salt
- if ($salt == "") {
+ if (empty($salt)) {
// Build server string
$server = $_SERVER['PHP_SELF'].":".getenv('HTTP_USER_AGENT').":".getenv('SERVER_SOFTWARE').":".getenv('REMOTE_ADDR').":".":".filemtime(PATH."inc/databases.php");
// Is this a valid reset file?
//* DEBUG: */ echo __FUNCTION__.":baseDir={$baseDir},prefix={$prefix},baseFile={$baseFile}<br />\n";
- if ((is_file($file)) && (is_readable($file)) && (substr($baseFile, 0, strlen($prefix)) == $prefix) && (substr($baseFile, -4, 4) == ".php")) {
+ if ((FILE_READABLE($file)) && (substr($baseFile, 0, strlen($prefix)) == $prefix) && (substr($baseFile, -4, 4) == ".php")) {
// Remove both for extension name
$extName = substr($baseFile, strlen($prefix), -4);
// Include file given?
if (!empty($inc)) {
- // And rebuild it from scratch
- require_once(PATH."inc/loader/load_cache-".$inc.".php");
+ // Construct FQFN
+ $fqfn = sprintf("%sinc/loader/load_cache-%s.php", PATH, $inc);
+
+ // Is the include there?
+ if (FILE_READABLE($fqfn)) {
+ // And rebuild it from scratch
+ require_once($fqfn);
+ } else {
+ // Include not found!
+ DEBUG_LOG(__FUNCTION__.":Include {$inc} not found. cache={$cache}");
+ }
} // END - if
} // END - if
} // END - if