* Due to significant refactoring, method ContribsPager::getUserCond() that had
no access restriction has been removed.
* Revision::setUserIdAndName() was deprecated.
+* Access to TitleValue class properties was deprecated, the relevant getters
+ should be used instead.
== Compatibility ==
MediaWiki 1.31 requires PHP 5.5.9 or later. There is experimental support for
$this->setHeaders();
$this->outputHeader();
- $out->addModuleStyles( 'mediawiki.special' );
+ $out->addModuleStyles( 'mediawiki.special.userrights.styles' );
$this->addHelpLink( 'Help:Assigning permissions' );
$this->switchForm();
class TitleValue implements LinkTarget {
/**
+ * @deprecated in 1.31. This class is immutable. Use the getter for access.
* @var int
*/
- private $namespace;
+ protected $namespace;
/**
+ * @deprecated in 1.31. This class is immutable. Use the getter for access.
* @var string
*/
- private $dbkey;
+ protected $dbkey;
/**
+ * @deprecated in 1.31. This class is immutable. Use the getter for access.
* @var string
*/
- private $fragment;
+ protected $fragment;
/**
+ * @deprecated in 1.31. This class is immutable. Use the getter for access.
* @var string
*/
- private $interwiki;
+ protected $interwiki;
/**
* Constructs a TitleValue.
],
],
'mediawiki.special.userrights' => [
- 'styles' => 'resources/src/mediawiki.special/mediawiki.special.userrights.css',
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.userrights.js',
'dependencies' => [
'mediawiki.notification.convertmessagebox',
],
],
+ 'mediawiki.special.userrights.styles' => [
+ 'styles' => 'resources/src/mediawiki.special/mediawiki.special.userrights.css',
+ ],
'mediawiki.special.watchlist' => [
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.watchlist.js',
'messages' => [
this.excludeLabel = new OO.ui.LabelWidget( {
label: mw.msg( 'rcfilters-filter-excluded' )
} );
- this.excludeLabel.toggle( this.itemModel.isSelected() && this.invertModel.isSelected() );
+ this.excludeLabel.toggle(
+ this.itemModel.getGroupModel().getView() === 'namespaces' &&
+ this.itemModel.isSelected() &&
+ this.invertModel.isSelected()
+ );
layout = new OO.ui.FieldLayout( this.checkboxWidget, {
label: $label,
this.checkboxWidget.setSelected( this.itemModel.isSelected() );
this.highlightButton.toggle( this.filtersViewModel.isHighlightEnabled() );
- this.excludeLabel.toggle( this.itemModel.isSelected() && this.invertModel.isSelected() );
+ this.excludeLabel.toggle(
+ this.itemModel.getGroupModel().getView() === 'namespaces' &&
+ this.itemModel.isSelected() &&
+ this.invertModel.isSelected()
+ );
};
/**
color: #72777d;
font-size: 90%;
}
-
-/* Special:UserRights */
-.mw-userrights-disabled {
- color: #72777d;
-}
-.mw-userrights-groups * td,
-.mw-userrights-groups * th {
- padding-right: 1.5em;
-}
-
-.mw-userrights-groups * th {
- text-align: left;
-}
display: inline-block;
vertical-align: middle;
}
+
+.mw-userrights-disabled {
+ color: #72777d;
+}
+.mw-userrights-groups * td,
+.mw-userrights-groups * th {
+ padding-right: 1.5em;
+}
+
+.mw-userrights-groups * th {
+ text-align: left;
+}
* @covers Revision::fetchFromConds
*/
public function testFetchFromConds( $flags, array $options ) {
+ $this->setMwGlobals( 'wgCommentTableSchemaMigrationStage', MIGRATION_OLD );
$conditions = [ 'conditionsArray' ];
$db = $this->getMock( IDatabase::class );
public function testSelectFields( $contentHandlerUseDB, $expected ) {
$this->hideDeprecated( 'Revision::selectFields' );
$this->setMwGlobals( 'wgContentHandlerUseDB', $contentHandlerUseDB );
+ $this->setMwGlobals( 'wgCommentTableSchemaMigrationStage', MIGRATION_OLD );
$this->assertEquals( $expected, Revision::selectFields() );
}
public function testSelectArchiveFields( $contentHandlerUseDB, $expected ) {
$this->hideDeprecated( 'Revision::selectArchiveFields' );
$this->setMwGlobals( 'wgContentHandlerUseDB', $contentHandlerUseDB );
+ $this->setMwGlobals( 'wgCommentTableSchemaMigrationStage', MIGRATION_OLD );
$this->assertEquals( $expected, Revision::selectArchiveFields() );
}
$this->assertEquals( $text, $title->getText() );
}
+
+ public function provideTestToString() {
+ yield [
+ new TitleValue( 0, 'Foo' ),
+ '0:Foo'
+ ];
+ yield [
+ new TitleValue( 1, 'Bar_Baz' ),
+ '1:Bar_Baz'
+ ];
+ yield [
+ new TitleValue( 9, 'JoJo', 'Frag' ),
+ '9:JoJo#Frag'
+ ];
+ yield [
+ new TitleValue( 200, 'tea', 'Fragment', 'wikicode' ),
+ 'wikicode:200:tea#Fragment'
+ ];
+ }
+
+ /**
+ * @dataProvider provideTestToString
+ */
+ public function testToString( TitleValue $value, $expected ) {
+ $this->assertSame(
+ $expected,
+ $value->__toString()
+ );
+ }
}