if ( $config->get( 'RCWatchCategoryMembership' ) ) {
$opts->add( 'hidecategorization', false );
}
+ $opts->add( 'hidepageedits', false );
+ $opts->add( 'hidenewpages', false );
+ $opts->add( 'hidelog', false );
$opts->add( 'namespace', '', FormOptions::INTNULL );
$opts->add( 'invert', false );
) {
$conds[] = 'rc_type != ' . $dbr->addQuotes( RC_CATEGORIZE );
}
+ if ( $opts['hidepageedits'] ) {
+ $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_EDIT );
+ }
+ if ( $opts['hidenewpages'] ) {
+ $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_NEW );
+ }
+ if ( $opts['hidelog'] ) {
+ $conds[] = 'rc_type != ' . $dbr->addQuotes( RC_LOG );
+ }
// Namespace filtering
if ( $opts['namespace'] !== '' ) {
protected function getGroupName() {
return 'changes';
}
+
+ /**
+ * Get filters that can be rendered.
+ *
+ * Filters with 'msg' => false can be used to filter data but won't
+ * be presented as show/hide toggles in the UI. They are not returned
+ * by this function.
+ *
+ * @param array $allFilters Map of filter URL param names to properties (msg/default)
+ * @return array Map of filter URL param names to properties (msg/default)
+ */
+ protected function getRenderableCustomFilters( $allFilters ) {
+ return array_filter(
+ $allFilters,
+ function( $filter ) {
+ return isset( $filter['msg'] ) && ( $filter['msg'] !== false );
+ }
+ );
+ }
}