MediaWiki  master
ChangesListBooleanFilterGroup Class Reference

If the group is active, any unchecked filters will translate to hide parameters in the URL. More...

Inheritance diagram for ChangesListBooleanFilterGroup:
Collaboration diagram for ChangesListBooleanFilterGroup:

Public Member Functions

 __construct (array $groupDefinition)
 Create a new filter group with the specified configuration. More...
 
 addOptions (FormOptions $opts, $allowDefaults, $isStructuredFiltersEnabled)
 
 modifyQuery (IDatabase $dbr, ChangesListSpecialPage $specialPage, &$tables, &$fields, &$conds, &$query_options, &$join_conds, FormOptions $opts, $isStructuredFiltersEnabled)
 
 registerFilter (ChangesListBooleanFilter $filter)
 Registers a filter in this group. More...
 
- Public Member Functions inherited from ChangesListFilterGroup
 __construct (array $groupDefinition)
 Create a new filter group with the specified configuration. More...
 
 addOptions (FormOptions $opts, $allowDefaults, $isStructuredFiltersEnabled)
 All the options represented by this filter group to $opts. More...
 
 anySelected (FormOptions $opts)
 Check if any filter in this group is selected. More...
 
 conflictsWith ( $other, $globalKey, $forwardKey, $backwardKey)
 Marks that the given ChangesListFilterGroup or ChangesListFilter conflicts with this object. More...
 
 getConflictingFilters ()
 Get filters conflicting with this filter group. More...
 
 getConflictingGroups ()
 Get groups conflicting with this filter group. More...
 
 getFilter ( $name)
 Get filter by name. More...
 
 getFilters ()
 
 getJsData ()
 Gets the JS data in the format required by the front-end of the structured UI. More...
 
 getName ()
 
 getPriority ()
 
 getTitle ()
 
 getType ()
 
 modifyQuery (IDatabase $dbr, ChangesListSpecialPage $specialPage, &$tables, &$fields, &$conds, &$query_options, &$join_conds, FormOptions $opts, $isStructuredFiltersEnabled)
 Modifies the query to include the filter group. More...
 
 setUnidirectionalConflict ( $other, $globalDescription, $contextDescription)
 Marks that the given ChangesListFilterGroup or ChangesListFilter conflicts with this object. More...
 

Public Attributes

const TYPE = 'send_unselected_if_any'
 Type marker, used by JavaScript. More...
 
- Public Attributes inherited from ChangesListFilterGroup
const DEFAULT_PRIORITY = -100
 
const RESERVED_NAME_CHAR = '_'
 

Protected Member Functions

 createFilter (array $filterDefinition)
 
- Protected Member Functions inherited from ChangesListFilterGroup
 createFilter (array $filterDefinition)
 Creates a filter of the appropriate type for this group, from the definition. More...
 

Additional Inherited Members

- Protected Attributes inherited from ChangesListFilterGroup
 $conflictingFilters = []
 Array of associative arrays with conflict information. More...
 
 $conflictingGroups = []
 Array of associative arrays with conflict information. More...
 
 $filters
 Associative array of filters, as ChangesListFilter objects, with filter name as key. More...
 
 $isFullCoverage
 Whether this group is full coverage. More...
 
 $name
 Name (internal identifier) More...
 
 $priority
 Priority integer. More...
 
 $title
 i18n key for title More...
 
 $type
 Type, from a TYPE constant of a subclass. More...
 
 $whatsThisBody
 i18n key for body of What's This? More...
 
 $whatsThisHeader
 i18n key for header of What's This? More...
 
 $whatsThisLinkText
 i18n key for What's This? link More...
 
 $whatsThisUrl
 URL of What's This? link. More...
 

Detailed Description

If the group is active, any unchecked filters will translate to hide parameters in the URL.

E.g. if 'Human (not bot)' is checked, but 'Bot' is unchecked, hidebots=1 will be sent.

Since
1.29

Definition at line 12 of file ChangesListBooleanFilterGroup.php.

Constructor & Destructor Documentation

◆ __construct()

ChangesListBooleanFilterGroup::__construct ( array  $groupDefinition)

Create a new filter group with the specified configuration.

Parameters
array$groupDefinitionConfiguration of group
  • $groupDefinition['name'] string Group name
  • $groupDefinition['title'] string i18n key for title (optional, can be omitted only if none of the filters in the group display in the structured UI)
  • $groupDefinition['priority'] int Priority integer. Higher means higher in the group list.
  • $groupDefinition['filters'] array Numeric array of filter definitions, each of which is an associative array to be passed to the filter constructor. However, 'priority' is optional for the filters. Any filter that has priority unset will be put to the bottom, in the order given.
  • $groupDefinition['whatsThisHeader'] string i18n key for header of "What's This" popup (optional).
  • $groupDefinition['whatsThisBody'] string i18n key for body of "What's This" popup (optional).
  • $groupDefinition['whatsThisUrl'] string URL for main link of "What's This" popup (optional).
  • $groupDefinition['whatsThisLinkText'] string i18n key of text for main link of "What's This" popup (optional).

Definition at line 40 of file ChangesListBooleanFilterGroup.php.

Member Function Documentation

◆ addOptions()

ChangesListBooleanFilterGroup::addOptions ( FormOptions  $opts,
  $allowDefaults,
  $isStructuredFiltersEnabled 
)

◆ createFilter()

ChangesListBooleanFilterGroup::createFilter ( array  $filterDefinition)
protected

Definition at line 50 of file ChangesListBooleanFilterGroup.php.

◆ modifyQuery()

ChangesListBooleanFilterGroup::modifyQuery ( IDatabase  $dbr,
ChangesListSpecialPage  $specialPage,
$tables,
$fields,
$conds,
$query_options,
$join_conds,
FormOptions  $opts,
  $isStructuredFiltersEnabled 
)

◆ registerFilter()

ChangesListBooleanFilterGroup::registerFilter ( ChangesListBooleanFilter  $filter)

Registers a filter in this group.

Parameters
ChangesListBooleanFilter$filter

Definition at line 59 of file ChangesListBooleanFilterGroup.php.

References $filter, and ChangesListFilter\getName().

Member Data Documentation

◆ TYPE

const ChangesListBooleanFilterGroup::TYPE = 'send_unselected_if_any'

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