summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/UploadWizard/includes/ApiFlickrBlacklist.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/UploadWizard/includes/ApiFlickrBlacklist.php')
-rw-r--r--www/wiki/extensions/UploadWizard/includes/ApiFlickrBlacklist.php61
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',
+ ];
+ }
+}