aboutsummaryrefslogtreecommitdiffstats
path: root/includes/editpage/TextboxBuilder.php
diff options
context:
space:
mode:
authorDerick Alangi <alangiderick@gmail.com>2021-09-08 15:37:45 +0100
committerDerick Alangi <alangiderick@gmail.com>2021-09-20 10:24:00 +0100
commitb648efacc5edf4d39ae41ca8dcd9d0cd880fb0bd (patch)
treef5e5e24718cd62cd24e9d8a674155090105c29f8 /includes/editpage/TextboxBuilder.php
parentbe6e658c67879915622e1402a3e1cd7d832c75ca (diff)
downloadmediawikicore-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.php23
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();