API: Overhaul ApiResult, make format=xml not throw, and add json formatversion
[lhc/web/wiklou.git] / includes / api / ApiSetNotificationTimestamp.php
index 5d37e20..e41ee07 100644 (file)
@@ -46,7 +46,8 @@ class ApiSetNotificationTimestamp extends ApiBase {
                $params = $this->extractRequestParams();
                $this->requireMaxOneParameter( $params, 'timestamp', 'torevid', 'newerthanrevid' );
 
-               $this->getResult()->beginContinuation( $params['continue'], array(), array() );
+               $continuationManager = new ApiContinuationManager( $this, array(), array() );
+               $this->setContinuationManager( $continuationManager );
 
                $pageSet = $this->getPageSet();
                if ( $params['entirewatchlist'] && $pageSet->getDataSource() !== null ) {
@@ -73,7 +74,8 @@ class ApiSetNotificationTimestamp extends ApiBase {
                        }
                        $title = reset( $pageSet->getGoodTitles() );
                        if ( $title ) {
-                               $timestamp = Revision::getTimestampFromId( $title, $params['torevid'] );
+                               $timestamp = Revision::getTimestampFromId(
+                                       $title, $params['torevid'], Revision::READ_LATEST );
                                if ( $timestamp ) {
                                        $timestamp = $dbw->timestamp( $timestamp );
                                } else {
@@ -86,7 +88,8 @@ class ApiSetNotificationTimestamp extends ApiBase {
                        }
                        $title = reset( $pageSet->getGoodTitles() );
                        if ( $title ) {
-                               $revid = $title->getNextRevisionID( $params['newerthanrevid'] );
+                               $revid = $title->getNextRevisionID(
+                                       $params['newerthanrevid'], Title::GAID_FOR_UPDATE );
                                if ( $revid ) {
                                        $timestamp = $dbw->timestamp( Revision::getTimestampFromId( $title, $revid ) );
                                } else {
@@ -174,11 +177,12 @@ class ApiSetNotificationTimestamp extends ApiBase {
                                }
                        }
 
-                       $apiResult->setIndexedTagName( $result, 'page' );
+                       ApiResult::setIndexedTagName( $result, 'page' );
                }
                $apiResult->addValue( null, $this->getModuleName(), $result );
 
-               $apiResult->endContinuation();
+               $this->setContinuationManager( null );
+               $continuationManager->setContinuationIntoResult( $apiResult );
        }
 
        /**