diff --git a/includes/Extension.php b/includes/Extension.php index a679d78..2a78e6e 100644 --- a/includes/Extension.php +++ b/includes/Extension.php @@ -46,23 +46,18 @@ class Extension { public static function onMultiContentSave( RenderedRevision $renderedRevision, User $user, CommentStoreComment $summary, $flags, Status $hookStatus ) { $config = new Config(); if ( !$config->parseOnEdit ) return true; - $title = $renderedRevision->getRevision()->getPageAsLinkTarget(); - $slots = $renderedRevision->getRevision()->getSlots(); - $content = $renderedRevision->getRevision()->getSlots()->getContent( SlotRecord::MAIN ); - $articleID = $renderedRevision->getRevision()->getPageId(); - $wikiPage = WikiPage::newFromID( $articleID ); - if ( $wikiPage == null ) { - return true; - } + + $revision = $renderedRevision->getRevision(); + $slots = $revision->getSlots(); + $content = $slots->getContent( SlotRecord::MAIN ); + + $wikiPage = WikiPage::factory( $title ); $source = Source::createFromPageandContent( $wikiPage, $content, $config ); $linker = new Linker( $config ); $result = $linker->linkContent( $source ); if ( $result ) { - $source->setText( $result ); - - $text = $source->getText($result); - $slots = $renderedRevision->getRevision()->getSlots(); - $slots->setContent( 'main', ContentHandler::makeContent( $text, $title ) ); + $content = $source->setText( $result ); + $slots->setContent( 'main', $content ); } return true;