Revert "merged master"
[lhc/web/wiklou.git] / includes / media / MediaTransformOutput.php
index fc1f834..00d12bb 100644 (file)
@@ -36,21 +36,30 @@ abstract class MediaTransformOutput {
        protected $storagePath = false;
 
        /**
-        * Get the width of the output box
+        * @return integer Width of the output box
         */
        public function getWidth() {
                return $this->width;
        }
 
        /**
-        * Get the height of the output box
+        * @return integer Height of the output box
         */
        public function getHeight() {
                return $this->height;
        }
 
        /**
-        * @return string The thumbnail URL
+        * Get the final extension of the thumbnail.
+        * Returns false for scripted transformations.
+        * @return string|false
+        */
+       public function getExtension() {
+               return $this->path ? FileBackend::extensionFromPath( $this->path ) : false;
+       }
+
+       /**
+        * @return string|false The thumbnail URL
         */
        public function getUrl() {
                return $this->url;
@@ -106,7 +115,7 @@ abstract class MediaTransformOutput {
         * This will return false if there was an error, the
         * thumbnail is to be handled client-side only, or if
         * transformation was deferred via TRANSFORM_LATER.
-        * 
+        *
         * @return Bool
         */
        public function hasFile() {
@@ -198,7 +207,7 @@ class ThumbnailImage extends MediaTransformOutput {
         * Get a thumbnail object from a file and parameters.
         * If $path is set to null, the output file is treated as a source copy.
         * If $path is set to false, no output file will be created.
-        * 
+        *
         * @param $file File object
         * @param $url String: URL path to the thumb
         * @param $width Integer: file's width
@@ -237,6 +246,9 @@ class ThumbnailImage extends MediaTransformOutput {
         *     custom-url-link    Custom URL to link to
         *     custom-title-link  Custom Title object to link to
         *     custom target-link Value of the target attribute, for custom-target-link
+        *     parser-extlink-*   Attributes added by parser for external links:
+        *          parser-extlink-rel: add rel="nofollow"
+        *          parser-extlink-target: link target, but overridden by custom-target-link
         *
         * For images, desc-link and file-link are implemented as a click-through. For
         * sounds and videos, they may be displayed in other ways.
@@ -259,6 +271,11 @@ class ThumbnailImage extends MediaTransformOutput {
                        }
                        if ( !empty( $options['custom-target-link'] ) ) {
                                $linkAttribs['target'] = $options['custom-target-link'];
+                       } elseif ( !empty( $options['parser-extlink-target'] ) ) {
+                               $linkAttribs['target'] = $options['parser-extlink-target'];
+                       }
+                       if ( !empty( $options['parser-extlink-rel'] ) ) {
+                               $linkAttribs['rel'] = $options['parser-extlink-rel'];
                        }
                } elseif ( !empty( $options['custom-title-link'] ) ) {
                        $title = $options['custom-title-link'];