[TASK] Replace Space Indent into Tab indent (CGL Cleanup)
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_iconworks.php
index 3fb4e2d..33417d9 100644 (file)
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
-/**
- * Contains class for icon generation in the backend
- *
- * Revised for TYPO3 3.6 July/2003 by Kasper Skårhøj
- * XHTML compliant
- *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
- */
-/**
- * [CLASS/FUNCTION INDEX of SCRIPT]
- *
- *
- *
- *   85: class t3lib_iconWorks
- *  100:        function getIconImage($table,$row=array(),$backPath,$params='',$shaded=FALSE)
- *  118:        function getIcon($table,$row=array(),$shaded=FALSE)
- *  264:        function skinImg($backPath,$src,$wHattribs='',$outputMode=0)
- *
- *                       SECTION: Other functions
- *  353:        function makeIcon($iconfile,$mode, $user, $protectSection,$absFile,$iconFileName_stateTagged)
- *  475:        function imagecopyresized(&$im, $cpImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $w, $h, $w, $h)
- *  505:        function imagecreatefrom($file)
- *  522:        function imagemake($im, $path)
- *
- * TOTAL FUNCTIONS: 7
- * (This index is automatically created/updated by the extension "extdeveval")
- *
- */
-
 
 /**
- * Icon generation, backend
+ * Contains class for icon generation in the backend
  * This library has functions that returns - and if necessary creates - the icon for an element in TYPO3
  *
  * Expects global vars:
@@ -69,7 +40,7 @@
  * The class is included in eg. init.php
  * ALL functions called without making a class instance, eg. "t3lib_iconWorks::getIconImage()"
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
  */
@@ -144,7 +115,6 @@ final class t3lib_iconWorks {
        /**
         * Returns an icon image tag, 18x16 pixels, based on input information.
         * This function is recommended to use in your backend modules.
-        * Usage: 60
         *
         * @param       string          The table name
         * @param       array           The table row ("enablefields" are at least needed for correct icon display and for pages records some more fields in addition!)
@@ -156,8 +126,8 @@ final class t3lib_iconWorks {
         */
        public static function getIconImage($table, $row = array(), $backPath, $params = '', $shaded = FALSE) {
                $str = '<img' .
-                          self::skinImg($backPath, self::getIcon($table, $row, $shaded), 'width="18" height="16"') .
-                          (trim($params) ? ' ' . trim($params) : '');
+                       self::skinImg($backPath, self::getIcon($table, $row, $shaded), 'width="18" height="16"') .
+                       (trim($params) ? ' ' . trim($params) : '');
                if (!stristr($str, 'alt="')) {
                        $str .= ' alt=""';
                }
@@ -168,7 +138,6 @@ final class t3lib_iconWorks {
        /**
         * Creates the icon for input table/row
         * Returns filename for the image icon, relative to PATH_typo3
-        * Usage: 24
         *
         * @param       string          The table name
         * @param       array           The table row ("enablefields" are at least needed for correct icon display and for pages records some more fields in addition!)
@@ -200,17 +169,10 @@ final class t3lib_iconWorks {
 
                        // First, find the icon file name. This can depend on configuration in TCA, field values and more:
                if ($table == 'pages') {
-                               // @TODO: RFC #7370: doktype 2&5 are deprecated since TYPO3 4.2-beta1
-                       if ($row['nav_hide'] && ($row['doktype'] == t3lib_pageSelect::DOKTYPE_DEFAULT || $row['doktype'] == t3lib_pageSelect::DOKTYPE_ADVANCED)) {
-                               $row['doktype'] = t3lib_pageSelect::DOKTYPE_HIDE_IN_MENU;
-                       } // Workaround to change the icon if "Hide in menu" was set
-
-                       if (!$iconfile = $GLOBALS['PAGES_TYPES'][$row['doktype']]['icon']) {
+                       $iconfile = $GLOBALS['PAGES_TYPES'][$row['doktype']]['icon'];
+                       if (!$iconfile) {
                                $iconfile = $GLOBALS['PAGES_TYPES']['default']['icon'];
                        }
-                       if ($row['module'] && $GLOBALS['ICON_TYPES'][$row['module']]['icon']) {
-                               $iconfile = $GLOBALS['ICON_TYPES'][$row['module']]['icon'];
-                       }
                } else {
                        if (!$iconfile = $GLOBALS['TCA'][$table]['ctrl']['typeicons'][$row[$GLOBALS['TCA'][$table]['ctrl']['typeicon_column']]]) {
                                $iconfile = (($GLOBALS['TCA'][$table]['ctrl']['iconfile']) ? $GLOBALS['TCA'][$table]['ctrl']['iconfile'] : $table . '.gif');
@@ -334,7 +296,6 @@ final class t3lib_iconWorks {
        /**
         * Returns the src=... for the input $src value OR any alternative found in $TBE_STYLES['skinImg']
         * Used for skinning the TYPO3 backend with an alternative set of icons
-        * Usage: 336
         *
         * @param       string          Current backpath to PATH_typo3 folder
         * @param       string          Icon file name relative to PATH_typo3 folder
@@ -552,23 +513,22 @@ final class t3lib_iconWorks {
         * Of course it works only if ImageMagick is able to create valid png-images - which you cannot be sure of with older versions (still 5+)
         * The only drawback is (apparently) that IM creates true-color png's. The transparency of these will not be shown by MSIE on windows at this time (although it's straight 0%/100% transparency!) and the file size may be larger.
         *
-        * For parameters, see PHP function "imagecopyresized()"
-        *
-        * @param       pointer         see PHP function "imagecopyresized()"
-        * @param       pointer         see PHP function "imagecopyresized()"
-        * @param       integer         see PHP function "imagecopyresized()"
-        * @param       integer         see PHP function "imagecopyresized()"
-        * @param       integer         see PHP function "imagecopyresized()"
-        * @param       integer         see PHP function "imagecopyresized()"
-        * @param       integer         see PHP function "imagecopyresized()"
-        * @param       integer         see PHP function "imagecopyresized()"
-        * @param       integer         see PHP function "imagecopyresized()"
-        * @param       integer         see PHP function "imagecopyresized()"
-        * @return      void
+        * @param resource $dstImg destination image
+        * @param resource $srcImg source image
+        * @param integer $dstX destination x-coordinate
+        * @param integer $dstY destination y-coordinate
+        * @param integer $srcX source x-coordinate
+        * @param integer $srcY source y-coordinate
+        * @param integer $dstWidth destination width
+        * @param integer $dstHeight destination height
+        * @param integer $srcWidth source width
+        * @param integer $srcHeight source height
+        * @return void
         * @access private
+        * @see t3lib_stdGraphic::imagecopyresized()
         */
-       public static function imagecopyresized(&$im, $cpImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $w, $h, $w, $h) {
-               imagecopyresized($im, $cpImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $w, $h, $w, $h);
+       public static function imagecopyresized(&$dstImg, $srcImg, $dstX, $dstY, $srcX, $srcY, $dstWidth, $dstHeight, $srcWidth, $srcHeight) {
+               imagecopyresized($dstImg, $srcImg, $Xstart, $Ystart, $cpImgCutX, $cpImgCutY, $dstWidth, $dstHeight, $srcWidth, $srcHeight);
        }
 
        /**
@@ -867,9 +827,10 @@ final class t3lib_iconWorks {
                                        );
                                }
                        } else {
-                               foreach ($recordType AS $key => $type) {
-                                       $recordType[$key] = 'tcarecords-' . $table . '-' . $type;
+                               foreach ($recordType as &$type) {
+                                       $type = 'tcarecords-' . $table . '-' . $type;
                                }
+                               unset($type);
                                $recordType[0] = 'tcarecords-' . $table . '-default';
                        }
                } else {
@@ -880,9 +841,11 @@ final class t3lib_iconWorks {
                        }
                }
                krsort($recordType);
-               foreach ($recordType as $iconName) {
-                       if (in_array($iconName, $GLOBALS['TBE_STYLES']['spriteIconApi']['iconsAvailable'])) {
-                               return $iconName;
+               if (is_array($GLOBALS['TBE_STYLES']['spriteIconApi']['iconsAvailable'])) {
+                       foreach ($recordType as $iconName) {
+                               if (in_array($iconName, $GLOBALS['TBE_STYLES']['spriteIconApi']['iconsAvailable'])) {
+                                       return $iconName;
+                               }
                        }
                }
                return 'status-status-icon-missing';
@@ -981,10 +944,12 @@ final class t3lib_iconWorks {
                $priorities = $GLOBALS['TBE_STYLES']['spriteIconApi']['spriteIconRecordOverlayPriorities'];
 
                $iconName = '';
-               foreach ($priorities as $priority) {
-                       if ($status[$priority]) {
-                               $iconName = $GLOBALS['TBE_STYLES']['spriteIconApi']['spriteIconRecordOverlayNames'][$priority];
-                               break;
+               if (is_array($priorities)) {
+                       foreach ($priorities as $priority) {
+                               if ($status[$priority]) {
+                                       $iconName = $GLOBALS['TBE_STYLES']['spriteIconApi']['spriteIconRecordOverlayNames'][$priority];
+                                       break;
+                               }
                        }
                }