diff options
Diffstat (limited to 'www/wiki/extensions/UploadWizard/includes/ApiFlickrBlacklist.php')
-rw-r--r-- | www/wiki/extensions/UploadWizard/includes/ApiFlickrBlacklist.php | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/www/wiki/extensions/UploadWizard/includes/ApiFlickrBlacklist.php b/www/wiki/extensions/UploadWizard/includes/ApiFlickrBlacklist.php new file mode 100644 index 00000000..c7b0e2a9 --- /dev/null +++ b/www/wiki/extensions/UploadWizard/includes/ApiFlickrBlacklist.php @@ -0,0 +1,61 @@ +<?php + +/** + * API module to fetch blacklisting details of a flickr image + * + * @since 1.2 + * + * @file ApiFlickrBlacklist.php + * @ingroup Upload + * @ingroup API + * + * @license GPL-2.0-or-later + * @author Nischay Nahata <nischayn22@gmail.com> + */ +class ApiFlickrBlacklist extends ApiBase { + public function execute() { + $params = $this->extractRequestParams(); + $this->requireOnlyOneParameter( $params, 'url', 'list' ); + + $flickrBlacklist = new UploadWizardFlickrBlacklist( UploadWizardConfig::getConfig(), + $this->getContext() ); + + if ( $params['list'] ) { + $list = $flickrBlacklist->getBlacklist(); + $this->getResult()->setIndexedTagName( $list, 'item' ); + $this->getResult()->addValue( 'flickrblacklist', 'list', $list ); + } + + if ( !is_null( $params['url'] ) ) { + if ( $flickrBlacklist->isBlacklisted( $params['url'] ) ) { + $this->getResult()->addValue( 'flickrblacklist', 'result', 'bad' ); + } else { + $this->getResult()->addValue( 'flickrblacklist', 'result', 'ok' ); + } + } + } + + public function getAllowedParams() { + return [ + 'url' => [ + ApiBase::PARAM_TYPE => 'string', + ], + 'list' => [ + ApiBase::PARAM_TYPE => 'boolean', + ApiBase::PARAM_DFLT => false, + ], + ]; + } + + /** + * @inheritDoc + */ + protected function getExamplesMessages() { + return [ + 'action=flickrblacklist&url=http%3A//farm1.staticflickr.com/44/147426941_98baf36fd1_o.jpg' + => 'apihelp-flickrblacklist-example-1', + 'action=flickrblacklist&list=' + => 'apihelp-flickrblacklist-example-2', + ]; + } +} |