diff options
author | Yaco <franco@reevo.org> | 2021-10-19 20:42:50 -0300 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2021-10-19 20:42:50 -0300 |
commit | 1dc109c979d7788e8811b4eecfb8bfdf3b6ea6e2 (patch) | |
tree | 21d2a3bd6706af9eeb3e9d1def5a6ab8d8a67e93 /bin/reevotech/vendor/addwiki/mediawiki-api/src/Service/PageWatcher.php | |
parent | 8c201ace3699b4928daf41eb7b4cdcb4565c6f3b (diff) |
adds reevotech scripts
Diffstat (limited to 'bin/reevotech/vendor/addwiki/mediawiki-api/src/Service/PageWatcher.php')
-rw-r--r-- | bin/reevotech/vendor/addwiki/mediawiki-api/src/Service/PageWatcher.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bin/reevotech/vendor/addwiki/mediawiki-api/src/Service/PageWatcher.php b/bin/reevotech/vendor/addwiki/mediawiki-api/src/Service/PageWatcher.php new file mode 100644 index 00000000..e7afab17 --- /dev/null +++ b/bin/reevotech/vendor/addwiki/mediawiki-api/src/Service/PageWatcher.php @@ -0,0 +1,37 @@ +<?php + +namespace Mediawiki\Api\Service; + +use Mediawiki\Api\SimpleRequest; +use Mediawiki\DataModel\Page; + +/** + * @access private + * + * @author Addshore + */ +class PageWatcher extends Service { + + /** + * @param Page $page + * + * @return bool + */ + public function watch( Page $page ) { + $params = [ + 'token' => $this->api->getToken( 'watch' ), + ]; + if ( !is_null( $page->getPageIdentifier()->getId() ) ) { + $params['pageids'] = $page->getPageIdentifier()->getId(); + } elseif ( !is_null( $page->getPageIdentifier()->getTitle() ) ) { + $params['titles'] = $page->getPageIdentifier()->getTitle()->getTitle(); + } elseif ( !is_null( $page->getRevisions()->getLatest() ) ) { + $params['revids'] = $page->getRevisions()->getLatest()->getId(); + } + + $this->api->postRequest( new SimpleRequest( 'watch', $params ) ); + + return true; + } + +} |