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

Protected Attributes

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

Additional Inherited Members

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

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 115 of file ChangesListBooleanFilter.php.

References setDefault().

Member Function Documentation

◆ displaysOnUnstructuredUi()

ChangesListBooleanFilter::displaysOnUnstructuredUi ( )

@inheritDoc

Reimplemented from ChangesListFilter.

Definition at line 178 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 151 of file ChangesListBooleanFilter.php.

References $defaultValue.

◆ getJsData()

ChangesListBooleanFilter::getJsData ( )

@inheritDoc

Reimplemented from ChangesListFilter.

Definition at line 227 of file ChangesListBooleanFilter.php.

References $defaultValue, and $output.

◆ getShowHide()

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

Definition at line 171 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 253 of file ChangesListBooleanFilter.php.

References $activeValue, and ChangesListFilter\getName().

◆ isFeatureAvailableOnStructuredUi()

ChangesListBooleanFilter::isFeatureAvailableOnStructuredUi ( )

@inheritDoc

Reimplemented from ChangesListFilter.

Definition at line 185 of file ChangesListBooleanFilter.php.

◆ isSelected()

ChangesListBooleanFilter::isSelected ( FormOptions  $opts)

@inheritDoc

Reimplemented from ChangesListFilter.

Definition at line 238 of file ChangesListBooleanFilter.php.

References ChangesListFilter\getName(), ChangesListFilter\getSiblings(), and use.

◆ 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 202 of file ChangesListBooleanFilter.php.

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

◆ setDefault()

ChangesListBooleanFilter::setDefault (   $defaultValue)

Sets default.

It must be a boolean.

It will be coerced to boolean.

Parameters
bool$defaultValue

Definition at line 164 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 73 of file ChangesListBooleanFilter.php.

Referenced by isActive().

◆ $defaultValue

bool ChangesListBooleanFilter::$defaultValue
protected

Default.

Definition at line 59 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 52 of file ChangesListBooleanFilter.php.

◆ $queryCallable

callable ChangesListBooleanFilter::$queryCallable
protected

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

Definition at line 66 of file ChangesListBooleanFilter.php.

◆ $showHide

string ChangesListBooleanFilter::$showHide
protected

Main unstructured UI i18n key.

Definition at line 44 of file ChangesListBooleanFilter.php.

Referenced by displaysOnUnstructuredUi(), and getShowHide().


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