*/
use MediaWiki\Permissions\PermissionManager;
+use MediaWiki\Storage\RevisionRecord;
use Wikimedia\Assert\Assert;
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\IDatabase;
if (
!MediaWikiServices::getInstance()->getNamespaceInfo()->
hasSubpages( $this->mNamespace )
+ || strtok( $this->getText(), '/' ) === false
) {
return $this->getText();
}
* @since 1.20
*/
public function getSubpage( $text ) {
- return self::makeTitleSafe( $this->mNamespace, $this->getText() . '/' . $text );
+ return self::makeTitleSafe(
+ $this->mNamespace,
+ $this->getText() . '/' . $text,
+ '',
+ $this->mInterwiki
+ );
}
/**
->getPermissionErrors( $action, $user, $this, $rigor, $ignoreErrors );
}
- /**
- * Add the resulting error code to the errors array
- *
- * @param array $errors List of current errors
- * @param array|string|MessageSpecifier|false $result Result of errors
- *
- * @return array List of errors
- */
- private function resultToError( $errors, $result ) {
- if ( is_array( $result ) && count( $result ) && !is_array( $result[0] ) ) {
- // A single array representing an error
- $errors[] = $result;
- } elseif ( is_array( $result ) && is_array( $result[0] ) ) {
- // A nested array representing multiple errors
- $errors = array_merge( $errors, $result );
- } elseif ( $result !== '' && is_string( $result ) ) {
- // A string representing a message-id
- $errors[] = [ $result ];
- } elseif ( $result instanceof MessageSpecifier ) {
- // A message specifier representing an error
- $errors[] = [ $result ];
- } elseif ( $result === false ) {
- // a generic "We don't want them to do that"
- $errors[] = [ 'badaccess-group0' ];
- }
- return $errors;
- }
-
/**
* Get a filtered list of all restriction types supported by this wiki.
* @param bool $exists True to get all restriction types that apply to
$this->mHasSubpages = false;
$subpages = $this->getSubpages( 1 );
if ( $subpages instanceof TitleArray ) {
- $this->mHasSubpages = (bool)$subpages->count();
+ $this->mHasSubpages = (bool)$subpages->current();
}
}
if ( $old->getId() === $new->getId() ) {
return ( $old_cmp === '>' && $new_cmp === '<' ) ?
[] :
- [ $old->getUserText( Revision::RAW ) ];
+ [ $old->getUserText( RevisionRecord::RAW ) ];
} elseif ( $old->getId() === $new->getParentId() ) {
if ( $old_cmp === '>=' && $new_cmp === '<=' ) {
- $authors[] = $old->getUserText( Revision::RAW );
- if ( $old->getUserText( Revision::RAW ) != $new->getUserText( Revision::RAW ) ) {
- $authors[] = $new->getUserText( Revision::RAW );
+ $authors[] = $oldUserText = $old->getUserText( RevisionRecord::RAW );
+ $newUserText = $new->getUserText( RevisionRecord::RAW );
+ if ( $oldUserText != $newUserText ) {
+ $authors[] = $newUserText;
}
} elseif ( $old_cmp === '>=' ) {
- $authors[] = $old->getUserText( Revision::RAW );
+ $authors[] = $old->getUserText( RevisionRecord::RAW );
} elseif ( $new_cmp === '<=' ) {
- $authors[] = $new->getUserText( Revision::RAW );
+ $authors[] = $new->getUserText( RevisionRecord::RAW );
}
return $authors;
}
* Get the timestamp when this page was updated since the user last saw it.
*
* @param User|null $user
- * @return string|null
+ * @return string|bool|null String timestamp, false if not watched, null if nothing is unseen
*/
public function getNotificationTimestamp( $user = null ) {
global $wgUser;