Page MenuHomeWickedGov Phorge

ParametersHelper.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

ParametersHelper.php

<?php
namespace MediaWiki\EditPage;
use MediaWiki\Context\RequestContext;
use MediaWiki\Page\PageIdentity;
use MediaWiki\Permissions\Authority;
use MediaWiki\SpecialPage\SpecialPageFactory;
use MediaWiki\Specials\SpecialMyLanguage;
use MediaWiki\Title\Title;
/**
* Helper methods for resolving EditPage parameters that deal with page titles.
*
* @internal
* @property SpecialPageFactory $specialPageFactory
*/
trait ParametersHelper {
/**
* If the given Title is Special:MyLanguage/Foo, resolve the language chain for the
* actual target title desired.
*
* @param ?Title $title
* @return ?Title
*/
private function getTargetTitleIfSpecialMyLanguage( ?Title $title ): ?Title {
if ( $title && $title->isSpecialPage() ) {
[ $spName, $spParam ] = $this->specialPageFactory->resolveAlias( $title->getText() );
if ( $spName ) {
$specialPage = $this->specialPageFactory->getPage( $spName );
if ( $specialPage instanceof SpecialMyLanguage ) {
// TODO This should pass a language as a parameter, instead of the whole context
$specialPage->setContext( RequestContext::getMain() );
$title = $specialPage->findTitleForTransclusion( $spParam );
}
}
}
return $title;
}
/**
* Verify if a given title exists and the given user is allowed to view it
*
* @param PageIdentity|null $page
* @param Authority $performer
* @return bool
* @phan-assert-true-condition $page
*/
private function isPageExistingAndViewable( ?PageIdentity $page, Authority $performer ): bool {
return $page && $page->exists() && $performer->authorizeRead( 'read', $page );
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, May 16, 13:17 (1 d, 17 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
43/da/893bfccf866fab460730611fb37b
Default Alt Text
ParametersHelper.php (1 KB)

Event Timeline