]> git.mxchange.org Git - mailer.git/blobdiff - inc/expression-functions.php
Caching of expensive PHP functions:
[mailer.git] / inc / expression-functions.php
index e112a20bf393504162f381418a00d1c4e837c668..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
@@ -220,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'])) && ((!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}";
@@ -236,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]
 ?>