Merge "Use WatchedItemStore in ApiQueryInfo::getWatchedInfo"
[lhc/web/wiklou.git] / includes / api / ApiQueryStashImageInfo.php
index 229e158..b039a1e 100644 (file)
@@ -32,6 +32,10 @@ class ApiQueryStashImageInfo extends ApiQueryImageInfo {
        }
 
        public function execute() {
+               if ( !$this->getUser()->isLoggedIn() ) {
+                       $this->dieUsage( 'You must be logged-in to have an upload stash', 'notloggedin' );
+               }
+
                $params = $this->extractRequestParams();
                $modulePrefix = $this->getModulePrefix();
 
@@ -42,7 +46,7 @@ class ApiQueryStashImageInfo extends ApiQueryImageInfo {
                $result = $this->getResult();
 
                if ( !$params['filekey'] && !$params['sessionkey'] ) {
-                       $this->dieUsage( "One of filekey or sessionkey must be supplied", 'nofilekey' );
+                       $this->dieUsage( 'One of filekey or sessionkey must be supplied', 'nofilekey' );
                }
 
                // Alias sessionkey to filekey, but give an existing filekey precedence.
@@ -57,67 +61,67 @@ class ApiQueryStashImageInfo extends ApiQueryImageInfo {
                                $file = $stash->getFile( $filekey );
                                $finalThumbParam = $this->mergeThumbParams( $file, $scale, $params['urlparam'] );
                                $imageInfo = ApiQueryImageInfo::getInfo( $file, $prop, $result, $finalThumbParam );
-                               $result->addValue( array( 'query', $this->getModuleName() ), null, $imageInfo );
-                               $result->addIndexedTagName( array( 'query', $this->getModuleName() ), $modulePrefix );
+                               $result->addValue( [ 'query', $this->getModuleName() ], null, $imageInfo );
+                               $result->addIndexedTagName( [ 'query', $this->getModuleName() ], $modulePrefix );
                        }
                // @todo Update exception handling here to understand current getFile exceptions
                } catch ( UploadStashFileNotFoundException $e ) {
-                       $this->dieUsage( "File not found: " . $e->getMessage(), "invalidsessiondata" );
+                       $this->dieUsage( 'File not found: ' . $e->getMessage(), 'invalidsessiondata' );
                } catch ( UploadStashBadPathException $e ) {
-                       $this->dieUsage( "Bad path: " . $e->getMessage(), "invalidsessiondata" );
+                       $this->dieUsage( 'Bad path: ' . $e->getMessage(), 'invalidsessiondata' );
                }
        }
 
-       private $propertyFilter = array(
+       private $propertyFilter = [
                'user', 'userid', 'comment', 'parsedcomment',
                'mediatype', 'archivename', 'uploadwarning',
-       );
+       ];
 
        public function getAllowedParams() {
-               return array(
-                       'filekey' => array(
+               return [
+                       'filekey' => [
                                ApiBase::PARAM_ISMULTI => true,
-                       ),
-                       'sessionkey' => array(
+                       ],
+                       'sessionkey' => [
                                ApiBase::PARAM_ISMULTI => true,
                                ApiBase::PARAM_DEPRECATED => true,
-                       ),
-                       'prop' => array(
+                       ],
+                       'prop' => [
                                ApiBase::PARAM_ISMULTI => true,
                                ApiBase::PARAM_DFLT => 'timestamp|url',
                                ApiBase::PARAM_TYPE => self::getPropertyNames( $this->propertyFilter ),
                                ApiBase::PARAM_HELP_MSG => 'apihelp-query+imageinfo-param-prop',
                                ApiBase::PARAM_HELP_MSG_PER_VALUE => self::getPropertyMessages( $this->propertyFilter )
-                       ),
-                       'urlwidth' => array(
+                       ],
+                       'urlwidth' => [
                                ApiBase::PARAM_TYPE => 'integer',
                                ApiBase::PARAM_DFLT => -1,
-                               ApiBase::PARAM_HELP_MSG => array(
+                               ApiBase::PARAM_HELP_MSG => [
                                        'apihelp-query+imageinfo-param-urlwidth',
                                        ApiQueryImageInfo::TRANSFORM_LIMIT,
-                               ),
-                       ),
-                       'urlheight' => array(
+                               ],
+                       ],
+                       'urlheight' => [
                                ApiBase::PARAM_TYPE => 'integer',
                                ApiBase::PARAM_DFLT => -1,
                                ApiBase::PARAM_HELP_MSG => 'apihelp-query+imageinfo-param-urlheight',
-                       ),
-                       'urlparam' => array(
+                       ],
+                       'urlparam' => [
                                ApiBase::PARAM_TYPE => 'string',
                                ApiBase::PARAM_DFLT => '',
                                ApiBase::PARAM_HELP_MSG => 'apihelp-query+imageinfo-param-urlparam',
-                       ),
-               );
+                       ],
+               ];
        }
 
        protected function getExamplesMessages() {
-               return array(
+               return [
                        'action=query&prop=stashimageinfo&siifilekey=124sd34rsdf567'
                                => 'apihelp-query+stashimageinfo-example-simple',
                        'action=query&prop=stashimageinfo&siifilekey=b34edoe3|bceffd4&' .
                                'siiurlwidth=120&siiprop=url'
                                => 'apihelp-query+stashimageinfo-example-params',
-               );
+               ];
        }
 
        public function getHelpUrls() {