]> git.mxchange.org Git - mailer.git/blobdiff - inc/filter-functions.php
0.0.0 shall be our first version
[mailer.git] / inc / filter-functions.php
index 613760b858d69661d6eabe8d930d92c6b8de7942..4d766f980ee59f7b7ad4e581242cd1390c7fdbc2 100644 (file)
@@ -225,7 +225,7 @@ function registerFilter ($filterName, $filterFunction, $silentAbort = true, $for
 
 // "Unregisters" a filter from the given chain
 function unregisterFilter ($F, $L, $filterName, $filterFunction, $force = false, $dry_run = false) {
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ENTRY: F=' . $F . ',L=' . $L . ',filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',force=' . intval($force) . ',dry=' . intval($dry_run) . ' - ENTERED!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ENTRY: F=' . $F . ',L=' . $L . ',filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',force=' . intval($force) . ',dry_run=' . intval($dry_run) . ' - ENTERED!');
 
        // Extend the filter function name only if not loaded from database
        if (!isset($GLOBALS['cache_array']['filter']['loaded'][$filterName][$filterFunction])) {
@@ -246,12 +246,12 @@ function unregisterFilter ($F, $L, $filterName, $filterFunction, $force = false,
                $GLOBALS['cache_array']['filter']['chains'][$filterName][$filterFunction] = 'R';
        } // END - if
 
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ENTRY: F=' . $F . ',L=' . $L . ',filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',force=' . intval($force) . ',dry=' . intval($dry_run) . ' - EXIT!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ENTRY: F=' . $F . ',L=' . $L . ',filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',force=' . intval($force) . ',dry_run=' . intval($dry_run) . ' - EXIT!');
 }
 
-// "Runs" the given filters, data is optional and can be any type of data
-function runFilterChain ($filterName, $data = null) {
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'filterName=' . $filterName . ',data[]=' . gettype($data) . ' - ENTERED!');
+// "Runs" the given filters, filterData is optional and can be any type of data
+function runFilterChain ($filterName, $filterData = null) {
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'filterName=' . $filterName . ',filterData[]=' . gettype($filterData) . ' - ENTERED!');
 
        // Is that filter chain there?
        if (!isset($GLOBALS['cache_array']['filter']['chains'][$filterName])) {
@@ -262,11 +262,11 @@ function runFilterChain ($filterName, $data = null) {
                } // END - if
 
                // Abort here and return content
-               return $data;
+               return $filterData;
        } // END - if
 
        // Default return value
-       $returnValue = $data;
+       $returnValue = $filterData;
 
        // Then run all filters
        foreach ($GLOBALS['cache_array']['filter']['chains'][$filterName] as $filterFunction => $active) {
@@ -297,7 +297,7 @@ function runFilterChain ($filterName, $data = null) {
        } // END - foreach
 
        // Return the filtered content
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'filterName=' . $filterName . ',data[]=' . gettype($data) . ',returnValue[]=' . gettype($returnValue) . ' - EXIT!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'filterName=' . $filterName . ',filterData[]=' . gettype($filterData) . ',returnValue[]=' . gettype($returnValue) . ' - EXIT!');
        return $returnValue;
 }
 
@@ -343,5 +343,30 @@ function prepareFilterArray () {
        $GLOBALS['cache_array']['filter'] = $filterArray;
 }
 
+// Loads filter for given extension if present. This function will silently
+// ignore absent filter files.
+function loadExtensionFilters ($ext_name) {
+       // Do we have cache entry?
+       if (!isset($GLOBALS[__FUNCTION__][$ext_name])) {
+               // Default is not found
+               $GLOBALS[__FUNCTION__][$ext_name] = false;
+
+               // Construct include file name
+               $incFileName = sprintf("inc/filter/%s_filter.php", $ext_name);
+
+               // Is the include file readable?
+               if (isIncludeReadable($incFileName)) {
+                       // Load the include file
+                       loadIncludeOnce($incFileName);
+
+                       // Mark the file as loaded
+                       $GLOBALS[__FUNCTION__][$ext_name] = true;
+               } elseif (isDebugModeEnabled()) {
+                       // Log missing file
+                       logDebugMessage(__FUNCTION__, __LINE__, 'Include file ' . $incFileName . ' for extension ' . $ext_name . ' is missing.');
+               }
+       } // END - if
+}
+
 // [EOF]
 ?>