* $Author:: $ *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009, 2010 by Mailer Developer Team *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
// Expression call-back function for reading data from $_SERVER
function doExpressionServer ($data) {
// This will make 'foo_bar' to detectFooBar()
- $functionName = "'detect' . implode('', array_map('ucfirst', explode('_', '" . $data['callback'] . "')))";
+ $functionName = "'detect' . implode('', array_map('firstCharUpperCase', explode('_', '" . $data['callback'] . "')))";
// Generate replacer
$replacer = '{DQUOTE} . call_user_func(' . $functionName . ') . {DQUOTE}';
// Do we have a call-back? Should always be there!
if (!empty($data['callback'])) {
- //if ($data['callback'] == 'getMemberId') die('<pre>'.encodeEntities(print_r($data, true)).'</pre>');
+ //* DEBUG: */ if ($data['callback'] == 'getMemberId') die('<pre>'.encodeEntities(print_r($data, true)).'</pre>');
// If the value is empty, we don't add it
- if (empty($data['value'])) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'value[' . gettype($data['value']) . ']=' . $data['value']);
+ if ((empty($data['value'])) && ($data['value'] != '0')) {
// No value is set
$replacer = '{DQUOTE} . ' . $data['extra_func2'] . '(' . $data['extra_func'] . '(' . $data['callback'] . '())) . {DQUOTE}';
+ } elseif (isXmlTypeBool($data['value'])) {
+ // Boolean value detected
+ $replacer = '{DQUOTE} . ' . $data['extra_func2'] . '(' . $data['extra_func'] . '(' . $data['callback'] . '(' . $data['value'] . '))) . {DQUOTE}';
} else {
- // Some value is set
+ // Some string/integer value is set
$replacer = '{DQUOTE} . ' . $data['extra_func2'] . '(' . $data['extra_func'] . '(' . $data['callback'] . "('" . $data['value'] . "'))) . {DQUOTE}";
}
} // END - if
// Expression call-back for template functions
function doExpressionTemplate ($data) {
+ // Construct call-back function name
+ $callback = 'doTemplate' . $data['callback'];
+
// Init replacer
- $replacer = '<!-- ['.__FUNCTION__.':'.__LINE__.'] Call-back function doTemplate' . $data['callback'] . ' does not exist. //-->';
+ $replacer = '<!-- [' . __FUNCTION__ . ':' . __LINE__.'] Call-back function ' . $callback . ' does not exist. //-->';
// Is the function there?
- if (function_exists($data['callback'])) {
+ if (function_exists($callback)) {
// Do the replacement
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'template='.$GLOBALS['current_template']);
- $replacer = '{DQUOTE} . doTemplate' . $data['callback'] . "('" . $GLOBALS['current_template'] . "', true";
+ $replacer = '{DQUOTE} . ' . $callback . "('" . $GLOBALS['current_template'] . "', true";
// Is 'value' set?
if (!empty($data['value'])) {
// Replacer is ready
$replacer .= ') . {DQUOTE}';
- } // END - if
+ } else {
+ // Log missing function
+ logDebugMessage(__FUNCTION__, __LINE__, 'Call-back function ' . $callback . ' does not exist.');
+ }
// Replace the code
$code = replaceExpressionCode($data, $replacer);