+// Tries to determine if call-back functions and/or extra values shall be parsed
+function doHandleExtraValues ($filterFunctions, $extraValues, $key, $entries, $userIdColumn, $search, $id = NULL) {
+ // Debug mode enabled?
+ if (isDebugModeEnabled()) {
+ // Debug message
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',entries=' . $entries . ',userIdColumn=' . $userIdColumn[0] . ',search=' . $search . ',filterFunctions=' . print_r($filterFunctions, TRUE) . ',extraValues=' . print_r($extraValues, TRUE));
+ } // END - if
+
+ // Send data through the filter function if found
+ if ($key === $userIdColumn[0]) {
+ // Is the userid, we have to process it with convertZeroToNull()
+ $entries = convertZeroToNull($entries);
+ } elseif ((!empty($filterFunctions[$key])) && (isset($extraValues[$key]))) {
+ // Debug mode enabled?
+ if (isDebugModeEnabled()) {
+ // Then log it
+ /* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'search=' . $search . ',filterFunctions=' . $filterFunctions[$key] . ',extraValues=' . $extraValues[$key] . ',key=' . $key . ',id=' . $id . ',entries[' . gettype($entries) . ']=' . $entries . ' - BEFORE!');
+ } // END - if
+
+ // Filter function + extra value set
+ $entries = handleExtraValues($filterFunctions[$key], $entries, $extraValues[$key]);
+
+ // Debug mode enabled?
+ if (isDebugModeEnabled()) {
+ // Then log it
+ /* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'search=' . $search . ',filterFunctions=' . $filterFunctions[$key] . ',extraValues=' . $extraValues[$key] . ',key=' . $key . ',id=' . $id . ',entries[' . gettype($entries) . ']=' . $entries . ' - AFTER!');
+ } // END - if
+ } elseif ((!empty($filterFunctions[$search])) && (!empty($extraValues[$search]))) {
+ // Debug mode enabled?
+ if (isDebugModeEnabled()) {
+ // Then log it
+ /* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'search=' . $search . ',filterFunctions=' . $filterFunctions[$search] . ',key=' . $key . ',search=' . $search . ',entries[' . gettype($entries) . ']=' . $entries . ' - BEFORE!');
+ } // END - if
+
+ // Handle extra values
+ $entries = handleExtraValues($filterFunctions[$search], $entries, $extraValues[$search]);
+
+ // Debug mode enabled?
+ if (isDebugModeEnabled()) {
+ // Then log it
+ /* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'search=' . $search . ',filterFunctions=' . $filterFunctions[$search] . ',key=' . $key . ',search=' . $search . ',entries[' . gettype($entries) . ']=' . $entries . ' - AFTER!');
+ } // END - if
+
+ // Make sure entries is not bool, then something went wrong
+ assert(!is_bool($entries));
+ } elseif (!empty($filterFunctions[$search])) {
+ // Debug mode enabled?
+ if (isDebugModeEnabled()) {
+ // Then log it
+ /* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'search=' . $search . ',filterFunctions=' . $filterFunctions[$search] . ',key=' . $key . ',search=' . $search . ',entries[' . gettype($entries) . ']=' . $entries . ' - BEFORE!');
+ } // END - if
+
+ // Handle extra values
+ $entries = handleExtraValues($filterFunctions[$search], $entries, NULL);
+
+ // Debug mode enabled?
+ if (isDebugModeEnabled()) {
+ // Then log it
+ /* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'search=' . $search . ',filterFunctions=' . $filterFunctions[$search] . ',key=' . $key . ',search=' . $search . ',entries[' . gettype($entries) . ']=' . $entries . ' - AFTER!');
+ } // END - if
+
+ // Make sure entries is not bool, then something went wrong
+ assert(!is_bool($entries));
+ }
+
+ // Return value
+ return $entries;
+}
+