X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fexpression-functions.php;h=a9aa0b5681c3034b9e341a0b355c5259e257b324;hb=3b7adf43576db24e516716bb13a2bd0bac677c8c;hp=e1098bf30180d37f6ba6543a3181e5ad7734e0e3;hpb=83b9addde2c2c88c714246712eb3b393909fcbd0;p=mailer.git diff --git a/inc/expression-functions.php b/inc/expression-functions.php index e1098bf301..a9aa0b5681 100644 --- a/inc/expression-functions.php +++ b/inc/expression-functions.php @@ -16,7 +16,7 @@ * $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 * @@ -124,7 +124,7 @@ function doExpressionUrl ($data) { // 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}'; @@ -186,9 +186,10 @@ function doExpressionPipe ($data) { // Do we have a call-back? Should always be there! if (!empty($data['callback'])) { - //if ($data['callback'] == 'getMemberId') die('
'.encodeEntities(print_r($data, true)).'
'); + //* DEBUG: */ if ($data['callback'] == 'getMemberId') die('
'.encodeEntities(print_r($data, true)).'
'); // 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}'; } else { @@ -263,14 +264,17 @@ function doExpressionMessage ($data) { // Expression call-back for template functions function doExpressionTemplate ($data) { + // Construct call-back function name + $callback = 'doTemplate' . $data['callback']; + // Init replacer - $replacer = ''; + $replacer = ''; // 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'])) { @@ -280,7 +284,10 @@ function doExpressionTemplate ($data) { // 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);