*/
public static function getInvalidTitleDescription( IContextSource $context, $namespace, $title ) {
// First we check whether the namespace exists or not.
- if ( MWNamespace::exists( $namespace ) ) {
+ if ( MediaWikiServices::getInstance()->getNamespaceInfo()->exists( $namespace ) ) {
if ( $namespace == NS_MAIN ) {
$name = $context->msg( 'blanknamespace' )->text();
} else {
* @since 1.16.3. $altUserName was added in 1.19.
*/
public static function userLink( $userId, $userName, $altUserName = false ) {
+ if ( $userName === '' ) {
+ wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' .
+ 'that need to be fixed?' );
+ return wfMessage( 'empty-username' )->parse();
+ }
+
$classes = 'mw-userlink';
$page = null;
if ( $userId == 0 ) {
$userId, $userText, $redContribsWhenNoEdits = false, $flags = 0, $edits = null,
$useParentheses = true
) {
+ if ( $userText === '' ) {
+ wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' .
+ 'that need to be fixed?' );
+ return ' ' . wfMessage( 'empty-username' )->parse();
+ }
+
global $wgUser, $wgDisableAnonTalk, $wgLang;
$talkable = !( $wgDisableAnonTalk && $userId == 0 );
$blockable = !( $flags & self::TOOL_LINKS_NOBLOCK );
* @return string HTML fragment with user talk link
*/
public static function userTalkLink( $userId, $userText ) {
+ if ( $userText === '' ) {
+ wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' .
+ 'that need to be fixed?' );
+ return wfMessage( 'empty-username' )->parse();
+ }
+
$userTalkPage = new TitleValue( NS_USER_TALK, strtr( $userText, ' ', '_' ) );
$moreLinkAttribs['class'] = 'mw-usertoollinks-talk';
* @return string HTML fragment with block link
*/
public static function blockLink( $userId, $userText ) {
+ if ( $userText === '' ) {
+ wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' .
+ 'that need to be fixed?' );
+ return wfMessage( 'empty-username' )->parse();
+ }
+
$blockPage = SpecialPage::getTitleFor( 'Block', $userText );
$moreLinkAttribs['class'] = 'mw-usertoollinks-block';
* @return string HTML fragment with e-mail user link
*/
public static function emailLink( $userId, $userText ) {
+ if ( $userText === '' ) {
+ wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' .
+ 'that need to be fixed?' );
+ return wfMessage( 'empty-username' )->parse();
+ }
+
$emailPage = SpecialPage::getTitleFor( 'Emailuser', $userText );
$moreLinkAttribs['class'] = 'mw-usertoollinks-mail';
return self::link( $emailPage,
$sectionText = str_replace( '[[', '[[', $auto );
$section = substr( Parser::guessSectionNameFromStrippedText( $section ), 1 );
+ // Support: HHVM (T222857)
+ // The guessSectionNameFromStrippedText method returns a non-empty string
+ // that starts with "#". Before PHP 7 (and still on HHVM) substr() would
+ // return false if the start offset is the end of the string.
+ // On PHP 7+, it gracefully returns empty string instead.
+ if ( $section === false ) {
+ $section = '';
+ }
if ( $local ) {
$sectionTitle = new TitleValue( NS_MAIN, '', $section );
} else {
([^[]*) # 3. link trail (the text up until the next link)
/x',
function ( $match ) use ( $title, $local, $wikiId ) {
- $medians = '(?:' . preg_quote( MWNamespace::getCanonicalName( NS_MEDIA ), '/' ) . '|';
+ $services = MediaWikiServices::getInstance();
+
+ $medians = '(?:';
+ $medians .= preg_quote(
+ $services->getNamespaceInfo()->getCanonicalName( NS_MEDIA ), '/' );
+ $medians .= '|';
$medians .= preg_quote(
MediaWikiServices::getInstance()->getContentLanguage()->getNsText( NS_MEDIA ),
'/'
$wikiId,
$linkTarget->getNamespace() === 0
? $linkTarget->getDBkey()
- : MWNamespace::getCanonicalName( $linkTarget->getNamespace() ) . ':'
- . $linkTarget->getDBkey(),
+ : MediaWikiServices::getInstance()->getNamespaceInfo()->
+ getCanonicalName( $linkTarget->getNamespace() ) .
+ ':' . $linkTarget->getDBkey(),
$linkTarget->getFragment()
),
$text,
# Some namespaces don't allow subpages,
# so only perform processing if subpages are allowed
- if ( $contextTitle && MWNamespace::hasSubpages( $contextTitle->getNamespace() ) ) {
+ if (
+ $contextTitle && MediaWikiServices::getInstance()->getNamespaceInfo()->
+ hasSubpages( $contextTitle->getNamespace() )
+ ) {
$hash = strpos( $target, '#' );
if ( $hash !== false ) {
$suffix = substr( $target, $hash );