X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Ffunctions.php;h=36e2dca25ca518a4fcf45afa9576a04c34c60dad;hb=8def2eea23fae29ba4d86b4bf7df9307e62f61b7;hp=d5f455592107ffc037656fec0abf166309df75fd;hpb=e154c2f5f56c745e4e8701c54804aba935784115;p=mailer.git
diff --git a/inc/functions.php b/inc/functions.php
index d5f4555921..36e2dca25c 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -43,6 +43,9 @@ if (!defined('__SECURITY')) {
// 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();
@@ -100,49 +103,16 @@ function outputHtml ($htmlCode, $newLine = true) {
clearOutputBuffer();
} // END - if
- // Send HTTP header
- sendHeader('HTTP/1.1 200');
-
- // Used later
- $now = gmdate('D, d M Y H:i:s') . ' GMT';
-
- // General headers for no caching
- sendHeader('Expired: ' . $now); // RFC2616 - Section 14.21
- sendHeader('Last-Modified: ' . $now);
- sendHeader('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
- sendHeader('Pragma: no-cache'); // HTTP/1.0
- sendHeader('Connection: Close');
- sendHeader('Content-Type: ' . getContentType() . '; charset=UTF-8');
- sendHeader('Content-language: ' . getLanguage());
-
// Extension 'rewrite' installed?
if ((isExtensionActive('rewrite')) && (getOutputMode() != 1)) {
$GLOBALS['output'] = rewriteLinksInCode($GLOBALS['output']);
} // END - if
- // Init counter
- $cnt = 0;
-
// Compile and run finished rendered HTML code
- while (((strpos($GLOBALS['output'], '{--') > 0) || (strpos($GLOBALS['output'], '{!') > 0) || (strpos($GLOBALS['output'], '{?') > 0)) && ($cnt < 3)) {
- // Prepare the content and eval() it...
- $content = array();
- $newContent = '';
-
- // Compile it
- $eval = "\$newContent = \"".compileCode(smartAddSlashes($GLOBALS['output']))."\";";
- eval($eval);
-
- // Was that eval okay?
- if (empty($newContent)) {
- // Something went wrong!
- debug_report_bug('Evaluation error:
' . linenumberCode($eval) . '
');
- } // END - if
- $GLOBALS['output'] = $newContent;
+ compileFinalOutput();
- // Count round
- $cnt++;
- } // END - while
+ // Send all HTTP headers
+ sendHttpHeaders();
// Output code here, DO NOT REMOVE! ;-)
outputRawCode($GLOBALS['output']);
@@ -153,19 +123,68 @@ function outputHtml ($htmlCode, $newLine = true) {
} // END - if
// Compile and run finished rendered HTML code
- while (strpos($GLOBALS['output'], '{!') > 0) {
- eval("\$GLOBALS['output'] = \"".compileCode(smartAddSlashes($GLOBALS['output']))."\";");
- } // END - while
+ compileFinalOutput();
+
+ // Send all HTTP headers
+ sendHttpHeaders();
// Output code here, DO NOT REMOVE! ;-)
outputRawCode($GLOBALS['output']);
}
}
+// Sends out all headers required for HTTP/1.1 reply
+function sendHttpHeaders () {
+ // Used later
+ $now = gmdate('D, d M Y H:i:s') . ' GMT';
+
+ // Send HTTP header
+ sendHeader('HTTP/1.1 200');
+
+ // General headers for no caching
+ sendHeader('Expired: ' . $now); // RFC2616 - Section 14.21
+ sendHeader('Last-Modified: ' . $now);
+ sendHeader('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
+ sendHeader('Pragma: no-cache'); // HTTP/1.0
+ sendHeader('Connection: Close');
+ sendHeader('Content-Type: ' . getContentType() . '; charset=UTF-8');
+ sendHeader('Content-Language: ' . getLanguage());
+}
+
+// Compiles the final output
+function compileFinalOutput () {
+ // Init counter
+ $cnt = '0';
+
+ // Compile all out
+ while (((strpos($GLOBALS['output'], '{--') > 0) || (strpos($GLOBALS['output'], '{!') > 0) || (strpos($GLOBALS['output'], '{?') > 0)) && ($cnt < 3)) {
+ // Init common variables
+ $content = array();
+ $newContent = '';
+
+ // Compile it
+ $eval = "\$newContent = \"".compileCode(addslashes($GLOBALS['output']))."\";";
+ eval($eval);
+
+ // Was that eval okay?
+ if (empty($newContent)) {
+ // Something went wrong!
+ debug_report_bug('Evaluation error:' . linenumberCode($eval) . '
');
+ } // END - if
+ $GLOBALS['output'] = $newContent;
+
+ // Count round
+ $cnt++;
+ } // END - while
+
+ // Add final length
+ sendHeader('Content-Length: ' . strlen($GLOBALS['output']));
+}
+
// Output the raw HTML code
function outputRawCode ($htmlCode) {
// Output stripped HTML code to avoid broken JavaScript code, etc.
- print(stripslashes(stripslashes($htmlCode)));
+ print($htmlCode);
// Flush the output if only getPhpCaching() is not 'on'
if (getPhpCaching() != 'on') {
@@ -205,7 +224,7 @@ function addFatalMessage ($F, $L, $message, $extra='') {
// 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])) {
@@ -226,7 +245,10 @@ function loadTemplate ($template, $return=false, $content=array()) {
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();
@@ -238,41 +260,7 @@ function loadTemplate ($template, $return=false, $content=array()) {
// 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;
-
- // @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",
- array(getUserId()), __FUNCTION__, __LINE__);
-
- // Is content an array?
- if (is_array($content)) {
- // Merge data
- $content = merge_array($content, SQL_FETCHARRAY($result));
-
- // Translate gender
- $content['gender'] = translateGender($content['gender']);
- } else {
- // @DEPRECATED
- // @TODO Find all templates which are using these direct variables and rewrite them.
- // @TODO After this step is done, this else-block is history
- list($gender, $surname, $family, $email) = SQL_FETCHROW($result);
-
- // Translate gender
- $gender = translateGender($gender);
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("DEPRECATION-WARNING: content is not array [%s], template=%s.", gettype($content), $template));
- }
-
- // Free result
- SQL_FREERESULT($result);
- } // END - if
+ if (empty($GLOBALS['refid'])) $GLOBALS['refid'] = '0';
// Base directory
$basePath = sprintf("%stemplates/%s/html/", getConfig('PATH'), getLanguage());
@@ -353,20 +341,23 @@ function loadTemplate ($template, $return=false, $content=array()) {
$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 ($GLOBALS['output_mode'] == 0) {
+ if (getOutputMode() == '0') {
// Add surrounding HTML comments to help finding bugs faster
$ret = "\n" . $GLOBALS['tpl_content'] . "\n";
// Prepare eval() command
- $eval = '$ret = "' . compileCode(smartAddSlashes($GLOBALS['tpl_content'])) . '";';
+ $eval = '$ret = "' . compileCode(addslashes($ret)) . '";';
+ } elseif (substr($template, 0, 3) == 'js_') {
+ // JavaScripts don't like entities and timings
+ $eval = '$ret = decodeEntities("' . compileRawCode(addslashes($GLOBALS['tpl_content'])) . '");';
} else {
// Prepare eval() command
- $eval = '$ret = "' . compileCode(smartAddSlashes($GLOBALS['tpl_content'])) . '";';
+ $eval = '$ret = "' . compileCode(addslashes($GLOBALS['tpl_content'])) . '";';
}
} else {
// Add surrounding HTML comments to help finding bugs faster
$ret = "\n" . $GLOBALS['tpl_content'] . "\n";
- $eval = '$ret = "' . smartAddSlashes($ret) . '";';
+ $eval = '$ret = "' . addslashes($ret) . '";';
} // END - if
// Cache the eval() command here
@@ -374,20 +365,20 @@ function loadTemplate ($template, $return=false, $content=array()) {
// 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 = '
{--TEMPLATE_404--}
+ } elseif ((isAdmin()) || ((isInstalling()) && (!isInstalled()))) {
+ // Only admins shall see this warning or when installation mode is active
+ $ret = '
{--TEMPLATE_404--}
(' . $template . ')
{--TEMPLATE_CONTENT--}
' . print_r($content, true) . '
{--TEMPLATE_DATA--}
' . print_r($DATA, true) . '
-
\";';
+
';
+ } else {
+ // No file!
+ $GLOBALS['template_eval'][$template] = '404';
+ }
} else {
// Eval the code
eval($GLOBALS['template_eval'][$template]);
@@ -400,7 +391,7 @@ function loadTemplate ($template, $return=false, $content=array()) {
// Return the HTML code
return $ret;
} else {
- // Output direct
+ // Output directly
outputHtml($ret);
}
} elseif (isDebugModeEnabled()) {
@@ -410,12 +401,9 @@ function loadTemplate ($template, $return=false, $content=array()) {
}
// 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);
@@ -443,7 +431,7 @@ function loadEmailTemplate ($template, $content = array(), $UID = 0) {
// 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 {
@@ -458,28 +446,25 @@ function loadEmailTemplate ($template, $content = array(), $UID = 0) {
} // END - if
// Load user's data
- //* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):UID={$UID},template={$template},content[]=".gettype($content)."
");
+ //* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):UID={$UID},template={$template},content[]=".gettype($content).'
');
if (($UID > 0) && (is_array($content))) {
// If nickname extension is installed, fetch nickname as well
- if (isExtensionActive('nickname')) {
+ if (isNicknameUsed($UID)) {
//* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):NICKNAME!
");
- // Load nickname
- $result = SQL_QUERY_ESC("SELECT `surname`, `family`, `gender`, `email`, `nickname` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1",
- array(bigintval($UID)), __FUNCTION__, __LINE__);
+ // Load by nickname
+ fetchUserData($UID, 'nickname');
} else {
//* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):NO-NICK!
");
- /// 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)), __FUNCTION__, __LINE__);
+ /// Load by userid
+ fetchUserData($UID);
}
- // Fetch and merge data
+ // Merge data if valid
//* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):content()=".count($content)." - PRE
");
- $content = merge_array($content, SQL_FETCHARRAY($result));
+ if (isUserDataValid()) {
+ $content = merge_array($content, getUserDataArray());
+ } // END - if
//* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):content()=".count($content)." - AFTER
");
-
- // Free result
- SQL_FREERESULT($result);
} // END - if
// Translate M to male or F to female if present
@@ -527,10 +512,9 @@ function loadEmailTemplate ($template, $content = array(), $UID = 0) {
if (isFileReadable($FQFN)) {
// The local file does exists so we load it. :)
$GLOBALS['tpl_content'] = readFromFile($FQFN);
- $GLOBALS['tpl_content'] = SQL_ESCAPE($GLOBALS['tpl_content']);
// Run code
- $GLOBALS['tpl_content'] = "\$newContent = decodeEntities(\"".compileCode($GLOBALS['tpl_content'])."\");";
+ $GLOBALS['tpl_content'] = "\$newContent = decodeEntities(\"".compileRawCode(addslashes($GLOBALS['tpl_content']))."\");";
eval($GLOBALS['tpl_content']);
} elseif (!empty($template)) {
// Template file not found!
@@ -561,7 +545,7 @@ function loadEmailTemplate ($template, $content = array(), $UID = 0) {
unset($DATA);
// Compile the code and eval it
- $eval = '$newContent = "' . compileCode(smartAddSlashes($newContent)) . '";';
+ $eval = '$newContent = "' . compileRawCode(addslashes($newContent)) . '";';
eval($eval);
// Return content
@@ -573,7 +557,7 @@ function sendEmail ($toEmail, $subject, $message, $isHtml = 'N', $mailHeader = '
//* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):TO={$toEmail},SUBJECT={$subject}
");
// Compile subject line (for POINTS constant etc.)
- eval("\$subject = decodeEntities(\"".compileCode(smartAddSlashes($subject))."\");");
+ eval("\$subject = decodeEntities(\"".compileRawCode(addslashes($subject))."\");");
// Set from header
if ((!eregi('@', $toEmail)) && ($toEmail > 0)) {
@@ -583,24 +567,16 @@ function sendEmail ($toEmail, $subject, $message, $isHtml = 'N', $mailHeader = '
ADD_MESSAGE_TO_BOX($toEmail, $subject, $message, $isHtml);
return;
} else {
- // Load email address
- $result_email = SQL_QUERY_ESC("SELECT `email` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1",
- array(bigintval($toEmail)), __FUNCTION__, __LINE__);
- //* DEBUG: */ outputHtml(__FUNCTION__."(".__LINE__."):numRows=".SQL_NUMROWS($result_email)."
");
-
// Does the user exist?
- if (SQL_NUMROWS($result_email)) {
- // Load email address
- list($toEmail) = SQL_FETCHROW($result_email);
+ if (fetchUserData($toEmail)) {
+ // Get the email
+ $toEmail = getUserData('email');
} else {
// Set webmaster
$toEmail = getConfig('WEBMASTER');
}
-
- // Free result
- SQL_FREERESULT($result_email);
}
- } elseif ($toEmail == 0) {
+ } elseif ($toEmail == '0') {
// Is the webmaster!
$toEmail = getConfig('WEBMASTER');
}
@@ -627,17 +603,17 @@ function sendEmail ($toEmail, $subject, $message, $isHtml = 'N', $mailHeader = '
}
// Compile "TO"
- eval("\$toEmail = \"".compileCode(smartAddSlashes($toEmail))."\";");
+ eval("\$toEmail = \"".compileRawCode(addslashes($toEmail))."\";");
// Compile "MSG"
- eval("\$message = \"".compileCode(smartAddSlashes($message))."\";");
+ eval("\$message = \"".compileRawCode(addslashes($message))."\";");
// Fix HTML parameter (default is no!)
if (empty($isHtml)) $isHtml = 'N';
if (isDebugModeEnabled()) {
// In debug mode we want to display the mail instead of sending it away so we can debug this part
outputHtml('
-Headers : ' . htmlentities(trim($mailHeader)) . '
+Headers : ' . str_replace('<', '<', str_replace('>', '>', htmlentities(trim($mailHeader)))) . '
To : ' . $toEmail . '
Subject : ' . $subject . '
Message : ' . $message . '
@@ -671,6 +647,11 @@ function sendRawEmail ($toEmail, $subject, $message, $from) {
// get new instance
$mail = new PHPMailer();
+
+ // Set charset to UTF-8
+ $mail->CharSet('UTF-8');
+
+ // Path for PHPMailer
$mail->PluginDir = sprintf("%sinc/phpmailer/", getConfig('PATH'));
$mail->IsSMTP();
@@ -706,16 +687,16 @@ function sendRawEmail ($toEmail, $subject, $message, $from) {
}
// 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
@@ -731,12 +712,12 @@ function generatePassword ($length = 0) {
}
// 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
@@ -744,10 +725,10 @@ function generateDateTime ($time, $mode = 0) {
switch (getLanguage()) {
case 'de': // German date / time format
switch ($mode) {
- case 0: $ret = date("d.m.Y \u\m H:i \U\h\\r", $time); break;
- case 1: $ret = strtolower(date('d.m.Y - H:i', $time)); break;
- case 2: $ret = date('d.m.Y|H:i', $time); break;
- case 3: $ret = date('d.m.Y', $time); break;
+ case '0': $ret = date("d.m.Y \u\m H:i \U\h\\r", $time); break;
+ case '1': $ret = strtolower(date('d.m.Y - H:i', $time)); break;
+ case '2': $ret = date('d.m.Y|H:i', $time); break;
+ case '3': $ret = date('d.m.Y', $time); break;
default:
logDebugMessage(__FUNCTION__, __LINE__, sprintf("Invalid date mode %s detected.", $mode));
break;
@@ -756,10 +737,10 @@ function generateDateTime ($time, $mode = 0) {
default: // Default is the US date / time format!
switch ($mode) {
- case 0: $ret = date('r', $time); break;
- case 1: $ret = date('Y-m-d - g:i A', $time); break;
- case 2: $ret = date('y-m-d|H:i', $time); break;
- case 3: $ret = date('y-m-d', $time); break;
+ case '0': $ret = date('r', $time); break;
+ case '1': $ret = date('Y-m-d - g:i A', $time); break;
+ case '2': $ret = date('y-m-d|H:i', $time); break;
+ case '3': $ret = date('y-m-d', $time); break;
default:
logDebugMessage(__FUNCTION__, __LINE__, sprintf("Invalid date mode %s detected.", $mode));
break;
@@ -806,7 +787,7 @@ function translatePoolType ($type) {
}
// 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);
@@ -817,12 +798,12 @@ function translateComma ($dotted, $cut = true, $max = 0) {
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
@@ -921,7 +902,7 @@ function countSelection ($array) {
} // END - if
// Init count
- $ret = 0;
+ $ret = '0';
// Count all entries
foreach ($array as $key => $selected) {
@@ -958,8 +939,8 @@ function makeTime ($hours, $minutes, $seconds, $stamp) {
// Redirects to an URL and if neccessarry extends it with own base URL
function redirectToUrl ($URL) {
- // Compile out URI codes
- $URL = compileUriCode($URL);
+ // Compile out codes
+ eval('$URL = "' . compileRawCode($URL) . '";');
// Check if http(s):// is there
if ((substr($URL, 0, 7) != 'http://') && (substr($URL, 0, 8) != 'https://')) {
@@ -969,7 +950,7 @@ function redirectToUrl ($URL) {
// Three different debug ways...
//* DEBUG: */ debug_report_bug(sprintf("%s[%s:] URL=%s", __FUNCTION__, __LINE__, $URL));
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $URL);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'URL=' . $URL);
//* DEBUG: */ die($URL);
// Default 'rel' value is external, nofollow is evil from Google and hurts the Internet
@@ -997,8 +978,11 @@ function redirectToUrl ($URL) {
// Output new location link as anchor
outputHtml('' . $URL . '');
} elseif (!headers_sent()) {
- // Load URL when headers are not sent
//* DEBUG: */ debug_report_bug("URL={$URL}");
+ // Clear own output buffer
+ $GLOBALS['output'] = '';
+
+ // Load URL when headers are not sent
sendHeader('Location: '.str_replace('&', '&', $URL));
} else {
// Output error message
@@ -1034,6 +1018,30 @@ function compileCode ($code, $simple = false, $constants = true, $full = true) {
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 .= '';
+
+ // 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'];
@@ -1109,7 +1117,7 @@ function compileCode ($code, $simple = false, $constants = true, $full = true) {
} // END - foreach
} // END - if
- // Return compiled code
+ // Return it
return $code;
}
@@ -1129,7 +1137,7 @@ function compileCode ($code, $simple = false, $constants = true, $full = true) {
* 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) {
@@ -1165,19 +1173,19 @@ function array_pk_sort (&$array, $a_sort, $primary_key = 0, $order = -1, $nums =
}
//
-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 .= "