Revert "RCFilters: Export config vars in the RL modules where possible"
This reverts commit bf4f9d0313.
Reason for revert: causes issues with OAuth extension
The OAuth extension uses a hook to override certain tag messages, and
that hook uses RequestContext::getMain()->msg(), which tries to load
the current user. That's not allowed in load.php requests, so we get a
"Sessions are disabled for this entry point" error.
Change-Id: If58b7edfca116cd7a11f38556f74bed82609d96a
This commit is contained in:
parent
bf4f9d0313
commit
492969e12b
8 changed files with 26 additions and 35 deletions
|
|
@ -141,11 +141,11 @@ class ChangeTags {
|
|||
* we consider the tag hidden, and return false.
|
||||
*
|
||||
* @param string $tag
|
||||
* @param MessageLocalizer $context
|
||||
* @param IContextSource $context
|
||||
* @return string|bool Tag description or false if tag is to be hidden.
|
||||
* @since 1.25 Returns false if tag is to be hidden.
|
||||
*/
|
||||
public static function tagDescription( $tag, MessageLocalizer $context ) {
|
||||
public static function tagDescription( $tag, IContextSource $context ) {
|
||||
$msg = $context->msg( "tag-$tag" );
|
||||
if ( !$msg->exists() ) {
|
||||
// No such message, so return the HTML-escaped tag name.
|
||||
|
|
@ -168,11 +168,11 @@ class ChangeTags {
|
|||
* for the long description.
|
||||
*
|
||||
* @param string $tag
|
||||
* @param MessageLocalizer $context
|
||||
* @param IContextSource $context
|
||||
* @return Message|bool Message object of the tag long description or false if
|
||||
* there is no description.
|
||||
*/
|
||||
public static function tagLongDescriptionMessage( $tag, MessageLocalizer $context ) {
|
||||
public static function tagLongDescriptionMessage( $tag, IContextSource $context ) {
|
||||
$msg = $context->msg( "tag-$tag-description" );
|
||||
if ( !$msg->exists() ) {
|
||||
return false;
|
||||
|
|
@ -196,8 +196,6 @@ class ChangeTags {
|
|||
* @return string Truncated long tag description.
|
||||
*/
|
||||
public static function truncateTagDescription( $tag, $length, IContextSource $context ) {
|
||||
// FIXME: Make this accept MessageLocalizer and Language instead of IContextSource
|
||||
|
||||
$originalDesc = self::tagLongDescriptionMessage( $tag, $context );
|
||||
// If there is no tag description, return empty string
|
||||
if ( !$originalDesc ) {
|
||||
|
|
|
|||
|
|
@ -792,6 +792,10 @@ abstract class ChangesListSpecialPage extends SpecialPage {
|
|||
$out->addJsConfigVars( 'wgStructuredChangeFiltersMessages', $messages );
|
||||
$out->addJsConfigVars( 'wgStructuredChangeFiltersCollapsedState', $collapsed );
|
||||
|
||||
$out->addJsConfigVars(
|
||||
'wgRCFiltersChangeTags',
|
||||
$this->getChangeTagList()
|
||||
);
|
||||
$out->addJsConfigVars(
|
||||
'StructuredChangeFiltersDisplayConfig',
|
||||
[
|
||||
|
|
@ -819,35 +823,26 @@ abstract class ChangesListSpecialPage extends SpecialPage {
|
|||
'wgStructuredChangeFiltersCollapsedPreferenceName',
|
||||
static::$collapsedPreferenceName
|
||||
);
|
||||
|
||||
$out->addJsConfigVars(
|
||||
'StructuredChangeFiltersLiveUpdatePollingRate',
|
||||
$this->getConfig()->get( 'StructuredChangeFiltersLiveUpdatePollingRate' )
|
||||
);
|
||||
} else {
|
||||
$out->addBodyClasses( 'mw-rcfilters-disabled' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get config vars to export with the mediawiki.rcfilters.filters.ui module.
|
||||
*
|
||||
* @param ResourceLoaderContext $context
|
||||
* @return array
|
||||
*/
|
||||
public static function getRcFiltersConfigVars( ResourceLoaderContext $context ) {
|
||||
return [
|
||||
'RCFiltersChangeTags' => self::getChangeTagList( $context ),
|
||||
'StructuredChangeFiltersEditWatchlistUrl' =>
|
||||
SpecialPage::getTitleFor( 'EditWatchlist' )->getLocalURL()
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch the change tags list for the front end
|
||||
*
|
||||
* @param ResourceLoaderContext $context
|
||||
* @return array Tag data
|
||||
*/
|
||||
protected static function getChangeTagList( ResourceLoaderContext $context ) {
|
||||
protected function getChangeTagList() {
|
||||
$cache = ObjectCache::getMainWANInstance();
|
||||
$context = $this->getContext();
|
||||
return $cache->getWithSetCallback(
|
||||
$cache->makeKey( 'changeslistspecialpage-changetags', $context->getLanguage() ),
|
||||
$cache->makeKey( 'changeslistspecialpage-changetags', $context->getLanguage()->getCode() ),
|
||||
$cache::TTL_MINUTE * 10,
|
||||
function () use ( $context ) {
|
||||
$explicitlyDefinedTags = array_fill_keys( ChangeTags::listExplicitlyDefinedTags(), 0 );
|
||||
|
|
@ -863,10 +858,6 @@ abstract class ChangesListSpecialPage extends SpecialPage {
|
|||
*/
|
||||
$tagHitCounts = array_merge( $explicitlyDefinedTags, $softwareActivatedTags );
|
||||
|
||||
// HACK work around ChangeTags::truncateTagDescription() requiring a RequestContext
|
||||
$fakeContext = new RequestContext;
|
||||
$fakeContext->setLanguage( Language::factory( $context->getLanguage() ) );
|
||||
|
||||
// Build the list and data
|
||||
$result = [];
|
||||
foreach ( $tagHitCounts as $tagName => $hits ) {
|
||||
|
|
@ -884,7 +875,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
|
|||
ChangeTags::truncateTagDescription(
|
||||
$tagName,
|
||||
self::TAG_DESC_CHARACTER_LIMIT,
|
||||
$fakeContext
|
||||
$context
|
||||
),
|
||||
'cssClass' => Sanitizer::escapeClass( 'mw-tag-' . $tagName ),
|
||||
'hits' => $hits,
|
||||
|
|
|
|||
|
|
@ -102,6 +102,11 @@ class SpecialWatchlist extends ChangesListSpecialPage {
|
|||
|
||||
if ( $this->isStructuredFilterUiEnabled() ) {
|
||||
$output->addModuleStyles( [ 'mediawiki.rcfilters.highlightCircles.seenunseen.styles' ] );
|
||||
|
||||
$output->addJsConfigVars(
|
||||
'wgStructuredChangeFiltersEditWatchlistUrl',
|
||||
SpecialPage::getTitleFor( 'EditWatchlist' )->getLocalURL()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1813,7 +1813,6 @@ return [
|
|||
'dm/ItemModel.js',
|
||||
'dm/SavedQueriesModel.js',
|
||||
'dm/SavedQueryItemModel.js',
|
||||
'config.json' => [ 'config' => [ 'StructuredChangeFiltersLiveUpdatePollingRate' ] ],
|
||||
],
|
||||
'dependencies' => [
|
||||
'mediawiki.String',
|
||||
|
|
@ -1867,7 +1866,6 @@ return [
|
|||
'ui/RclTargetPageWidget.js',
|
||||
'ui/RclToOrFromWidget.js',
|
||||
'ui/WatchlistTopSectionWidget.js',
|
||||
'config.json' => [ 'callback' => 'ChangesListSpecialPage::getRcFiltersConfigVars' ],
|
||||
],
|
||||
'styles' => [
|
||||
'styles/mw.rcfilters.mixins.less',
|
||||
|
|
|
|||
|
|
@ -33,8 +33,6 @@
|
|||
this.collapsedPreferenceName = config.collapsedPreferenceName;
|
||||
this.normalizeTarget = !!config.normalizeTarget;
|
||||
|
||||
this.pollingRate = require( './config.json' ).StructuredChangeFiltersLiveUpdatePollingRate;
|
||||
|
||||
this.requestCounter = {};
|
||||
this.baseFilterState = {};
|
||||
this.uriProcessor = null;
|
||||
|
|
@ -280,6 +278,7 @@
|
|||
this.initialized = true;
|
||||
this.switchView( 'default' );
|
||||
|
||||
this.pollingRate = mw.config.get( 'StructuredChangeFiltersLiveUpdatePollingRate' );
|
||||
if ( this.pollingRate ) {
|
||||
this._scheduleLiveUpdate();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@
|
|||
mw.config.get( 'wgStructuredChangeFilters' ),
|
||||
// All namespaces without Media namespace
|
||||
getNamespaces( [ 'Media' ] ),
|
||||
require( './config.json' ).RCFiltersChangeTags,
|
||||
mw.config.get( 'wgRCFiltersChangeTags' ),
|
||||
conditionalViews
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@
|
|||
this.numChangesAndDateWidget.$element
|
||||
);
|
||||
|
||||
if ( this.controller.pollingRate ) {
|
||||
if ( mw.config.get( 'StructuredChangeFiltersLiveUpdatePollingRate' ) ) {
|
||||
$bottom.prepend( this.liveUpdateButton.$element );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
editWatchlistButton = new OO.ui.ButtonWidget( {
|
||||
label: mw.msg( 'rcfilters-watchlist-edit-watchlist-button' ),
|
||||
icon: 'edit',
|
||||
href: require( '../config.json' ).StructuredChangeFiltersEditWatchlistUrl
|
||||
href: mw.config.get( 'wgStructuredChangeFiltersEditWatchlistUrl' )
|
||||
} );
|
||||
markSeenButton = new MarkSeenButtonWidget( controller, changesListModel );
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue