Merge "[FileBackend] Added tiny getContainerStoragePath() convenience function."
[lhc/web/wiklou.git] / includes / filerepo / file / UnregisteredLocalFile.php
index 7c5eab0..8d4a3f8 100644 (file)
@@ -1,6 +1,21 @@
 <?php
 /**
- * File without associated database record
+ * File without associated database record.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
  *
  * @file
  * @ingroup FileAbstraction
@@ -19,7 +34,7 @@
  * @ingroup FileAbstraction
  */
 class UnregisteredLocalFile extends File {
-       var $title, $path, $mime, $dims;
+       var $title, $path, $mime, $dims, $metadata;
 
        /**
         * @var MediaHandler
@@ -47,12 +62,12 @@ class UnregisteredLocalFile extends File {
        /**
         * Create an UnregisteredLocalFile based on a path or a (title,repo) pair.
         * A FileRepo object is not required here, unlike most other File classes.
-        * 
+        *
         * @throws MWException
         * @param $title Title|bool
-        * @param $repo FileRepo
-        * @param $path string
-        * @param $mime string
+        * @param $repo FileRepo|bool
+        * @param $path string|bool
+        * @param $mime string|bool
         */
        function __construct( $title = false, $repo = false, $path = false, $mime = false ) {
                if ( !( $title && $repo ) && !$path ) {
@@ -79,6 +94,10 @@ class UnregisteredLocalFile extends File {
                $this->dims = array();
        }
 
+       /**
+        * @param $page int
+        * @return bool
+        */
        private function cachePageDimensions( $page = 1 ) {
                if ( !isset( $this->dims[$page] ) ) {
                        if ( !$this->getHandler() ) {
@@ -89,16 +108,27 @@ class UnregisteredLocalFile extends File {
                return $this->dims[$page];
        }
 
+       /**
+        * @param $page int
+        * @return number
+        */
        function getWidth( $page = 1 ) {
                $dim = $this->cachePageDimensions( $page );
                return $dim['width'];
        }
 
+       /**
+        * @param $page int
+        * @return number
+        */
        function getHeight( $page = 1 ) {
                $dim = $this->cachePageDimensions( $page );
                return $dim['height'];
        }
 
+       /**
+        * @return bool|string
+        */
        function getMimeType() {
                if ( !isset( $this->mime ) ) {
                        $magic = MimeMagic::singleton();
@@ -107,6 +137,10 @@ class UnregisteredLocalFile extends File {
                return $this->mime;
        }
 
+       /**
+        * @param $filename String
+        * @return Array|bool
+        */
        function getImageSize( $filename ) {
                if ( !$this->getHandler() ) {
                        return false;
@@ -114,6 +148,9 @@ class UnregisteredLocalFile extends File {
                return $this->handler->getImageSize( $this, $this->getLocalRefPath() );
        }
 
+       /**
+        * @return bool
+        */
        function getMetadata() {
                if ( !isset( $this->metadata ) ) {
                        if ( !$this->getHandler() ) {
@@ -125,6 +162,9 @@ class UnregisteredLocalFile extends File {
                return $this->metadata;
        }
 
+       /**
+        * @return bool|string
+        */
        function getURL() {
                if ( $this->repo ) {
                        return $this->repo->getZoneUrl( 'public' ) . '/' .
@@ -134,6 +174,9 @@ class UnregisteredLocalFile extends File {
                }
        }
 
+       /**
+        * @return bool|int
+        */
        function getSize() {
                $this->assertRepoDefined();
                $props = $this->repo->getFileProps( $this->path );