// Output HTML code directly or 'render' it. You addionally switch the new-line character off
function outputHtml ($htmlCode, $newLine = true) {
+ // Init output
+ if (!isset($GLOBALS['output'])) $GLOBALS['output'] = '';
+
// Transfer username
$username = getMessage('USERNAME_UNKNOWN');
if (isset($GLOBALS['username'])) $username = getUsername();
} // END - if
// Init counter
- $cnt = 0;
+ $cnt = '0';
// Compile and run finished rendered HTML code
while (((strpos($GLOBALS['output'], '{--') > 0) || (strpos($GLOBALS['output'], '{!') > 0) || (strpos($GLOBALS['output'], '{?') > 0)) && ($cnt < 3)) {
// Getter for total fatal message count
function getTotalFatalErrors () {
// Init coun
- $count = 0;
+ $count = '0';
// Do we have at least the first entry?
if (!empty($GLOBALS['fatal_messages'][0])) {
global $DATA;
// Do we have cache?
- if (!isset($GLOBALS['template_eval'][$template])) {
+ if (isTemplateCached($template)) {
+ // Evaluate the cache
+ eval(readTemplateCache($template));
+ } elseif (!isset($GLOBALS['template_eval'][$template])) {
// Add more variables which you want to use in your template files
$username = getUsername();
// Init some data
$ret = '';
- if (empty($GLOBALS['refid'])) $GLOBALS['refid'] = 0;
-
- // Generate date/time string
- $date_time = generateDateTime(time(), 1);
-
- // Is content an array
- if (is_array($content)) $content['date_time'] = $date_time;
+ if (empty($GLOBALS['refid'])) $GLOBALS['refid'] = '0';
// Base directory
$basePath = sprintf("%stemplates/%s/html/", getConfig('PATH'), getLanguage());
$ret = '';
if ((strpos($GLOBALS['tpl_content'], '$') !== false) || (strpos($GLOBALS['tpl_content'], '{--') !== false) || (strpos($GLOBALS['tpl_content'], '{!') !== false) || (strpos($GLOBALS['tpl_content'], '{?') !== false)) {
// Normal HTML output?
- if (getOutputMode() == 0) {
+ if (getOutputMode() == '0') {
// Add surrounding HTML comments to help finding bugs faster
$ret = "<!-- Template " . $template . " - Start -->\n" . $GLOBALS['tpl_content'] . "<!-- Template " . $template . " - End -->\n";
// Prepare eval() command
- $eval = '$ret = "' . compileCode(smartAddSlashes($GLOBALS['tpl_content'])) . '";';
+ $eval = '$ret = "' . compileCode(smartAddSlashes($ret)) . '";';
+ } elseif (substr($template, 0, 3) == 'js_') {
+ // JavaScripts don't like entities
+ $eval = '$ret = decodeEntities("' . compileCode(smartAddSlashes($GLOBALS['tpl_content'])) . '");';
} else {
// Prepare eval() command
$eval = '$ret = "' . compileCode(smartAddSlashes($GLOBALS['tpl_content'])) . '";';
// Eval the code
eval($GLOBALS['template_eval'][$template]);
- } else {
- // No file!
- $GLOBALS['template_eval'][$template] = '404';
- }
- } elseif (((isAdmin()) || ((isInstalling()) && (!isInstalled()))) && ($GLOBALS['template_eval'][$template] == '404')) {
- // Only admins shall see this warning or when installation mode is active
- $ret = '<br /><span class=\\"guest_failed\\">{--TEMPLATE_404--}</span><br />
+ } elseif ((isAdmin()) || ((isInstalling()) && (!isInstalled()))) {
+ // Only admins shall see this warning or when installation mode is active
+ $ret = '<br /><span class=\\"guest_failed\\">{--TEMPLATE_404--}</span><br />
(' . $template . ')<br />
<br />
{--TEMPLATE_CONTENT--}
<pre>' . print_r($content, true) . '</pre>
{--TEMPLATE_DATA--}
<pre>' . print_r($DATA, true) . '</pre>
-<br /><br />\";';
+<br /><br />';
+ } else {
+ // No file!
+ $GLOBALS['template_eval'][$template] = '404';
+ }
} else {
// Eval the code
eval($GLOBALS['template_eval'][$template]);
// Return the HTML code
return $ret;
} else {
- // Output direct
+ // Output directly
outputHtml($ret);
}
} elseif (isDebugModeEnabled()) {
}
// 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
- $_CONFIG = getConfigArray();
-
// Make sure all template names are lowercase!
$template = strtolower($template);
// Expiration in a nice output format
// NOTE: Use $content[expiration] in your templates instead of $EXPIRATION
- if (getConfig('auto_purge') == 0) {
+ if (getConfig('auto_purge') == '0') {
// Will never expire!
$EXPIRATION = getMessage('MAIL_WILL_NEVER_EXPIRE');
} else {
unset($DATA);
// Compile the code and eval it
- $eval = '$newContent = "' . compileCode(smartAddSlashes($newContent)) . '";';
+ $eval = '$newContent = "' . compileRawCode(smartAddSlashes($newContent)) . '";';
eval($eval);
// Return content
//* DEBUG: */ outputHtml(__FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):TO={$toEmail},SUBJECT={$subject}<br />");
// Compile subject line (for POINTS constant etc.)
- eval("\$subject = decodeEntities(\"".compileCode(smartAddSlashes($subject))."\");");
+ eval("\$subject = decodeEntities(\"".compileRawCode(smartAddSlashes($subject))."\");");
// Set from header
if ((!eregi('@', $toEmail)) && ($toEmail > 0)) {
}
// Compile "TO"
- eval("\$toEmail = \"".compileCode(smartAddSlashes($toEmail))."\";");
+ eval("\$toEmail = \"".compileRawCode(smartAddSlashes($toEmail))."\";");
// Compile "MSG"
- eval("\$message = \"".compileCode(smartAddSlashes($message))."\";");
+ eval("\$message = \"".compileRawCode(smartAddSlashes($message))."\";");
// Fix HTML parameter (default is no!)
if (empty($isHtml)) $isHtml = 'N';
}
// Generate a password in a specified length or use default password length
-function generatePassword ($length = 0) {
+function generatePassword ($length = '0') {
// Auto-fix invalid length of zero
- if ($length == 0) $length = getConfig('pass_len');
+ if ($length == '0') $length = getConfig('pass_len');
// Initialize array with all allowed chars
$ABC = explode(',', 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9,-,+,_,/,.');
// Start creating password
$PASS = '';
- for ($i = 0; $i < $length; $i++) {
+ for ($i = '0'; $i < $length; $i++) {
$PASS .= $ABC[mt_rand(0, count($ABC) -1)];
} // END - for
}
// 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);
// If the stamp is zero it mostly didn't "happen"
- if ($time == 0) {
+ if ($time == '0') {
// Never happend
return getMessage('NEVER_HAPPENED');
} // END - if
}
// Translates the american decimal dot into a german comma
-function translateComma ($dotted, $cut = true, $max = 0) {
+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 ($max > 0) $maxComma = $max;
// Cut zeros off?
- if (($cut === true) && ($max == 0)) {
+ if (($cut === true) && ($max == '0')) {
// Test for commata if in cut-mode
$com = explode('.', $dotted);
if (count($com) < 2) {
// Don't display commatas even if there are none... ;-)
- $maxComma = 0;
+ $maxComma = '0';
}
} // END - if
} // END - if
// Init count
- $ret = 0;
+ $ret = '0';
// Count all entries
foreach ($array as $key => $selected) {
// Redirects to an URL and if neccessarry extends it with own base URL
function redirectToUrl ($URL) {
// Compile out codes
- eval('$URL = "' . compileCode($URL) . '";');
+ eval('$URL = "' . compileRawCode($URL) . '";');
// Check if http(s):// is there
if ((substr($URL, 0, 7) != 'http://') && (substr($URL, 0, 8) != 'https://')) {
return $code;
} // END - if
+ // Start couting
+ $startCompile = explode(' ', microtime());
+
+ // Comile the code
+ $code = compileRawCode($code, $simple, $constants, $full);
+
+ // Get timing
+ $compiled = explode(' ', microtime());
+
+ // Add timing
+ $code .= '<!-- Compilation time: ' . ((($compiled[1] + $compiled[0]) - ($startCompile[1] + $startCompile[0])) * 1000). 'ms //-->';
+
+ // Return compiled code
+ return $code;
+}
+
+// Compiles the code (use compileCode() only for HTML because of the comments)
+function compileRawCode ($code, $simple = false, $constants = true, $full = true) {
+ // Is the code a string?
+ if (!is_string($code)) {
+ // Silently return it
+ return $code;
+ } // END - if
+
// Init replacement-array with full security characters
$secChars = $GLOBALS['security_chars'];
} // END - foreach
} // END - if
- // Return compiled code
+ // Return it
return $code;
}
* Sie, dass es doch nicht so schwer ist! :-) *
* *
************************************************************************/
-function array_pk_sort (&$array, $a_sort, $primary_key = 0, $order = -1, $nums = false) {
+function array_pk_sort (&$array, $a_sort, $primary_key = '0', $order = -1, $nums = false) {
$dummy = $array;
while ($primary_key < count($a_sort)) {
foreach ($dummy[$a_sort[$primary_key]] as $key => $value) {
}
//
-function addSelectionBox ($type, $default, $prefix = '', $id = 0) {
+function addSelectionBox ($type, $default, $prefix = '', $id = '0', $class = 'register_select') {
$OUT = '';
if ($type == 'yn') {
// This is a yes/no selection only!
if ($id > 0) $prefix .= "[" . $id."]";
- $OUT .= " <select name=\"" . $prefix."\" class=\"register_select\" size=\"1\">\n";
+ $OUT .= " <select name=\"" . $prefix."\" class=\"" . $class . "\" size=\"1\">\n";
} else {
// Begin with regular selection box here
if (!empty($prefix)) $prefix .= "_";
$type2 = $type;
if ($id > 0) $type2 .= "[" . $id."]";
- $OUT .= " <select name=\"".strtolower($prefix . $type2)."\" class=\"register_select\" size=\"1\">\n";
+ $OUT .= " <select name=\"".strtolower($prefix . $type2)."\" class=\"" . $class . "\" size=\"1\">\n";
}
switch ($type) {
case 'sec':
case 'min':
- for ($idx = 0; $idx < 60; $idx+=5) {
- if (strlen($idx) == 1) $idx = 0 . $idx;
+ for ($idx = '0'; $idx < 60; $idx+=5) {
+ if (strlen($idx) == 1) $idx = '0' . $idx;
$OUT .= "<option value=\"" . $idx."\"";
if ($default == $idx) $OUT .= ' selected="selected"';
$OUT .= ">" . $idx."</option>\n";
break;
case 'hour':
- for ($idx = 0; $idx < 24; $idx++) {
- if (strlen($idx) == 1) $idx = 0 . $idx;
+ for ($idx = '0'; $idx < 24; $idx++) {
+ if (strlen($idx) == 1) $idx = '0' . $idx;
$OUT .= "<option value=\"" . $idx."\"";
if ($default == $idx) $OUT .= ' selected="selected"';
$OUT .= ">" . $idx."</option>\n";
$data .= getConfig('ENCRYPT_SEPERATOR') . determineReferalId();
$data .= getConfig('ENCRYPT_SEPERATOR') . getLanguage();
$data .= getConfig('ENCRYPT_SEPERATOR') . getCurrentTheme();
- $data .= getConfig('ENCRYPT_SEPERATOR') . getUserId();
+ $data .= getConfig('ENCRYPT_SEPERATOR') . getMemberId();
// Calculate number for generating the code
$a = $code + getConfig('_ADD') - 1;
// At least 10 numbers shall be secure enought!
$len = getConfig('code_length');
- if ($len == 0) $len = $length;
- if ($len == 0) $len = 10;
+ if ($len == '0') $len = $length;
+ if ($len == '0') $len = 10;
// Cut off requested counts of number
$return = substr(str_replace('.', '', $rcode), 0, $len);
$ret = preg_replace('/[^0123456789]/', '', $num);
// Shall we cast?
- if ($castValue) $ret = (double)$ret;
+ if ($castValue === true) $ret = (double)$ret;
// Has the whole value changed?
- // @TODO Remove this if() block if all is working fine
if ('' . $ret . '' != '' . $num . '') {
// Log the values
- //debug_report_bug("{$ret}<>{$num}");
+ debug_report_bug('Problem with number found. ret=' . $ret . ', num='. $num);
} // END - if
// Return result
}
// Insert the code in $img_code into jpeg or PNG image
-function generateImageOrCode ($img_code, $headerSent=true) {
- if ((strlen($img_code) > 6) || (empty($img_code)) || (getConfig('code_length') == 0)) {
+function generateImageOrCode ($img_code, $headerSent = true) {
+ // Is the code size oversized or shouldn't we display it?
+ if ((strlen($img_code) > 6) || (empty($img_code)) || (getConfig('code_length') == '0')) {
// Stop execution of function here because of over-sized code length
- return;
+ debug_report_bug('img_code ' . $img_code .' has invalid length. img_code()=' . strlen($img_code) . ' code_length=' . getConfig('code_length'));
} elseif ($headerSent === false) {
- // Return in an HTML code code
+ // Return an HTML code here
return "<img src=\"{?URL?}/img.php?code=" . $img_code."\" alt=\"Image\" />\n";
}
// Load image
- $img = sprintf("%s/theme/%s/images/code_bg.%s", getConfig('PATH'), getCurrentTheme(), getConfig('img_type'));
+ $img = sprintf("%s/theme/%s/images/code_bg.%s",
+ getConfig('PATH'),
+ getCurrentTheme(),
+ getConfig('img_type')
+ );
+
+ // Is it readable?
if (isFileReadable($img)) {
// Switch image type
switch (getConfig('img_type'))
//* DEBUG: */ print("*" . $stamp.'/' . $timestamp."*<br />");
// Do we have a leap year?
- $SWITCH = 0;
+ $SWITCH = '0';
$TEST = date('Y', time()) / 4;
$M1 = date('m', time());
$M2 = date('m', (time() + $timestamp));
//* DEBUG: */ print("s={$s}<br />");
// Is seconds zero and time is < 60 seconds?
- if (($s == 0) && ($timestamp < 60)) {
+ if (($s == '0') && ($timestamp < 60)) {
// Fix seconds
$s = round($timestamp);
} // END - if
if (ereg('Y', $display) || (empty($display))) {
// Generate year selection
$OUT .= " <td align=\"center\"><select class=\"mini_select\" name=\"" . $prefix."_ye\" size=\"1\">\n";
- for ($idx = 0; $idx <= 10; $idx++) {
+ for ($idx = '0'; $idx <= 10; $idx++) {
$OUT .= " <option class=\"mini_select\" value=\"" . $idx."\"";
if ($idx == $Y) $OUT .= ' selected="selected"';
$OUT .= ">" . $idx."</option>\n";
if (ereg('M', $display) || (empty($display))) {
// Generate month selection
$OUT .= " <td align=\"center\"><select class=\"mini_select\" name=\"" . $prefix."_mo\" size=\"1\">\n";
- for ($idx = 0; $idx <= 11; $idx++)
+ for ($idx = '0'; $idx <= 11; $idx++)
{
$OUT .= " <option class=\"mini_select\" value=\"" . $idx."\"";
if ($idx == $M) $OUT .= ' selected="selected"';
if (ereg("W", $display) || (empty($display))) {
// Generate week selection
$OUT .= " <td align=\"center\"><select class=\"mini_select\" name=\"" . $prefix."_we\" size=\"1\">\n";
- for ($idx = 0; $idx <= 4; $idx++) {
+ for ($idx = '0'; $idx <= 4; $idx++) {
$OUT .= " <option class=\"mini_select\" value=\"" . $idx."\"";
if ($idx == $W) $OUT .= ' selected="selected"';
$OUT .= ">" . $idx."</option>\n";
if (ereg("D", $display) || (empty($display))) {
// Generate day selection
$OUT .= " <td align=\"center\"><select class=\"mini_select\" name=\"" . $prefix."_da\" size=\"1\">\n";
- for ($idx = 0; $idx <= 31; $idx++) {
+ for ($idx = '0'; $idx <= 31; $idx++) {
$OUT .= " <option class=\"mini_select\" value=\"" . $idx."\"";
if ($idx == $D) $OUT .= ' selected="selected"';
$OUT .= ">" . $idx."</option>\n";
if (ereg("h", $display) || (empty($display))) {
// Generate hour selection
$OUT .= " <td align=\"center\"><select class=\"mini_select\" name=\"" . $prefix."_ho\" size=\"1\">\n";
- for ($idx = 0; $idx <= 23; $idx++) {
+ for ($idx = '0'; $idx <= 23; $idx++) {
$OUT .= " <option class=\"mini_select\" value=\"" . $idx."\"";
if ($idx == $h) $OUT .= ' selected="selected"';
$OUT .= ">" . $idx."</option>\n";
if (ereg('m', $display) || (empty($display))) {
// Generate minute selection
$OUT .= " <td align=\"center\"><select class=\"mini_select\" name=\"" . $prefix."_mi\" size=\"1\">\n";
- for ($idx = 0; $idx <= 59; $idx++) {
+ for ($idx = '0'; $idx <= 59; $idx++) {
$OUT .= " <option class=\"mini_select\" value=\"" . $idx."\"";
if ($idx == $m) $OUT .= ' selected="selected"';
$OUT .= ">" . $idx."</option>\n";
if (ereg("s", $display) || (empty($display))) {
// Generate second selection
$OUT .= " <td align=\"center\"><select class=\"mini_select\" name=\"" . $prefix."_se\" size=\"1\">\n";
- for ($idx = 0; $idx <= 59; $idx++) {
+ for ($idx = '0'; $idx <= 59; $idx++) {
$OUT .= " <option class=\"mini_select\" value=\"" . $idx."\"";
if ($idx == $s) $OUT .= ' selected="selected"';
$OUT .= ">" . $idx."</option>\n";
//
function createTimestampFromSelections ($prefix, $postData) {
// Initial return value
- $ret = 0;
+ $ret = '0';
// Do we have a leap year?
- $SWITCH = 0;
+ $SWITCH = '0';
$TEST = date('Y', time()) / 4;
$M1 = date('m', time());
// If so and if current time is before 02/29 and estimated time is after 02/29 then add 86400 seconds (one day)
return array('', '', '');
} // END - if
- // Compile the script name
- $script = compileCode($script);
-
// Extract host name from script
$host = extractHostnameFromUrl($script);
// Sends a raw request to another host
function sendRawRequest ($host, $request) {
// Init errno and errdesc with 'all fine' values
- $errno = 0; $errdesc = '';
+ $errno = '0'; $errdesc = '';
// Initialize array
$response = array('', '', '');
//* DEBUG: */ die("SCRIPT=" . $script.'<br />');
if ($useProxy === true) {
// Connect to host through proxy connection
- $fp = @fsockopen(compileCode(getConfig('proxy_host')), bigintval(getConfig('proxy_port')), $errno, $errdesc, 30);
+ $fp = @fsockopen(compileRawCode(getConfig('proxy_host')), bigintval(getConfig('proxy_port')), $errno, $errdesc, 30);
} else {
// Connect to host directly
$fp = @fsockopen($host, 80, $errno, $errdesc, 30);
// Use login data to proxy? (username at least!)
if (getConfig('proxy_username') != '') {
// Add it as well
- $encodedAuth = base64_encode(compileCode(getConfig('proxy_username')) . getConfig('ENCRYPT_SEPERATOR') . compileCode(getConfig('proxy_password')));
+ $encodedAuth = base64_encode(compileRawCode(getConfig('proxy_username')) . getConfig('ENCRYPT_SEPERATOR') . compileRawCode(getConfig('proxy_password')));
$proxyTunnel .= "Proxy-Authorization: Basic " . $encodedAuth . getConfig('HTTP_EOL');
} // END - if
// Taken from www.php.net eregi() user comments
function isEmailValid ($email) {
- // Compile email
- $email = compileCode($email);
-
// Check first part of email address
$first = '[-a-z0-9!#$%&\'*+/=?^_<{|}~]+(\.[-a-zA-Z0-9!#$%&\'*+/=?^_<{|}~]+)*';
// Scramble string here
//* DEBUG: */ outputHtml("***Original=" . $str."***<br />");
- for ($idx = 0; $idx < strlen($str); $idx++) {
+ for ($idx = '0'; $idx < strlen($str); $idx++) {
// Get char on scrambled position
$char = substr($str, $scrambleNums[$idx], 1);
// Begin descrambling
$orig = str_repeat(' ', 40);
//* DEBUG: */ outputHtml("+++Scrambled=" . $str."+++<br />");
- for ($idx = 0; $idx < 40; $idx++) {
+ for ($idx = '0'; $idx < 40; $idx++) {
$char = substr($str, $idx, 1);
$orig = substr_replace($orig, $char, $scrambleNums[$idx], 1);
} // END - for
$scrambleNumbers = array();
// First we need to setup randomized numbers from 0 to 31
- for ($idx = 0; $idx < $len; $idx++) {
+ for ($idx = '0'; $idx < $len; $idx++) {
// Generate number
$rand = mt_rand(0, ($len -1));
if ((isExtensionInstalled('sql_patches')) && (isExtensionInstalledAndNewer('other', '0.2.5')) && (isConfigEntrySet('_PRIME')) && (isConfigEntrySet('secret_key')) && (isConfigEntrySet('master_salt'))) {
// Only calculate when the secret key is generated
$newHash = ''; $start = 9;
- for ($idx = 0; $idx < 10; $idx++) {
+ for ($idx = '0'; $idx < 10; $idx++) {
$part1 = hexdec(substr($passHash, $start, 4));
$part2 = hexdec(substr(getConfig('secret_key'), $start, 4));
$mod = dechex($idx);
$start = explode(' ', $GLOBALS['startTime']);
$end = explode(' ', $endTime);
$runTime = $end[0] - $start[0];
- if ($runTime < 0) $runTime = 0;
+ if ($runTime < 0) $runTime = '0';
// Prepare output
$content = array(
$ret = getSession('mxchange_theme');
// Is it valid?
- if (getThemeId($ret) == 0) {
+ if (getThemeId($ret) == '0') {
// Fix it to default
$ret = 'default';
} // END - if
} // END - if
// Default id
- $id = 0;
+ $id = '0';
// Is the cache entry there?
if (isset($GLOBALS['cache_array']['themes']['id'][$name])) {
$errorCode = getCode('UNKNOWN_STATUS');
// Generate constant name
- $constantName = sprintf("ID_%s", $status);
+ $codeName = sprintf("ID_%s", $status);
// Is the constant there?
- if (isCodeSet($constantName)) {
+ if (isCodeSet($codeName)) {
// Then get it!
- $errorCode = getCode($constantName);
+ $errorCode = getCode($codeName);
} else {
// Unknown status
logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown error status %s detected.", $status));
$akt_vers = array();
// Init value for counting the founded keywords
- $res = 0;
+ $res = '0';
// Searches all Files and there date of the last modifikation and puts the newest File in $last_changed.
searchDirsRecursive($next_dir, $last_changed); // @TODO small change to API to $last_changed = searchDirsRecursive($next_dir, $time);
case getCode('WRONG_ID') : $message = getMessage('LOGIN_WRONG_ID'); break;
case getCode('ID_LOCKED') : $message = getMessage('LOGIN_ID_LOCKED'); break;
case getCode('ID_UNCONFIRMED') : $message = getMessage('LOGIN_ID_UNCONFIRMED'); break;
+ case getCode('ID_GUEST') : $message = getMessage('LOGIN_ID_GUEST'); break;
case getCode('NO_COOKIES') : $message = getMessage('LOGIN_NO_COOKIES'); break;
case getCode('COOKIES_DISABLED') : $message = getMessage('LOGIN_NO_COOKIES'); break;
case getCode('BEG_SAME_AS_OWN') : $message = getMessage('BEG_SAME_UID_AS_OWN'); break;
return $message;
}
-// Generate a "link" for the given admin id (admin_id)
-function generateAdminLink ($adminId) {
- // No assigned admin is default
- $admin = "<span class=\"admin_note\">{--ADMIN_NO_ADMIN_ASSIGNED--}</span>";
-
- // Zero? = Not assigned
- if (bigintval($adminId) > 0) {
- // Load admin's login
- $login = getAdminLogin($adminId);
-
- // Is the login valid?
- if ($login != '***') {
- // Is the extension there?
- if (isExtensionActive('admins')) {
- // Admin found
- $admin = "<a href=\"".generateEmailLink(getAdminEmail($adminId), 'admins')."\">" . $login."</a>";
- } else {
- // Extension not found
- $admin = sprintf(getMessage('EXTENSION_PROBLEM_NOT_INSTALLED'), 'admins');
- }
- } else {
- // Maybe deleted?
- $admin = "<div class=\"admin_note\">".sprintf(getMessage('ADMIN_ID_404'), $adminId)."</div>";
- }
- } // END - if
-
- // Return result
- return $admin;
-}
-
// Compile characters which are allowed in URLs
function compileUriCode ($code, $simple = true) {
// Compile constants
// Function taken from user comments on www.php.net / function eregi()
function isUrlValidSimple ($url) {
// Prepare URL
- $url = secureString(str_replace("\\", '', compileCode(urldecode($url))));
+ $url = secureString(str_replace("\\", '', compileRawCode(urldecode($url))));
// Allows http and https
$http = "(http|https)+(:\/\/)";
// Read from source file
$line = fgets ($fp, 1024);
- if (strpos($line, $search) > -1) { $next = 0; $found = true; }
+ if (strpos($line, $search) > -1) { $next = '0'; $found = true; }
if ($next > -1) {
if ($next === $seek) {
return false;
}
// Send notification to admin
-function sendAdminNotification ($subject, $templateName, $content=array(), $userid = 0) {
+function sendAdminNotification ($subject, $templateName, $content=array(), $userid = '0') {
if (isExtensionInstalledAndNewer('admins', '0.4.1')) {
// Send new way
sendAdminsEmails($subject, $templateName, $content, $userid);
$GLOBALS['refid'] = getConfig('def_refid');
} else {
// No default id when sql_patches is not installed or none set
- $GLOBALS['refid'] = 0;
+ $GLOBALS['refid'] = '0';
}
// Set cookie when default refid > 0
- if (!isSessionVariableSet('refid') || (!empty($GLOBALS['refid'])) || ((getSession('refid') == 0) && (isConfigEntrySet('def_refid')) && (getConfig('def_refid') > 0))) {
+ if (!isSessionVariableSet('refid') || (!empty($GLOBALS['refid'])) || ((getSession('refid') == '0') && (isConfigEntrySet('def_refid')) && (getConfig('def_refid') > 0))) {
// Default is not found
$found = false;
exit;
}
-// Setter for userid
-function setUserId ($userid) {
- // We should not set userid to zero
- if ($userid == 0) debug_report_bug('Userid should not be set zero.');
+// Init member id
+function initMemberId () {
+ $GLOBALS['member_id'] = '0';
+}
+
+// Setter for member id
+function setMemberId ($memberid) {
+ // We should not set member id to zero
+ if ($memberid == '0') debug_report_bug('Userid should not be set zero.');
// Set it secured
- $GLOBALS['userid'] = bigintval($userid);
+ $GLOBALS['member_id'] = bigintval($memberid);
}
-// Getter for userid or returns zero
-function getUserId () {
- // Default userid
- $userid = 0;
+// Getter for member id or returns zero
+function getMemberId () {
+ // Default member id
+ $memberid = '0';
- // Is the userid set?
- if (isUserIdSet()) {
+ // Is the member id set?
+ if (isMemberIdSet()) {
// Then use it
- $userid = $GLOBALS['userid'];
+ $memberid = $GLOBALS['member_id'];
} // END - if
// Return it
- return $userid;
+ return $memberid;
}
-// Checks ether the userid is set
-function isUserIdSet () {
- return (isset($GLOBALS['userid']));
+// Checks ether the member id is set
+function isMemberIdSet () {
+ return (isset($GLOBALS['member_id']));
}
// Handle message codes from URL
return $pageTitle;
}
+// Checks wethere there is a cache file there. This function is cached.
+function isTemplateCached ($template) {
+ // Do we have cached this result?
+ if (!isset($GLOBALS['template_cache'][$template])) {
+ // Generate FQFN
+ $FQFN = sprintf("%s_compiled/templates/%s.tpl.cache", getConfig('CACHE_PATH'), $template);
+
+ // Is it there?
+ $GLOBALS['template_cache'][$template] = isFileReadable($FQFN);
+ } // END - if
+
+ // Return it
+ return $GLOBALS['template_cache'][$template];
+}
+
+// Flushes non-flushed template cache to disk
+function flushTemplateCache ($template, $eval) {
+ // Is this cache flushed?
+ if ((!isTemplateCached($template)) && ($eval != '404')) {
+ // Generate FQFN
+ $FQFN = sprintf("%s_compiled/templates/%s.tpl.cache", getConfig('CACHE_PATH'), $template);
+
+ // Replace username with a call
+ $eval = str_replace('$username', '".getUsername()."', $eval);
+
+ // And flush it
+ writeToFile($FQFN, $eval, true);
+ } // END - if
+}
+
+// Reads a template cache
+function readTemplateCache ($template) {
+ // Check it again
+ if (isTemplateCached($template)) {
+ // Generate FQFN
+ $FQFN = sprintf("%s_compiled/templates/%s.tpl.cache", getConfig('CACHE_PATH'), $template);
+
+ // And read from it
+ $GLOBALS['template_eval'][$template] = readFromFile($FQFN);
+ } // END - if
+
+ // And return it
+ return $GLOBALS['template_eval'][$template];
+}
+
//////////////////////////////////////////////////
// AUTOMATICALLY RE-GENERATED MISSING FUNCTIONS //
//////////////////////////////////////////////////