Piwik\API\DataTableGenericFilter::getGenericFiltersInformation PHP Method

getGenericFiltersInformation() public static method

Order to apply the filters: 1 - Filter that remove filtered rows 2 - Filter that sort the remaining rows 3 - Filter that keep only a subset of the results 4 - Presentation filters
public static getGenericFiltersInformation ( ) : array
return array See the code for spec
    public static function getGenericFiltersInformation()
    {
        return array(array('Pattern', array('filter_column' => array('string', 'label'), 'filter_pattern' => array('string'))), array('PatternRecursive', array('filter_column_recursive' => array('string', 'label'), 'filter_pattern_recursive' => array('string'))), array('ExcludeLowPopulation', array('filter_excludelowpop' => array('string'), 'filter_excludelowpop_value' => array('float', '0'))), array('Sort', array('filter_sort_column' => array('string'), 'filter_sort_order' => array('string', 'desc'), $naturalSort = true, $recursiveSort = true, $doSortBySecondaryColumn = true)), array('Truncate', array('filter_truncate' => array('integer'))), array('Limit', array('filter_offset' => array('integer', '0'), 'filter_limit' => array('integer'), 'keep_summary_row' => array('integer', '0'))));
    }

Usage Example

Example #1
0
 /**
  * Returns the current URL without generic filter query parameters.
  *
  * @param array $params Query parameter values to override in the new URL.
  * @return string
  */
 public static function getCurrentUrlWithoutGenericFilters($params)
 {
     // unset all filter query params so the related report will show up in its default state,
     // unless the filter param was in $queryParams
     $genericFiltersInfo = DataTableGenericFilter::getGenericFiltersInformation();
     foreach ($genericFiltersInfo as $filter) {
         foreach ($filter[1] as $queryParamName => $queryParamInfo) {
             if (!isset($params[$queryParamName])) {
                 $params[$queryParamName] = null;
             }
         }
     }
     return Url::getCurrentQueryStringWithParametersModified($params);
 }