X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fcontent%2FWikitextContent.php;h=8e5e0a83053f2a40ec25ff00562b87d44e98132f;hb=a89f844919271da2e7c4d2a540de6d0f516d845a;hp=517d807867fdff73c78b38466b9c8ed3d28627e0;hpb=c984a1f2f8e9f409bdf7d8464447bfe39c8bc178;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/content/WikitextContent.php b/includes/content/WikitextContent.php index 517d807867..8e5e0a8305 100644 --- a/includes/content/WikitextContent.php +++ b/includes/content/WikitextContent.php @@ -59,10 +59,9 @@ class WikitextContent extends TextContent { * @see Content::getSection() */ public function getSection( $sectionId ) { - global $wgParser; - - $text = $this->getNativeData(); - $sect = $wgParser->getSection( $text, $sectionId, false ); + $text = $this->getText(); + $sect = MediaWikiServices::getInstance()->getParser() + ->getSection( $text, $sectionId, false ); if ( $sect === false ) { return false; @@ -91,8 +90,8 @@ class WikitextContent extends TextContent { "section uses $sectionModelId." ); } - $oldtext = $this->getNativeData(); - $text = $with->getNativeData(); + $oldtext = $this->getText(); + $text = $with->getText(); if ( strval( $sectionId ) === '' ) { return $with; # XXX: copy first? @@ -109,9 +108,8 @@ class WikitextContent extends TextContent { } } else { # Replacing an existing section; roll out the big guns - global $wgParser; - - $text = $wgParser->replaceSection( $oldtext, $sectionId, $text ); + $text = MediaWikiServices::getInstance()->getParser() + ->replaceSection( $oldtext, $sectionId, $text ); } $newContent = new static( $text ); @@ -131,7 +129,7 @@ class WikitextContent extends TextContent { $text = wfMessage( 'newsectionheaderdefaultlevel' ) ->rawParams( $header )->inContentLanguage()->text(); $text .= "\n\n"; - $text .= $this->getNativeData(); + $text .= $this->getText(); return new static( $text ); } @@ -147,10 +145,10 @@ class WikitextContent extends TextContent { * @return Content */ public function preSaveTransform( Title $title, User $user, ParserOptions $popts ) { - global $wgParser; + $text = $this->getText(); - $text = $this->getNativeData(); - $pst = $wgParser->preSaveTransform( $text, $title, $user, $popts ); + $parser = MediaWikiServices::getInstance()->getParser(); + $pst = $parser->preSaveTransform( $text, $title, $user, $popts ); if ( $text === $pst ) { return $this; @@ -158,7 +156,7 @@ class WikitextContent extends TextContent { $ret = new static( $pst ); - if ( $wgParser->getOutput()->getFlag( 'user-signature' ) ) { + if ( $parser->getOutput()->getFlag( 'user-signature' ) ) { $ret->hadSignature = true; } @@ -176,10 +174,9 @@ class WikitextContent extends TextContent { * @return Content */ public function preloadTransform( Title $title, ParserOptions $popts, $params = [] ) { - global $wgParser; - - $text = $this->getNativeData(); - $plt = $wgParser->getPreloadText( $text, $title, $popts, $params ); + $text = $this->getText(); + $plt = MediaWikiServices::getInstance()->getParser() + ->getPreloadText( $text, $title, $popts, $params ); return new static( $plt ); } @@ -202,12 +199,12 @@ class WikitextContent extends TextContent { if ( $wgMaxRedirects < 1 ) { // redirects are disabled, so quit early - $this->redirectTargetAndText = [ null, $this->getNativeData() ]; + $this->redirectTargetAndText = [ null, $this->getText() ]; return $this->redirectTargetAndText; } $redir = MediaWikiServices::getInstance()->getMagicWordFactory()->get( 'redirect' ); - $text = ltrim( $this->getNativeData() ); + $text = ltrim( $this->getText() ); if ( $redir->matchStartAndRemove( $text ) ) { // Extract the first link and see if it's usable // Ensure that it really does come directly after #REDIRECT @@ -223,7 +220,7 @@ class WikitextContent extends TextContent { $title = Title::newFromText( $m[1] ); // If the title is a redirect to bad special pages or is invalid, return null if ( !$title instanceof Title || !$title->isValidRedirectTarget() ) { - $this->redirectTargetAndText = [ null, $this->getNativeData() ]; + $this->redirectTargetAndText = [ null, $this->getText() ]; return $this->redirectTargetAndText; } @@ -232,7 +229,7 @@ class WikitextContent extends TextContent { } } - $this->redirectTargetAndText = [ null, $this->getNativeData() ]; + $this->redirectTargetAndText = [ null, $this->getText() ]; return $this->redirectTargetAndText; } @@ -271,7 +268,7 @@ class WikitextContent extends TextContent { # so the regex has to be fairly general $newText = preg_replace( '/ \[ \[ [^\]]* \] \] /x', '[[' . $target->getFullText() . ']]', - $this->getNativeData(), 1 ); + $this->getText(), 1 ); return new static( $newText ); } @@ -329,10 +326,10 @@ class WikitextContent extends TextContent { /** * Returns a ParserOutput object resulting from parsing the content's text - * using $wgParser. + * using the global Parser service. * * @param Title $title - * @param int $revId Revision to pass to the parser (default: null) + * @param int|null $revId Revision to pass to the parser (default: null) * @param ParserOptions $options (default: null) * @param bool $generateHtml (default: true) * @param ParserOutput &$output ParserOutput representing the HTML form of the text, @@ -341,8 +338,6 @@ class WikitextContent extends TextContent { protected function fillParserOutput( Title $title, $revId, ParserOptions $options, $generateHtml, ParserOutput &$output ) { - global $wgParser; - $stackTrace = ( new RuntimeException() )->getTraceAsString(); if ( $this->previousParseStackTrace ) { // NOTE: there may be legitimate changes to re-parse the same WikiText content, @@ -366,7 +361,8 @@ class WikitextContent extends TextContent { $this->previousParseStackTrace = $stackTrace; list( $redir, $text ) = $this->getRedirectTargetAndText(); - $output = $wgParser->parse( $text, $title, $options, true, true, $revId ); + $output = MediaWikiServices::getInstance()->getParser() + ->parse( $text, $title, $options, true, true, $revId ); // Add redirect indicator at the top if ( $redir ) { @@ -408,7 +404,7 @@ class WikitextContent extends TextContent { * @see Content::matchMagicWord() */ public function matchMagicWord( MagicWord $word ) { - return $word->match( $this->getNativeData() ); + return $word->match( $this->getText() ); } }