]> git.mxchange.org Git - mailer.git/blobdiff - inc/expression-functions.php
Fixes and further rewrites to make use of EL
[mailer.git] / inc / expression-functions.php
index dffef73d05b47791423549eb9052e1ef2a1e721c..458dd1792c3a244f790bc723f3aca25b71d662a4 100644 (file)
@@ -99,9 +99,9 @@ function doExpressionUser ($data) {
                if ($data['matches'][4][$data['key']] == '$userid') {
                        // Use dynamic call
                        $functionName = "getFetchedUserData('userid', \$userid, '" . $data['callback'] . "')";
-               } elseif ($data['matches'][4][$data['key']] > 0) {
+               } elseif (!empty($data['matches'][4][$data['key']])) {
                        // User data found
-                       $functionName = "getFetchedUserData('userid', " . $data['matches'][4][$data['key']] . ", " . $data['callback'] . "')";
+                       $functionName = "getFetchedUserData('userid', " . $data['matches'][4][$data['key']] . ", '" . $data['callback'] . "')";
                }
        } elseif ((!empty($data['callback'])) && (isUserDataValid())) {
                // "Call-back" alias column for current logged in user's data
@@ -152,13 +152,7 @@ function doExpressionExt ($data) {
 // @TODO FILTER_COMPILE_CONFIG does not handle call-back functions so we handle it here again
 function doExpressionConfig ($data) {
        // Default replacer is the config value itself
-       $replacer = '{DQUOTE} . getConfig(' . "'" . $data['matches'][4][$data['key']] . "'" . ') . {DQUOTE}';
-
-       // Is there a call-back function provided?
-       if (!empty($data['callback'])) {
-               // Construct a new expression
-               $replacer = '{%pipe,' . $data['callback'] . ',' . $configValue . '%}';
-       } // END - if
+       $replacer = '{DQUOTE}  . ' . $data['callback'] . '(getConfig(' . "'" . $data['matches'][4][$data['key']] . "'" . ')) . {DQUOTE}';
 
        // Replace the config entry
        $code = replaceExpressionCode($data, $replacer);
@@ -226,10 +220,16 @@ function doExpressionValidatorLinks ($data) {
 
 // Expression call-back for dynamic messages
 function doExpressionMessage ($data) {
+       // Debug message
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'callback=' . $data['callback'] . ',extra_func=' . $data['extra_func'] . ',value=' . $data['value']);
+
        // Message string replacement depends on if message is masked
-       if (isMessageMasked($data['callback'])) {
+       if ((isMessageMasked($data['callback'])) && ((!empty($data['extra_func'])) || ($data['extra_func'] == '0'))) {
                // Message should be masked
                $replacer = "{DQUOTE} . getMaskedMessage('" . $data['callback'] . "', '" . $data['extra_func'] . "') . {DQUOTE}";
+       } elseif (!empty($data['value'])) {
+               // value is set, so it is masked message
+               $replacer = "{DQUOTE} . getMaskedMessage('" . $data['callback'] . "', '" . $data['value'] . "') . {DQUOTE}";
        } else {
                // Regular message
                $replacer = "{DQUOTE} . getMessage('" . $data['callback'] . "') . {DQUOTE}";
@@ -242,5 +242,18 @@ function doExpressionMessage ($data) {
        return $code;
 }
 
+// Expression call-back for template functions
+function doExpressionTemplate ($data) {
+       // Do the replacement
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'template='.$GLOBALS['current_template']);
+       $replacer = '{DQUOTE} . doTemplate' . $data['callback'] . "('" . $GLOBALS['current_template'] . "', true) . {DQUOTE}";
+
+       // Replace the code
+       $code = replaceExpressionCode($data, $replacer);
+
+       // Return the (maybe) replaced code
+       return $code;
+}
+
 // [EOF]
 ?>