}
public function needsToken() {
- return true;
- }
-
- public function getTokenSalt() {
- return '';
+ return 'csrf';
}
public function getAllowedParams( $flags = 0 ) {
'entirewatchlist' => array(
ApiBase::PARAM_TYPE => 'boolean'
),
- 'token' => null,
'timestamp' => array(
ApiBase::PARAM_TYPE => 'timestamp'
),
'timestamp' => 'Timestamp to which to set the notification timestamp',
'torevid' => 'Revision to set the notification timestamp to (one page only)',
'newerthanrevid' => 'Revision to set the notification timestamp newer than (one page only)',
- 'token' => 'A token previously acquired via prop=info',
'continue' => 'When more results are available, use this to continue',
);
}
- public function getResultProperties() {
- return array(
- ApiBase::PROP_LIST => true,
- ApiBase::PROP_ROOT => array(
- 'notificationtimestamp' => array(
- ApiBase::PROP_TYPE => 'timestamp',
- ApiBase::PROP_NULLABLE => true
- )
- ),
- '' => array(
- 'ns' => array(
- ApiBase::PROP_TYPE => 'namespace',
- ApiBase::PROP_NULLABLE => true
- ),
- 'title' => array(
- ApiBase::PROP_TYPE => 'string',
- ApiBase::PROP_NULLABLE => true
- ),
- 'pageid' => array(
- ApiBase::PROP_TYPE => 'integer',
- ApiBase::PROP_NULLABLE => true
- ),
- 'revid' => array(
- ApiBase::PROP_TYPE => 'integer',
- ApiBase::PROP_NULLABLE => true
- ),
- 'invalid' => 'boolean',
- 'missing' => 'boolean',
- 'notwatched' => 'boolean',
- 'notificationtimestamp' => array(
- ApiBase::PROP_TYPE => 'timestamp',
- ApiBase::PROP_NULLABLE => true
- )
- )
- );
- }
-
public function getDescription() {
return array( 'Update the notification timestamp for watched pages.',
'This affects the highlighting of changed pages in the watchlist and history,',
);
}
- public function getPossibleErrors() {
- $ps = $this->getPageSet();
-
- return array_merge(
- parent::getPossibleErrors(),
- $ps->getFinalPossibleErrors(),
- $this->getRequireMaxOneParameterErrorMessages(
- array( 'timestamp', 'torevid', 'newerthanrevid' ) ),
- $this->getRequireOnlyOneParameterErrorMessages(
- array_merge( array( 'entirewatchlist' ), array_keys( $ps->getFinalParams() ) ) ),
- array(
- array( 'code' => 'notloggedin', 'info'
- => 'Anonymous users cannot use watchlist change notifications' ),
- array( 'code' => 'multpages', 'info' => 'torevid may only be used with a single page' ),
- array( 'code' => 'multpages', 'info' => 'newerthanrevid may only be used with a single page' ),
- )
- );
- }
-
public function getExamples() {
return array(
'api.php?action=setnotificationtimestamp&entirewatchlist=&token=123ABC'