merged from master
authordaniel <daniel.kinzler@wikimedia.de>
Sun, 29 Apr 2012 19:41:03 +0000 (21:41 +0200)
committerdaniel <daniel.kinzler@wikimedia.de>
Sun, 29 Apr 2012 19:41:03 +0000 (21:41 +0200)
14 files changed:
1  2 
docs/hooks.txt
includes/AutoLoader.php
includes/DefaultSettings.php
includes/EditPage.php
includes/ImagePage.php
includes/Title.php
includes/WikiPage.php
includes/api/ApiDelete.php
includes/api/ApiEditPage.php
includes/api/ApiParse.php
includes/resourceloader/ResourceLoaderWikiModule.php
languages/messages/MessagesEn.php
maintenance/refreshLinks.php
tests/phpunit/phpunit.php

diff --cc docs/hooks.txt
Simple merge
Simple merge
Simple merge
@@@ -1090,14 -985,8 +1085,13 @@@ class EditPage 
                                return true;
  
                        case self::AS_HOOK_ERROR:
-                       case self::AS_FILTERING:
                                return false;
  
 +                      case self::AS_PARSE_ERROR:
 +                              $wgOut->addWikiText( '<div class="error">' . $status->getWikiText() . '</div>');
 +                              #FIXME: cause editform to be shown again, not just an error!
 +                              return false;
 +
                        case self::AS_SUCCESS_NEW_ARTICLE:
                                $query = $resultDetails['redirect'] ? 'redirect=no' : '';
                                $anchor = isset ( $resultDetails['sectionanchor'] ) ? $resultDetails['sectionanchor'] : '';
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -328,9 -328,11 +328,12 @@@ class ApiParse extends ApiBase 
                        // Try the parser cache first
                        // getParserOutput will save to Parser cache if able
                        $pout = $page->getParserOutput( $popts );
+                       if ( !$pout ) {
+                               $this->dieUsage( "There is no revision ID {$page->getLatest()}", 'missingrev' );
+                       }
                        if ( $getWikitext ) {
 -                              $this->text = $page->getRawText();
 +                $this->content = $page->getContent( Revision::RAW ); #FIXME: use $this->content everywhere
 +                              $this->text = ContentHandler::getContentText( $this->content ); #FIXME: serialize, get format from params; or use object structure in result?
                        }
                        return $pout;
                }
Simple merge
@@@ -212,8 -210,8 +210,8 @@@ class RefreshLinks extends Maintenance 
                        return;
                }
  
-               $revision = Revision::newFromTitle( $title );
-               if ( !$revision ) {
 -              $text = $page->getRawText();
 -              if ( $text === false ) {
++              $content = $page->getContent( REVISION::RAW );
++              if ( null === false ) {
                        return;
                }
  
                $dbw->begin( __METHOD__ );
  
                $options = ParserOptions::newFromUserAndLang( new User, $wgContLang );
-               $parserOutput = $wgParser->parse( $revision->getText(), $title, $options, true, true, $revision->getId() );
 -              $parserOutput = $wgParser->parse( $text, $page->getTitle(), $options, true, true, $page->getLatest() );
 -              $update = new LinksUpdate( $page->getTitle(), $parserOutput, false );
 -              $update->doUpdate();
++              $context = RequestContext::getMain();
++
++              $parserOutput = $content->getParserOutput( $context, $page->getLatest(), $options, false );
 +
-         $updates = $parserOutput->getSecondaryDataUpdates( $title, false );
-         SecondaryDataUpdate::runUpdates( $updates );
++              $updates = $parserOutput->getSecondaryDataUpdates( $page->getTitle(), false );
++              SecondaryDataUpdate::runUpdates( $updates );
  
-         $dbw->commit();
-         // TODO: We don't know what happens here.
-               $update = new LinksUpdate( $title, $parserOutput, false );
-               $update->doUpdate();
                $dbw->commit( __METHOD__ );
        }