Use booleans, not the old empty-string-or-undefined.
This bugfix is a breaking change, but chances are it won't affect many
clients.
Bug: T153518
Change-Id: If5fa2cdcb973b186349307b29e4266daceef0a9d
'width' => $file->getWidth(),
'height' => $file->getHeight(),
'size' => $file->getSize(),
+ 'userhidden' => (bool)$file->isDeleted( Revision::DELETED_USER ),
+ 'commenthidden' => (bool)$file->isDeleted( Revision::DELETED_COMMENT ),
+ 'contenthidden' => (bool)$this->isDeleted(),
];
- $ret += $file->isDeleted( Revision::DELETED_USER ) ? [ 'userhidden' => '' ] : [];
- $ret += $file->isDeleted( Revision::DELETED_COMMENT ) ? [ 'commenthidden' => '' ] : [];
- $ret += $this->isDeleted() ? [ 'contenthidden' => '' ] : [];
if ( $this->canViewContent() ) {
$ret += [
'url' => SpecialPage::getTitleFor( 'Revisiondelete' )->getLinkURL(
'width' => $file->getWidth(),
'height' => $file->getHeight(),
'size' => $file->getSize(),
+ 'userhidden' => (bool)$file->isDeleted( Revision::DELETED_USER ),
+ 'commenthidden' => (bool)$file->isDeleted( Revision::DELETED_COMMENT ),
+ 'contenthidden' => (bool)$this->isDeleted(),
];
- $ret += $file->isDeleted( Revision::DELETED_USER ) ? [ 'userhidden' => '' ] : [];
- $ret += $file->isDeleted( Revision::DELETED_COMMENT ) ? [ 'commenthidden' => '' ] : [];
- $ret += $this->isDeleted() ? [ 'contenthidden' => '' ] : [];
if ( !$this->isDeleted() ) {
$ret += [
'url' => $file->getUrl(),
'id' => $logEntry->getId(),
'type' => $logEntry->getType(),
'action' => $logEntry->getSubtype(),
+ 'userhidden' => (bool)$logEntry->isDeleted( LogPage::DELETED_USER ),
+ 'commenthidden' => (bool)$logEntry->isDeleted( LogPage::DELETED_COMMENT ),
+ 'actionhidden' => (bool)$logEntry->isDeleted( LogPage::DELETED_ACTION ),
];
- $ret += $logEntry->isDeleted( LogPage::DELETED_USER )
- ? [ 'userhidden' => '' ]
- : [];
- $ret += $logEntry->isDeleted( LogPage::DELETED_COMMENT )
- ? [ 'commenthidden' => '' ]
- : [];
- $ret += $logEntry->isDeleted( LogPage::DELETED_ACTION )
- ? [ 'actionhidden' => '' ]
- : [];
if ( LogEventsList::userCan( $this->row, LogPage::DELETED_ACTION, $user ) ) {
$ret['params'] = LogFormatter::newFromEntry( $logEntry )->formatParametersForApi();
$ret = [
'id' => $rev->getId(),
'timestamp' => wfTimestamp( TS_ISO_8601, $rev->getTimestamp() ),
+ 'userhidden' => (bool)$rev->isDeleted( Revision::DELETED_USER ),
+ 'commenthidden' => (bool)$rev->isDeleted( Revision::DELETED_COMMENT ),
+ 'texthidden' => (bool)$rev->isDeleted( Revision::DELETED_TEXT ),
];
- $ret += $rev->isDeleted( Revision::DELETED_USER ) ? [ 'userhidden' => '' ] : [];
- $ret += $rev->isDeleted( Revision::DELETED_COMMENT ) ? [ 'commenthidden' => '' ] : [];
- $ret += $rev->isDeleted( Revision::DELETED_TEXT ) ? [ 'texthidden' => '' ] : [];
if ( $rev->userCan( Revision::DELETED_USER, $user ) ) {
$ret += [
'userid' => $rev->getUser( Revision::FOR_THIS_USER ),
$this->assertEquals( $out['status'], 'Success' );
$this->assertArrayHasKey( 'items', $out );
$item = $out['items'][0];
- $this->assertArrayHasKey( 'userhidden', $item );
- $this->assertArrayHasKey( 'commenthidden', $item );
- $this->assertArrayHasKey( 'texthidden', $item );
+ $this->assertTrue( $item['userhidden'], 'userhidden' );
+ $this->assertTrue( $item['commenthidden'], 'commenthidden' );
+ $this->assertTrue( $item['texthidden'], 'texthidden' );
$this->assertEquals( $item['id'], $revid );
// Now check that that revision was actually hidden
$this->assertArrayHasKey( 'items', $out2 );
$item = $out2['items'][0];
- $this->assertArrayNotHasKey( 'userhidden', $item );
- $this->assertArrayNotHasKey( 'commenthidden', $item );
- $this->assertArrayNotHasKey( 'texthidden', $item );
+ $this->assertFalse( $item['userhidden'], 'userhidden' );
+ $this->assertFalse( $item['commenthidden'], 'commenthidden' );
+ $this->assertFalse( $item['texthidden'], 'texthidden' );
$this->assertEquals( $item['id'], $revid );
$this->assertEquals( $out['status'], 'Success' );
$this->assertArrayHasKey( 'items', $out );
$item = $out['items'][0];
- // Check it has userhidden & texthidden keys
- // but no commenthidden key
- $this->assertArrayHasKey( 'userhidden', $item );
- $this->assertArrayNotHasKey( 'commenthidden', $item );
- $this->assertArrayHasKey( 'texthidden', $item );
+ // Check it has userhidden & texthidden
+ // but not commenthidden
+ $this->assertTrue( $item['userhidden'], 'userhidden' );
+ $this->assertFalse( $item['commenthidden'], 'commenthidden' );
+ $this->assertTrue( $item['texthidden'], 'texthidden' );
$this->assertEquals( $item['id'], $revid );
}
}