+// Expression call-back function for fetching user data
+function doExpressionUser ($data) {
+ // Use current userid by default
+ $functionName = 'getMemberId()';
+
+ // User-related data, so is there a userid?
+ if (!empty($data['matches'][4][$data['key']])) {
+ // Do we have a userid or $userid?
+ if ($data['matches'][4][$data['key']] == '$userid') {
+ // Use dynamic call
+ $functionName = "getFetchedUserData('userid', \$userid, '" . $data['callback'] . "')";
+ } elseif (!empty($data['matches'][4][$data['key']])) {
+ // User data found
+ $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
+ $functionName = "getUserData('" . $data['callback'] . "')";
+ }
+
+ // Do we have another function to run (e.g. translations)
+ if (!empty($data['extra_func'])) {
+ // Surround the original function call with it
+ $functionName = $data['extra_func'] . '(' . $functionName . ')';
+ } // END - if
+
+ // Generate replacer
+ $replacer = '{DQUOTE} . ' . $functionName . ' . {DQUOTE}';
+
+ // Now replace the code
+ $code = replaceExpressionCode($data, $replacer);
+
+ // Return replaced code
+ return $code;
+}
+