mirror of
				https://github.com/diocloid/LinkTitles.git
				synced 2025-10-22 05:42:32 +02:00 
			
		
		
		
	Fix page option in maintenance script.
- Fix: Maintenance script would crash if invoked with the --page option. Closes #13.
This commit is contained in:
		@@ -111,11 +111,16 @@ class Cli extends \Maintenance {
 | 
			
		||||
        $pagename = strval($this->getOption('page'));
 | 
			
		||||
        if ($pagename != null)
 | 
			
		||||
        {
 | 
			
		||||
           
 | 
			
		||||
            $curTitle = Title::newFromDBkey( $pagename );            
 | 
			
		||||
            LinkTitles::processPage($curTitle,RequestContext::getMain() );
 | 
			
		||||
            $this->output("\nFinished parsing.\n");
 | 
			
		||||
            return;
 | 
			
		||||
						$this->output( 'Processing single page: ' . $pagename);
 | 
			
		||||
						$title = \Title::newFromText( $pagename );
 | 
			
		||||
						$success = Extension::processPage( $title, \RequestContext::getMain() );
 | 
			
		||||
						if ( $success ) {
 | 
			
		||||
							$this->output( "\nFinished parsing.\n" );
 | 
			
		||||
						}
 | 
			
		||||
						else {
 | 
			
		||||
							$this->output( "\nError: There is no such page.\n" );
 | 
			
		||||
						}
 | 
			
		||||
						return $success;
 | 
			
		||||
        }
 | 
			
		||||
        // get our Namespaces
 | 
			
		||||
        $namespacesClause = str_replace( '_', ' ','(' . implode( ', ',$wgLinkTitlesNamespaces ) . ')' );
 | 
			
		||||
@@ -150,7 +155,7 @@ class Cli extends \Maintenance {
 | 
			
		||||
			Extension::processPage($curTitle, $context);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$this->output("\nFinished parsing.\n");
 | 
			
		||||
		$this->output("\rFinished parsing.                      \n");
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -248,26 +248,32 @@ class Extension {
 | 
			
		||||
	/// Automatically processes a single page, given a $title Title object.
 | 
			
		||||
	/// This function is called by the SpecialLinkTitles class and the 
 | 
			
		||||
	/// LinkTitlesJob class.
 | 
			
		||||
	/// @param string $title            Page title.
 | 
			
		||||
	/// @param RequestContext $context  Current context. 
 | 
			
		||||
	/// @param Title 					$title            Title object.
 | 
			
		||||
	/// @param RequestContext $context					Current request context. 
 | 
			
		||||
	///                  If in doubt, call MediaWiki's `RequestContext::getMain()`
 | 
			
		||||
	///                  to obtain such an object.
 | 
			
		||||
	/// @returns undefined
 | 
			
		||||
	public static function processPage( $title, \RequestContext $context ) {
 | 
			
		||||
		$titleObj = \Title::makeTitle(0, $title);
 | 
			
		||||
		self::ltLog('Processing '. $titleObj->getPrefixedText());
 | 
			
		||||
		$page = \WikiPage::factory($titleObj);
 | 
			
		||||
	/// @returns boolean True if the page exists, false if the page does not exist
 | 
			
		||||
	public static function processPage( \Title $title, \RequestContext $context ) {
 | 
			
		||||
		self::ltLog('Processing '. $title->getPrefixedText());
 | 
			
		||||
		$page = \WikiPage::factory($title);
 | 
			
		||||
		$content = $page->getContent();
 | 
			
		||||
		$text = $content->getContentHandler()->serializeContent($content);
 | 
			
		||||
		$newText = self::parseContent($titleObj, $text);
 | 
			
		||||
		if ( $text != $newText ) {
 | 
			
		||||
			$content = $content->getContentHandler()->unserializeContent( $newText );
 | 
			
		||||
			$page->doQuickEditContent($content,
 | 
			
		||||
				$context->getUser(),
 | 
			
		||||
				"Links to existing pages added by LinkTitles bot.", // TODO: i18n
 | 
			
		||||
				true // minor modification
 | 
			
		||||
			);
 | 
			
		||||
		};
 | 
			
		||||
		if ( $content != null ) {
 | 
			
		||||
			$text = $content->getContentHandler()->serializeContent($content);
 | 
			
		||||
			$newText = self::parseContent($title, $text);
 | 
			
		||||
			if ( $text != $newText ) {
 | 
			
		||||
				$content = $content->getContentHandler()->unserializeContent( $newText );
 | 
			
		||||
				$page->doQuickEditContent(
 | 
			
		||||
					$content,
 | 
			
		||||
					$context->getUser(),
 | 
			
		||||
					"Links to existing pages added by LinkTitles bot.", // TODO: i18n
 | 
			
		||||
					true // minor modification
 | 
			
		||||
				);
 | 
			
		||||
			};
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/// Adds the two magic words defined by this extension to the list of 
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user