diff options
Diffstat (limited to 'bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionRestorer.php')
-rw-r--r-- | bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionRestorer.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionRestorer.php b/bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionRestorer.php new file mode 100644 index 00000000..fb82c252 --- /dev/null +++ b/bin/wiki/vendor/addwiki/mediawiki-api/src/Service/RevisionRestorer.php @@ -0,0 +1,39 @@ +<?php + +namespace Mediawiki\Api\Service; + +use Mediawiki\Api\SimpleRequest; +use Mediawiki\DataModel\Revision; + +/** + * @access private + * + * @author Addshore + */ +class RevisionRestorer extends Service { + + /** + * @since 0.5 + * + * @param Revision $revision + * + * @return bool + */ + public function restore( Revision $revision ) { + $params = [ + 'type' => 'revision', + 'show' => 'content', + // Note: pre 1.24 this is a delete token, post it is csrf + 'token' => $this->api->getToken( 'delete' ), + 'ids' => $revision->getId(), + ]; + + $this->api->postRequest( new SimpleRequest( + 'revisiondelete', + $params + ) ); + + return true; + } + +} |