diff --git a/LinkTitles.body.php b/LinkTitles.body.php index 55e8e68..9d55930 100755 --- a/LinkTitles.body.php +++ b/LinkTitles.body.php @@ -298,6 +298,23 @@ }; // foreach $res as $row return true; } + + /// Automatically processes a single page, given a $title Title object. + /// This function is called by the SpecialLinkTitles class and the + /// LinkTitlesJob class. + public static function processPage($title, $context) { + // TODO: make this namespace-aware + $titleObj = Title::makeTitle(0, $title); + $page = WikiPage::factory($titleObj); + $article = Article::newFromWikiPage($page, $context); + $text = $article->getContent(); + LinkTitles::parseContent($article, $text); + $content = new WikitextContent($text); + $page->doEditContent($content, + "Parsed for page titles by LinkTitles bot.", + EDIT_MINOR | EDIT_FORCE_BOT + ); + } /// Remove the magic words that this extension introduces from the /// $text, so that they do not appear on the rendered page. diff --git a/SpecialLinkTitles.php b/SpecialLinkTitles.php index 75680a7..5689076 100644 --- a/SpecialLinkTitles.php +++ b/SpecialLinkTitles.php @@ -119,7 +119,7 @@ class SpecialLinkTitles extends SpecialPage { // Iterate through the pages; break if a time limit is exceeded. foreach ( $res as $row ) { $curTitle = $row->page_title; - $this->processPage($curTitle); + LinkTitles::processPage($curTitle, $this->getContext()); $start += 1; // Check if the time limit is exceeded @@ -147,21 +147,6 @@ class SpecialLinkTitles extends SpecialPage { } } - /// Processes a single page, given a $title Title object. - private function processPage($title) { - // TODO: make this namespace-aware - $titleObj = Title::makeTitle(0, $title); - $page = WikiPage::factory($titleObj); - $article = Article::newFromWikiPage($page, $this->getContext()); - $text = $article->getContent(); - LinkTitles::parseContent($article, $text); - $content = new WikitextContent($text); - $page->doEditContent($content, - "Parsed for page titles by LinkTitles bot.", - EDIT_MINOR | EDIT_FORCE_BOT - ); - - } /// Adds WikiText to the output containing information about the extension /// and a form and button to start linking.