diff options
author | Yaco <franco@reevo.org> | 2020-06-04 11:01:00 -0300 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2020-06-04 11:01:00 -0300 |
commit | fc7369835258467bf97eb64f184b93691f9a9fd5 (patch) | |
tree | daabd60089d2dd76d9f5fb416b005fbe159c799d /bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionPatroller.php |
first commit
Diffstat (limited to 'bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionPatroller.php')
-rw-r--r-- | bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionPatroller.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionPatroller.php b/bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionPatroller.php new file mode 100644 index 00000000..e642fd96 --- /dev/null +++ b/bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionPatroller.php @@ -0,0 +1,47 @@ +<?php + +namespace Mediawiki\Api\Service; + +use Mediawiki\Api\SimpleRequest; +use Mediawiki\DataModel\Revision; + +/** + * @access private + * + * @author Addshore + */ +class RevisionPatroller extends Service { + + /** + * @since 0.3 + * + * @param Revision $revision + * + * @return bool success + */ + public function patrol( Revision $revision ) { + $this->api->postRequest( new SimpleRequest( + 'patrol', [ + 'revid' => $revision->getId(), + 'token' => $this->getTokenForRevision( $revision ), + ] ) ); + return true; + } + + /** + * @param Revision $revision + * + * @returns string + */ + private function getTokenForRevision( Revision $revision ) { + $result = $this->api->postRequest( new SimpleRequest( 'query', [ + 'list' => 'recentchanges', + 'rcstart' => $revision->getTimestamp(), + 'rcend' => $revision->getTimestamp(), + 'rctoken' => 'patrol', + ] ) ); + $result = array_shift( $result['query']['recentchanges'] ); + return $result['patroltoken']; + } + +} |