MediaWiki  master
ChangesListBooleanFilter Class Reference

Represents a hide-based boolean filter (used on ChangesListSpecialPage and descendants) More...

Inheritance diagram for ChangesListBooleanFilter:
Collaboration diagram for ChangesListBooleanFilter:

Public Member Functions

 __construct ( $filterDefinition)
 Create a new filter with the specified configuration. More...
 
 displaysOnUnstructuredUi ()
 
 getDefault ( $structuredUI=false)
 Get the default value. More...
 
 getJsData ()
 
 getShowHide ()
 
 isActive (FormOptions $opts, $isStructuredUI)
 
 isFeatureAvailableOnStructuredUi ()
 
 isSelected (FormOptions $opts)
 
 modifyQuery (IDatabase $dbr, ChangesListSpecialPage $specialPage, &$tables, &$fields, &$conds, &$query_options, &$join_conds)
 Modifies the query to include the filter. More...
 
 setDefault ( $defaultValue)
 Sets default. More...
 
- Public Member Functions inherited from ChangesListFilter
 __construct (array $filterDefinition)
 Creates a new filter with the specified configuration, and registers it to the specified group. More...
 
 activelyInConflictWithFilter (ChangesListFilter $filter, FormOptions $opts)
 Check if the conflict with a filter is currently "active". More...
 
 activelyInConflictWithGroup (ChangesListFilterGroup $group, FormOptions $opts)
 Check if the conflict with a group is currently "active". More...
 
 applyCssClassIfNeeded (IContextSource $ctx, RecentChange $rc, array &$classes)
 Add CSS class if needed. More...
 
 conflictsWith ( $other, $globalKey, $forwardKey, $backwardKey)
 Marks that the given ChangesListFilterGroup or ChangesListFilter conflicts with this object. More...
 
 displaysOnStructuredUi ()
 Checks whether the filter should display on the structured UI This refers to the exact filter. More...
 
 displaysOnUnstructuredUi ()
 Checks whether the filter should display on the unstructured UI. More...
 
 getConflictingFilters ()
 Get filters conflicting with this filter. More...
 
 getConflictingGroups ()
 Get groups conflicting with this filter. More...
 
 getDescription ()
 
 getGroup ()
 
 getJsData ()
 Gets the JS data required by the front-end of the structured UI. More...
 
 getLabel ()
 
 getName ()
 
 getPriority ()
 
 isFeatureAvailableOnStructuredUi ()
 Checks whether an equivalent feature for this filter is available on the structured UI. More...
 
 isSelected (FormOptions $opts)
 Checks whether this filter is selected in the provided options. More...
 
 setAsSupersetOf (ChangesListFilter $other)
 Marks that the current instance is (also) a superset of the filter passed in. More...
 
 setDefaultHighlightColor ( $defaultHighlightColor)
 
 setUnidirectionalConflict ( $other, $globalDescription, $contextDescription)
 Marks that the given ChangesListFilterGroup or ChangesListFilter conflicts with this object. More...
 

Protected Attributes

 $activeValue
 Value that defined when this filter is considered active. More...
 
 $defaultValue
 Default. More...
 
 $isReplacedInStructuredUi
 Whether there is a feature designed to replace this filter available on the structured UI. More...
 
 $queryCallable
 Callable used to do the actual query modification; see constructor. More...
 
 $showHide
 Main unstructured UI i18n key. More...
 
- Protected Attributes inherited from ChangesListFilter
 $conflictingFilters = []
 Array of associative arrays with conflict information. More...
 
 $conflictingGroups = []
 Array of associative arrays with conflict information. More...
 
 $cssClassSuffix
 CSS class suffix used for attribution, e.g. More...
 
 $defaultHighlightColor
 
 $description
 i18n key of description for structured UI More...
 
 $group
 Group. More...
 
 $isRowApplicableCallable
 Callable that returns true if and only if a row is attributed to this filter. More...
 
 $label
 i18n key of label for structured UI More...
 
 $name
 Filter name. More...
 
 $priority
 Priority integer. More...
 
 $subsetFilters = []
 Array of associative arrays with subset information. More...
 

Additional Inherited Members

- Public Attributes inherited from ChangesListFilter
const RESERVED_NAME_CHAR = '_'
 
- Protected Member Functions inherited from ChangesListFilter
 getCssClass ()
 Gets the CSS class. More...
 
 getSiblings ()
 Get filters in the same group. More...
 

Detailed Description

Represents a hide-based boolean filter (used on ChangesListSpecialPage and descendants)

Since
1.29

Definition at line 31 of file ChangesListBooleanFilter.php.

Constructor & Destructor Documentation

◆ __construct()

ChangesListBooleanFilter::__construct (   $filterDefinition)

Create a new filter with the specified configuration.

It infers which UI (it can be either or both) to display the filter on based on which messages are provided.

If 'label' is provided, it will be displayed on the structured UI. If 'showHide' is provided, it will be displayed on the unstructured UI. Thus, 'label', 'description', and 'showHide' are optional depending on which UI it's for.

Parameters
array$filterDefinitionChangesListFilter definition
  • $filterDefinition['name'] string Name. Used as URL parameter.
  • $filterDefinition['group'] ChangesListFilterGroup Group. Filter group this belongs to.
  • $filterDefinition['label'] string i18n key of label for structured UI.
  • $filterDefinition['description'] string i18n key of description for structured UI.
  • $filterDefinition['showHide'] string Main i18n key used for unstructured UI.
  • $filterDefinition['isReplacedInStructuredUi'] bool Whether there is an equivalent feature available in the structured UI; this is optional, defaulting to true. It does not need to be set if the exact same filter is simply visible on both.
  • $filterDefinition['default'] bool Default
  • $filterDefinition['activeValue'] bool This filter is considered active when its value is equal to its activeValue. Default is true.
  • $filterDefinition['priority'] int Priority integer. Higher value means higher up in the group's filter list.
  • $filterDefinition['queryCallable'] callable Callable accepting parameters, used to implement filter's DB query modification. Required, except for legacy filters that still use the query hooks directly. Callback parameters:
    • string $specialPageClassName Class name of current special page
    • IContextSource $context Context, for e.g. user
    • IDatabase $dbr Database, for addQuotes, makeList, and similar
    • array &$tables Array of tables; see IDatabase::select $table
    • array &$fields Array of fields; see IDatabase::select $vars
    • array &$conds Array of conditions; see IDatabase::select $conds
    • array &$query_options Array of query options; see IDatabase::select $options
    • array &$join_conds Array of join conditions; see IDatabase::select $join_conds

Definition at line 108 of file ChangesListBooleanFilter.php.

References setDefault().

Member Function Documentation

◆ displaysOnUnstructuredUi()

ChangesListBooleanFilter::displaysOnUnstructuredUi ( )

Definition at line 163 of file ChangesListBooleanFilter.php.

References $showHide.

◆ getDefault()

ChangesListBooleanFilter::getDefault (   $structuredUI = false)

Get the default value.

Parameters
bool$structuredUIAre we currently showing the structured UI
Returns
bool|null Default value

Definition at line 136 of file ChangesListBooleanFilter.php.

References $defaultValue.

◆ getJsData()

ChangesListBooleanFilter::getJsData ( )

Definition at line 209 of file ChangesListBooleanFilter.php.

References $defaultValue, and $output.

◆ getShowHide()

ChangesListBooleanFilter::getShowHide ( )
Returns
string Main i18n key for unstructured UI

Definition at line 156 of file ChangesListBooleanFilter.php.

References $showHide.

◆ isActive()

ChangesListBooleanFilter::isActive ( FormOptions  $opts,
  $isStructuredUI 
)
Parameters
FormOptions$optsQuery parameters merged with defaults
bool$isStructuredUIWhether the structured UI is currently enabled
Returns
bool Whether this filter should be considered active

Definition at line 235 of file ChangesListBooleanFilter.php.

References $activeValue, and ChangesListFilter\getName().

◆ isFeatureAvailableOnStructuredUi()

ChangesListBooleanFilter::isFeatureAvailableOnStructuredUi ( )

Definition at line 170 of file ChangesListBooleanFilter.php.

◆ isSelected()

ChangesListBooleanFilter::isSelected ( FormOptions  $opts)

◆ modifyQuery()

ChangesListBooleanFilter::modifyQuery ( IDatabase  $dbr,
ChangesListSpecialPage  $specialPage,
$tables,
$fields,
$conds,
$query_options,
$join_conds 
)

Modifies the query to include the filter.

This is only called if the filter is in effect (taking into account the default).

Parameters
IDatabase$dbrDatabase, for addQuotes, makeList, and similar
ChangesListSpecialPage$specialPageCurrent special page
array&$tablesArray of tables; see IDatabase::select $table
array&$fieldsArray of fields; see IDatabase::select $vars
array&$condsArray of conditions; see IDatabase::select $conds
array&$query_optionsArray of query options; see IDatabase::select $options
array&$join_condsArray of join conditions; see IDatabase::select $join_conds

Definition at line 187 of file ChangesListBooleanFilter.php.

References $dbr, $queryCallable, $tables, SpecialPage\getContext(), and null.

◆ setDefault()

ChangesListBooleanFilter::setDefault (   $defaultValue)

Sets default.

It must be a boolean.

It will be coerced to boolean.

Parameters
bool$defaultValue

Definition at line 149 of file ChangesListBooleanFilter.php.

References $defaultValue.

Referenced by __construct().

Member Data Documentation

◆ $activeValue

bool ChangesListBooleanFilter::$activeValue
protected

Value that defined when this filter is considered active.

Definition at line 66 of file ChangesListBooleanFilter.php.

Referenced by isActive().

◆ $defaultValue

bool ChangesListBooleanFilter::$defaultValue
protected

Default.

Definition at line 52 of file ChangesListBooleanFilter.php.

Referenced by getDefault(), getJsData(), and setDefault().

◆ $isReplacedInStructuredUi

bool ChangesListBooleanFilter::$isReplacedInStructuredUi
protected

Whether there is a feature designed to replace this filter available on the structured UI.

Definition at line 45 of file ChangesListBooleanFilter.php.

◆ $queryCallable

callable ChangesListBooleanFilter::$queryCallable
protected

Callable used to do the actual query modification; see constructor.

Definition at line 59 of file ChangesListBooleanFilter.php.

Referenced by modifyQuery().

◆ $showHide

string ChangesListBooleanFilter::$showHide
protected

Main unstructured UI i18n key.

Definition at line 37 of file ChangesListBooleanFilter.php.

Referenced by displaysOnUnstructuredUi(), and getShowHide().


The documentation for this class was generated from the following file: