X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fexpression-functions.php;h=1eee08b4c3f4c45598f498397ffde7c6cd00b4a6;hp=dd533a27a7cbcbc53ec6874c9eb99b024ae8c3d9;hb=e3934352dffa6eb9da59a137ae1a9414e5b4d80b;hpb=21f7b63f7fa3e92ef44510a080ec05709fd41417 diff --git a/inc/expression-functions.php b/inc/expression-functions.php index dd533a27a7..1eee08b4c3 100644 --- a/inc/expression-functions.php +++ b/inc/expression-functions.php @@ -16,8 +16,8 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -50,8 +50,8 @@ function replaceExpressionCode ($data, $replacer) { // Private function to determine wether we have a special expression function avaible // (mostly located in wrapper-functions.php) function isExpressionFunctionAvaiable ($data) { - // Get the enty we need - $entry = $data['matches'][4][$data['key']]; + // Get the enty we need and trim it + $entry = trim($data['matches'][4][$data['key']]); // Do we have cache? if (!isset($GLOBALS['expression_function_available'][$entry])) { @@ -70,7 +70,7 @@ function isExpressionFunctionAvaiable ($data) { // Is that function there? if (function_exists($functionName)) { // Cache it all - $GLOBALS['expression_function_name'][$entry] = $functionName; + $GLOBALS['expression_function_name'][$entry] = $functionName; $GLOBALS['expression_function_available'][$entry] = true; } else { // Not avaiable @@ -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,14 +186,17 @@ 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 //* 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 @@ -268,7 +271,7 @@ function doExpressionTemplate ($data) { $callback = 'doTemplate' . $data['callback']; // Init replacer - $replacer = ''; + $replacer = ''; // Is the function there? if (function_exists($callback)) { @@ -284,7 +287,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); @@ -312,7 +318,7 @@ function doExpressionMath ($data) { // Expression call-back for GET request function doExpressionGet ($data) { // Construct the replacer - $replacer = '{%pipe,getRequestParameter=' . $data['value'] . '%}'; + $replacer = '{%pipe,getRequestElement=' . $data['value'] . '%}'; // Replace the code $code = replaceExpressionCode($data, $replacer); @@ -324,7 +330,7 @@ function doExpressionGet ($data) { // Expression call-back for POST request function doExpressionPost ($data) { // Construct the replacer - $replacer = '{%pipe,postRequestParameter=' . $data['value'] . '%}'; + $replacer = '{%pipe,postRequestElement=' . $data['value'] . '%}'; // Replace the code $code = replaceExpressionCode($data, $replacer);