mDescription = 'Outputs page text to stdout'; $this->addOption( 'show-private', 'Show the text even if it\'s not available to the public' ); $this->addArg( 'title', 'Page title' ); } public function execute() { $this->db = wfGetDB( DB_SLAVE ); $titleText = $this->getArg( 0 ); $title = Title::newFromText( $titleText ); if ( !$title ) { $this->error( "$titleText is not a valid title.\n", true ); } $rev = Revision::newFromTitle( $title ); if ( !$rev ) { $titleText = $title->getPrefixedText(); $this->error( "Page $titleText does not exist.\n", true ); } $content = $rev->getContent( $this->hasOption( 'show-private' ) ? Revision::RAW : Revision::FOR_PUBLIC ); if ( $content === false ) { $titleText = $title->getPrefixedText(); $this->error( "Couldn't extract the text from $titleText.\n", true ); } $this->output( $content->serialize() ); } } $maintClass = "GetTextMaint"; require_once RUN_MAINTENANCE_IF_MAIN;