diff options
author | Derick Alangi <alangiderick@gmail.com> | 2021-09-08 15:37:45 +0100 |
---|---|---|
committer | Derick Alangi <alangiderick@gmail.com> | 2021-09-20 10:24:00 +0100 |
commit | b648efacc5edf4d39ae41ca8dcd9d0cd880fb0bd (patch) | |
tree | f5e5e24718cd62cd24e9d8a674155090105c29f8 /includes/editpage/TextboxBuilder.php | |
parent | be6e658c67879915622e1402a3e1cd7d832c75ca (diff) | |
download | mediawikicore-b648efacc5edf4d39ae41ca8dcd9d0cd880fb0bd.tar.gz mediawikicore-b648efacc5edf4d39ae41ca8dcd9d0cd880fb0bd.zip |
editpage: Replace usage of Title in TextboxBuilder::class
In order for us to keep backward compatibility, cast the page identity
back to a Title in: `buildTextboxAttribs()` and use within the code.
Change-Id: Ia55251ee7f730636d6e85bf069734ff462119f0d
Diffstat (limited to 'includes/editpage/TextboxBuilder.php')
-rw-r--r-- | includes/editpage/TextboxBuilder.php | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/includes/editpage/TextboxBuilder.php b/includes/editpage/TextboxBuilder.php index fabc05e6a197..bd9290c94da5 100644 --- a/includes/editpage/TextboxBuilder.php +++ b/includes/editpage/TextboxBuilder.php @@ -25,6 +25,7 @@ namespace MediaWiki\EditPage; use MediaWiki\MediaWikiServices; +use MediaWiki\Page\PageIdentity; use MediaWiki\User\UserIdentity; use Sanitizer; use Title; @@ -69,24 +70,25 @@ class TextboxBuilder { } /** - * @param Title $title + * @param PageIdentity $page * @return string[] */ - public function getTextboxProtectionCSSClasses( Title $title ) { + public function getTextboxProtectionCSSClasses( PageIdentity $page ) { $classes = []; // Textarea CSS - if ( $title->isProtected( 'edit' ) && - MediaWikiServices::getInstance()->getPermissionManager() - ->getNamespaceRestrictionLevels( $title->getNamespace() ) !== [ '' ] + $services = MediaWikiServices::getInstance(); + if ( $services->getRestrictionStore()->isProtected( $page, 'edit' ) && + $services->getPermissionManager() + ->getNamespaceRestrictionLevels( $page->getNamespace() ) !== [ '' ] ) { # Is the title semi-protected? - if ( $title->isSemiProtected() ) { + if ( $services->getRestrictionStore()->isSemiProtected( $page ) ) { $classes[] = 'mw-textarea-sprotected'; } else { # Then it must be protected based on static groups (regular) $classes[] = 'mw-textarea-protected'; } # Is the title cascade-protected? - if ( $title->isCascadeProtected() ) { + if ( $services->getRestrictionStore()->isCascadeProtected( $page ) ) { $classes[] = 'mw-textarea-cprotected'; } } @@ -98,10 +100,12 @@ class TextboxBuilder { * @param string $name * @param mixed[] $customAttribs * @param UserIdentity $user - * @param Title $title + * @param PageIdentity $page * @return mixed[] */ - public function buildTextboxAttribs( $name, array $customAttribs, UserIdentity $user, Title $title ) { + public function buildTextboxAttribs( + $name, array $customAttribs, UserIdentity $user, PageIdentity $page + ) { $attribs = $customAttribs + [ 'accesskey' => ',', 'id' => $name, @@ -129,6 +133,7 @@ class TextboxBuilder { $attribs['class'] = $class; } + $title = Title::castFromPageIdentity( $page ); $pageLang = $title->getPageLanguage(); $attribs['lang'] = $pageLang->getHtmlCode(); $attribs['dir'] = $pageLang->getDir(); |