'showHideSuffix' => 'showhideliu',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_user = 0';
},
'cssClassSuffix' => 'liu',
'showHideSuffix' => 'showhideanons',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_user != 0';
},
'cssClassSuffix' => 'anon',
'showHideSuffix' => 'showhidemine',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$user = $ctx->getUser();
$conds[] = 'rc_user_text != ' . $dbr->addQuotes( $user->getName() );
},
'description' => 'rcfilters-filter-editsbyother-description',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$user = $ctx->getUser();
$conds[] = 'rc_user_text = ' . $dbr->addQuotes( $user->getName() );
},
'showHideSuffix' => 'showhidebots',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_bot = 0';
},
'cssClassSuffix' => 'bot',
'description' => 'rcfilters-filter-humans-description',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_bot = 1';
},
'cssClassSuffix' => 'human',
'showHideSuffix' => 'showhideminor',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_minor = 0';
},
'cssClassSuffix' => 'minor',
'description' => 'rcfilters-filter-major-description',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_minor = 1';
},
'cssClassSuffix' => 'major',
'default' => false,
'priority' => -2,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_type != ' . $dbr->addQuotes( RC_EDIT );
},
'cssClassSuffix' => 'src-mw-edit',
'default' => false,
'priority' => -3,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_type != ' . $dbr->addQuotes( RC_NEW );
},
'cssClassSuffix' => 'src-mw-new',
'default' => false,
'priority' => -5,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_type != ' . $dbr->addQuotes( RC_LOG );
},
'cssClassSuffix' => 'src-mw-log',
'showHideSuffix' => 'showhidepatr',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_patrolled = 0';
},
'cssClassSuffix' => 'patrolled',
'description' => 'rcfilters-filter-unpatrolled-description',
'default' => false,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_patrolled = 1';
},
'cssClassSuffix' => 'unpatrolled',
'default' => false,
'priority' => -4,
'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds,
- &$query_options, &$join_conds ) {
-
+ &$query_options, &$join_conds
+ ) {
$conds[] = 'rc_type != ' . $dbr->addQuotes( RC_CATEGORIZE );
},
'cssClassSuffix' => 'src-mw-categorize',
$opts = $this->getOptions();
/** @var ChangesListFilterGroup $group */
foreach ( $this->getFilterGroups() as $group ) {
-
if ( $group->getConflictingGroups() ) {
wfLogWarning(
$group->getName() .
/** @var ChangesListFilter $filter */
foreach ( $group->getFilters() as $filter ) {
-
/** @var ChangesListFilter $conflictingFilter */
foreach ( $filter->getConflictingFilters() as $conflictingFilter ) {
if (
$config = $this->getConfig();
$opts = new FormOptions();
$structuredUI = $this->getUser()->getOption( 'rcenhancedfilters' );
+ // If urlversion=2 is set, ignore the filter defaults and set them all to false/empty
+ $useDefaults = $this->getRequest()->getInt( 'urlversion' ) !== 2;
// Add all filters
foreach ( $this->filterGroups as $filterGroup ) {
// URL parameters can be per-group, like 'userExpLevel',
// or per-filter, like 'hideminor'.
if ( $filterGroup->isPerGroupRequestParameter() ) {
- $opts->add( $filterGroup->getName(), $filterGroup->getDefault() );
+ $opts->add( $filterGroup->getName(), $useDefaults ? $filterGroup->getDefault() : '' );
} else {
foreach ( $filterGroup->getFilters() as $filter ) {
- $opts->add( $filter->getName(), $filter->getDefault( $structuredUI ) );
+ $opts->add( $filter->getName(), $useDefaults ? $filter->getDefault( $structuredUI ) : false );
}
}
}
$opts->add( 'namespace', '', FormOptions::STRING );
$opts->add( 'invert', false );
$opts->add( 'associated', false );
+ $opts->add( 'urlversion', 1 );
return $opts;
}
* @param FormOptions $opts
*/
protected function buildQuery( &$tables, &$fields, &$conds, &$query_options,
- &$join_conds, FormOptions $opts ) {
-
+ &$join_conds, FormOptions $opts
+ ) {
$dbr = $this->getDB();
$user = $this->getUser();
* @return bool|ResultWrapper Result or false
*/
protected function doMainQuery( $tables, $fields, $conds,
- $query_options, $join_conds, FormOptions $opts ) {
-
+ $query_options, $join_conds, FormOptions $opts
+ ) {
$tables[] = 'recentchanges';
$fields = array_merge( RecentChange::selectFields(), $fields );
* (optional)
*/
public function filterOnUserExperienceLevel( $specialPageClassName, $context, $dbr,
- &$tables, &$fields, &$conds, &$query_options, &$join_conds, $selectedExpLevels, $now = 0 ) {
-
+ &$tables, &$fields, &$conds, &$query_options, &$join_conds, $selectedExpLevels, $now = 0
+ ) {
global $wgLearnerEdits,
$wgExperiencedUserEdits,
$wgLearnerMemberSince,