[TASK] Cleanup phpDoc to match CGL
[Packages/TYPO3.CMS.git] / typo3 / sysext / frontend / Classes / Imaging / GifBuilder.php
index ca74a4d..3b2ca6c 100644 (file)
@@ -1,31 +1,18 @@
 <?php
 namespace TYPO3\CMS\Frontend\Imaging;
 
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 1999-2013 Kasper Skårhøj (kasperYYYY@typo3.com)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project 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.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *  A copy is found in the text file GPL.txt and important notices to the license
- *  from the author is found in LICENSE.txt distributed with these scripts.
+/**
+ * This file is part of the TYPO3 CMS project.
  *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
  *
- *  This script 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.
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
  *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
+ * The TYPO3 project - inspiring people to share!
+ */
 
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 
@@ -58,69 +45,69 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
        // Internal
        // the main image
        /**
-        * @todo Define visibility
+        * @var string
         */
        public $im = '';
 
        // the image-width
        /**
-        * @todo Define visibility
+        * @var int
         */
        public $w = 0;
 
        // the image-height
        /**
-        * @todo Define visibility
+        * @var int
         */
        public $h = 0;
 
        // map-data
        /**
-        * @todo Define visibility
+        * @var string
         */
        public $map;
 
        /**
-        * @todo Define visibility
+        * @var array
         */
        public $workArea;
 
        // This holds the operational setup for gifbuilder. Basically this is a TypoScript array with properties.
        /**
-        * @todo Define visibility
+        * @var array
         */
        public $setup = array();
 
        // Contains all text strings used on this image
        /**
-        * @todo Define visibility
+        * @var array
         */
        public $combinedTextStrings = array();
 
        // Contains all filenames (basename without extension) used on this image
        /**
-        * @todo Define visibility
+        * @var array
         */
        public $combinedFileNames = array();
 
        // This is the array from which data->field: [key] is fetched. So this is the current record!
        /**
-        * @todo Define visibility
+        * @var array
         */
        public $data = array();
 
        /**
-        * @todo Define visibility
+        * @var array
         */
        public $objBB = array();
 
        /**
-        * @todo Define visibility
+        * @var string
         */
        public $myClassName = 'gifbuilder';
 
        /**
-        * @todo Define visibility
+        * @var array
         */
        public $charRangeMap = array();
 
@@ -134,7 +121,6 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         * @param array $data The current data record from \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer. Stored internally in the variable ->data
         * @return void
         * @see \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getImgResource(), \TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject::makeGifs(), \TYPO3\CMS\Frontend\ContentObject\Menu\GraphicalMenuContentObject::findLargestDims()
-        * @todo Define visibility
         */
        public function start($conf, $data) {
                if (is_array($conf)) {
@@ -165,7 +151,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                                                $this->charRangeMap[$cRMkey]['charMapConfig'] = $cRMcfg['charMapConfig.'];
                                                $this->charRangeMap[$cRMkey]['cfgKey'] = substr($cRMcfgkey, 0, -1);
                                                $this->charRangeMap[$cRMkey]['multiplicator'] = (double) $cRMcfg['fontSizeMultiplicator'];
-                                               $this->charRangeMap[$cRMkey]['pixelSpace'] = intval($cRMcfg['pixelSpaceFontSizeRef']);
+                                               $this->charRangeMap[$cRMkey]['pixelSpace'] = (int)$cRMcfg['pixelSpaceFontSizeRef'];
                                        }
                                }
                        }
@@ -198,7 +184,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                        // The Bounding Box for the objects is stored in an array
                        foreach ($sKeyArray as $theKey) {
                                $theValue = $this->setup[$theKey];
-                               if (intval($theKey) && ($conf = $this->setup[$theKey . '.'])) {
+                               if ((int)$theKey && ($conf = $this->setup[$theKey . '.'])) {
                                        // Swipes through TEXT and IMAGE-objects
                                        switch ($theValue) {
                                                case 'TEXT':
@@ -258,7 +244,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                        $this->setup['workArea'] = $this->calcOffset($this->setup['workArea']);
                        foreach ($sKeyArray as $theKey) {
                                $theValue = $this->setup[$theKey];
-                               if (intval($theKey) && ($conf = $this->setup[$theKey . '.'])) {
+                               if ((int)$theKey && ($conf = $this->setup[$theKey . '.'])) {
                                        switch ($theValue) {
                                                case 'TEXT':
 
@@ -315,10 +301,10 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                        }
                        // Get trivial data
                        $XY = GeneralUtility::intExplode(',', $this->setup['XY']);
-                       $maxWidth = isset($this->setup['maxWidth.']) ? intval($this->cObj->stdWrap($this->setup['maxWidth'], $this->setup['maxWidth.'])) : intval($this->setup['maxWidth']);
-                       $maxHeight = isset($this->setup['maxHeight.']) ? intval($this->cObj->stdWrap($this->setup['maxHeight'], $this->setup['maxHeight.'])) : intval($this->setup['maxHeight']);
-                       $XY[0] = \TYPO3\CMS\Core\Utility\MathUtility::forceIntegerInRange($XY[0], 1, $maxWidth ? $maxWidth : 2000);
-                       $XY[1] = \TYPO3\CMS\Core\Utility\MathUtility::forceIntegerInRange($XY[1], 1, $maxHeight ? $maxHeight : 2000);
+                       $maxWidth = isset($this->setup['maxWidth.']) ? (int)$this->cObj->stdWrap($this->setup['maxWidth'], $this->setup['maxWidth.']) : (int)$this->setup['maxWidth'];
+                       $maxHeight = isset($this->setup['maxHeight.']) ? (int)$this->cObj->stdWrap($this->setup['maxHeight'], $this->setup['maxHeight.']) : (int)$this->setup['maxHeight'];
+                       $XY[0] = \TYPO3\CMS\Core\Utility\MathUtility::forceIntegerInRange($XY[0], 1, $maxWidth ?: 2000);
+                       $XY[1] = \TYPO3\CMS\Core\Utility\MathUtility::forceIntegerInRange($XY[1], 1, $maxHeight ?: 2000);
                        $this->XY = $XY;
                        $this->w = $XY[0];
                        $this->h = $XY[1];
@@ -337,7 +323,6 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         *
         * @return string The filename for the created GIF/PNG file. The filename will be prefixed "GB_
         * @see make(), fileName()
-        * @todo Define visibility
         */
        public function gifBuild() {
                if ($this->setup) {
@@ -365,7 +350,6 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         * @return void
         * @access private
         * @see gifBuild()
-        * @todo Define visibility
         */
        public function make() {
                // Get trivial data
@@ -398,7 +382,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                        $sKeyArray = \TYPO3\CMS\Core\TypoScript\TemplateService::sortedKeyList($this->setup);
                        foreach ($sKeyArray as $theKey) {
                                $theValue = $this->setup[$theKey];
-                               if (intval($theKey) && ($conf = $this->setup[$theKey . '.'])) {
+                               if ((int)$theKey && ($conf = $this->setup[$theKey . '.'])) {
                                        // apply stdWrap to all properties, except for TEXT objects
                                        // all properties of the TEXT sub-object have already been stdWrap-ped
                                        // before in ->checkTextObj()
@@ -517,7 +501,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                                // Multiple transparent colors are set. This is done via the trick that all transparent colors get
                                // converted to one color and then this one gets set as transparent as png/gif can just have one
                                // transparent color.
-                               $Tcolor = $this->unifyColors($this->im, $this->setup['transparentColor_array'], intval($this->setup['transparentColor.']['closest']));
+                               $Tcolor = $this->unifyColors($this->im, $this->setup['transparentColor_array'], (int)$this->setup['transparentColor.']['closest']);
                                if ($Tcolor >= 0) {
                                        imagecolortransparent($this->im, $Tcolor);
                                }
@@ -540,7 +524,6 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         * @param array $conf GIFBUILDER object TypoScript properties
         * @return array Modified $conf array IF the "text" property is not blank
         * @access private
-        * @todo Define visibility
         */
        public function checkTextObj($conf) {
                $cObj = GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer');
@@ -578,7 +561,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                $this->combinedTextStrings[] = strip_tags($conf['text']);
                // Max length = 100 if automatic line braks are not defined:
                if (!isset($conf['breakWidth']) || !$conf['breakWidth']) {
-                       $tlen = intval($conf['textMaxLength']) ? intval($conf['textMaxLength']) : 100;
+                       $tlen = (int)$conf['textMaxLength'] ?: 100;
                        if ($this->nativeCharset) {
                                $conf['text'] = $this->csConvObj->substr($this->nativeCharset, $conf['text'], 0, $tlen);
                        } else {
@@ -637,14 +620,13 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         * @param string $string The string to resolve/calculate the result of. The string is divided by a comma first and each resulting part is calculated into an integer.
         * @return string The resolved string with each part (separated by comma) returned separated by comma
         * @access private
-        * @todo Define visibility
         */
        public function calcOffset($string) {
                $value = array();
                $numbers = GeneralUtility::trimExplode(',', $this->calculateFunctions($string));
                foreach ($numbers as $key => $val) {
-                       if ((string) $val == (string) intval($val)) {
-                               $value[$key] = intval($val);
+                       if ((string)$val == (string)(int)$val) {
+                               $value[$key] = (int)$val;
                        } else {
                                $value[$key] = $this->calculateValue($val);
                        }
@@ -658,15 +640,15 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         *
         * @param string $file Filename value OR the string "GIFBUILDER", see documentation in TSref for the "datatype" called "imgResource
         * @param array $fileArray TypoScript properties passed to the function. Either GIFBUILDER properties or imgResource properties, depending on the value of $file (whether that is "GIFBUILDER" or a file reference)
-        * @return array Returns an array with file information if an image was returned. Otherwise FALSE.
+        * @return array|NULL Returns an array with file information from ContentObjectRenderer::getImgResource()
         * @access private
         * @see \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getImgResource()
-        * @todo Define visibility
         */
        public function getResource($file, $fileArray) {
                if (!GeneralUtility::inList($this->imageFileExt, $fileArray['ext'])) {
                        $fileArray['ext'] = $this->gifExtension;
                }
+               /** @var \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj */
                $cObj = GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer');
                $cObj->start($this->data);
                return $cObj->getImgResource($file, $fileArray);
@@ -679,7 +661,6 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         * @return string Returns the relative filepath
         * @access private
         * @see \TYPO3\CMS\Core\TypoScript\TemplateService::getFileName()
-        * @todo Define visibility
         */
        public function checkFile($file) {
                return $GLOBALS['TSFE']->tmpl->getFileName($file);
@@ -691,7 +672,6 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         * @param string $pre Filename prefix, eg. "GB_
         * @return string The relative filepath (relative to PATH_site)
         * @access private
-        * @todo Define visibility
         */
        public function fileName($pre) {
                $meaningfulPrefix = '';
@@ -700,7 +680,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                        $basicFileFunctions = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Utility\\File\\BasicFileUtility');
                        $meaningfulPrefix = implode('_', array_merge($this->combinedTextStrings, $this->combinedFileNames));
                        $meaningfulPrefix = $basicFileFunctions->cleanFileName($meaningfulPrefix);
-                       $meaningfulPrefixLength = intval($GLOBALS['TSFE']->config['config']['meaningfulTempFilePrefix']);
+                       $meaningfulPrefixLength = (int)$GLOBALS['TSFE']->config['config']['meaningfulTempFilePrefix'];
                        if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['UTF8filesystem']) {
                                /** @var $t3libCsInstance \TYPO3\CMS\Core\Charset\CharsetConverter */
                                $t3libCsInstance = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Charset\\CharsetConverter');
@@ -722,7 +702,6 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         *
         * @return string Extension; "jpg" or "gif"/"png
         * @access private
-        * @todo Define visibility
         */
        public function extension() {
                switch (strtolower($this->setup['format'])) {
@@ -746,7 +725,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         * Calculates the value concerning the dimensions of objects.
         *
         * @param string $string The string to be calculated (e.g. "[20.h]+13")
-        * @return integer The calculated value (e.g. "23")
+        * @return int The calculated value (e.g. "23")
         * @see calcOffset()
         */
        protected function calculateValue($string) {
@@ -755,8 +734,8 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                foreach ($parts as $part) {
                        $theVal = $part[1];
                        $sign = $part[0];
-                       if ((string) intval($theVal) == (string) $theVal) {
-                               $theVal = intval($theVal);
+                       if (((string)(int)$theVal) == ((string)$theVal)) {
+                               $theVal = (int)$theVal;
                        } elseif ('[' . substr($theVal, 1, -1) . ']' == $theVal) {
                                $objParts = explode('.', substr($theVal, 1, -1));
                                $theVal = 0;
@@ -768,7 +747,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
                                        } elseif ($objParts[1] == 'lineHeight') {
                                                $theVal = $this->objBB[$objParts[0]][2]['lineHeight'];
                                        }
-                                       $theVal = intval($theVal);
+                                       $theVal = (int)$theVal;
                                }
                        } elseif (floatval($theVal)) {
                                $theVal = floatval($theVal);
@@ -810,7 +789,7 @@ class GifBuilder extends \TYPO3\CMS\Core\Imaging\GraphicalFunctions {
         * Calculates the maximum of a set of values defined like "[10.h],[20.h],1000"
         *
         * @param string $string The string to be used to calculate the maximum (e.g. "[10.h],[20.h],1000")
-        * @return integer The maxium value of the given comma separated and calculated values
+        * @return int The maxium value of the given comma separated and calculated values
         */
        protected function calculateMaximum($string) {
                $parts = GeneralUtility::trimExplode(',', $this->calcOffset($string), TRUE);