40 'htm' =>
'mimetypes-text-html',
41 'html' =>
'mimetypes-text-html',
42 'css' =>
'mimetypes-text-css',
43 'js' =>
'mimetypes-text-js',
44 'csv' =>
'mimetypes-text-csv',
45 'php' =>
'mimetypes-text-php',
46 'php6' =>
'mimetypes-text-php',
47 'php5' =>
'mimetypes-text-php',
48 'php4' =>
'mimetypes-text-php',
49 'php3' =>
'mimetypes-text-php',
50 'inc' =>
'mimetypes-text-php',
51 'ts' =>
'mimetypes-text-ts',
52 'txt' =>
'mimetypes-text-text',
53 'class' =>
'mimetypes-text-text',
54 'tmpl' =>
'mimetypes-text-text',
55 'jpg' =>
'mimetypes-media-image',
56 'jpeg' =>
'mimetypes-media-image',
57 'gif' =>
'mimetypes-media-image',
58 'png' =>
'mimetypes-media-image',
59 'bmp' =>
'mimetypes-media-image',
60 'tif' =>
'mimetypes-media-image',
61 'tga' =>
'mimetypes-media-image',
62 'psd' =>
'mimetypes-media-image',
63 'eps' =>
'mimetypes-media-image',
64 'avi' =>
'mimetypes-media-video',
65 'mpg' =>
'mimetypes-media-video',
66 'mpeg' =>
'mimetypes-media-video',
67 'mov' =>
'mimetypes-media-video',
68 'wav' =>
'mimetypes-media-audio',
69 'mp3' =>
'mimetypes-media-audio',
70 'mid' =>
'mimetypes-media-audio',
71 'swf' =>
'mimetypes-media-flash',
72 'swa' =>
'mimetypes-media-flash',
73 'exe' =>
'mimetypes-executable-executable',
74 'com' =>
'mimetypes-executable-executable',
75 't3x' =>
'mimetypes-compressed',
76 't3d' =>
'mimetypes-compressed',
77 'zip' =>
'mimetypes-compressed',
78 'tgz' =>
'mimetypes-compressed',
79 'gz' =>
'mimetypes-compressed',
80 'pdf' =>
'mimetypes-pdf',
81 'doc' =>
'mimetypes-word',
82 'dot' =>
'mimetypes-word',
83 'docm' =>
'mimetypes-word',
84 'docx' =>
'mimetypes-word',
85 'dotm' =>
'mimetypes-word',
86 'dotx' =>
'mimetypes-word',
87 'sxw' =>
'mimetypes-word',
88 'rtf' =>
'mimetypes-word',
89 'xls' =>
'mimetypes-excel',
90 'xlsm' =>
'mimetypes-excel',
91 'xlsx' =>
'mimetypes-excel',
92 'xltm' =>
'mimetypes-excel',
93 'xltx' =>
'mimetypes-excel',
94 'sxc' =>
'mimetypes-excel',
95 'pps' =>
'mimetypes-powerpoint',
96 'ppsx' =>
'mimetypes-powerpoint',
97 'ppt' =>
'mimetypes-powerpoint',
98 'pptm' =>
'mimetypes-powerpoint',
99 'pptx' =>
'mimetypes-powerpoint',
100 'potm' =>
'mimetypes-powerpoint',
101 'potx' =>
'mimetypes-powerpoint',
102 'mount' =>
'apps-filetree-mount',
103 'folder' =>
'apps-filetree-folder-default',
104 'default' =>
'mimetypes-other-other' 128 static public function getIconImage($table, $row = array(), $backPath, $params =
'', $shaded = FALSE) {
131 $str =
'<img' . self::skinImg($backPath, self::getIcon($table, $row, $shaded),
'width="18" height="16"') . (trim($params) ?
' ' . trim($params) :
'');
132 if (!stristr($str,
'alt="')) {
149 static public function getIcon($table, $row = array(), $shaded = FALSE) {
153 $doNotRenderUserGroupNumber = TRUE;
155 if (!empty(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'versioningWS']) && !empty($row[
't3ver_state'])) {
158 return 'gfx/i/shadow_hide.png';
161 return 'gfx/i/shadow_delete.png';
164 return 'gfx/i/shadow_moveto_plh.png';
167 return 'gfx/i/shadow_moveto_pointer.png';
172 if ($table ==
'pages') {
173 $iconfile =
$GLOBALS[
'PAGES_TYPES'][$row[
'doktype']][
'icon'];
175 $iconfile =
$GLOBALS[
'PAGES_TYPES'][
'default'][
'icon'];
178 if (!($iconfile =
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicons'][$row[
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_column']]])) {
179 $iconfile =
$GLOBALS[
'TCA'][$table][
'ctrl'][
'iconfile'] ?: $table .
'.gif';
183 if (!strstr($iconfile,
'/')) {
184 $iconfile =
'gfx/i/' . $iconfile;
187 if (substr($iconfile, 0, 3) ==
'../') {
188 $absfile = PATH_site . substr($iconfile, 3);
190 $absfile = PATH_typo3 . $iconfile;
195 $futuretiming = FALSE;
200 $protectSection = FALSE;
201 $noIconFound = $row[
'_NO_ICON_FOUND'] ? TRUE : FALSE;
204 if (is_array(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'enablecolumns'])) {
205 $enCols =
$GLOBALS[
'TCA'][$table][
'ctrl'][
'enablecolumns'];
207 if ($enCols[
'disabled']) {
208 if ($row[$enCols[
'disabled']]) {
213 if ($enCols[
'starttime']) {
214 if (
$GLOBALS[
'EXEC_TIME'] < (
int)$row[$enCols[
'starttime']]) {
217 if ((
int)$row[$enCols[
'endtime']] === 0) {
218 $futuretiming = TRUE;
223 if ($enCols[
'endtime']) {
224 if ((
int)$row[$enCols[
'endtime']] > 0) {
225 if ((
int)$row[$enCols[
'endtime']] <
$GLOBALS[
'EXEC_TIME']) {
230 $futuretiming = TRUE;
235 if ($enCols[
'fe_group']) {
236 $user = $row[$enCols[
'fe_group']];
237 if ($user && $doNotRenderUserGroupNumber) {
243 if ($col = $row[
$GLOBALS[
'TCA'][$table][
'ctrl'][
'delete']]) {
247 if ($table ==
'pages' && $row[
'extendToSubpages'] && ($hidden || $timing || $futuretiming || $user)) {
248 $protectSection = TRUE;
251 if ($hidden || $timing || $futuretiming || $user || $deleted || $shaded || $noIconFound) {
257 } elseif ($noIconFound) {
259 $string =
'no_icon_found';
268 if (!$string && $futuretiming) {
269 $string =
'futuretiming';
271 $flags .= ($hidden ?
'h' :
'') . ($timing ?
't' :
'') . ($futuretiming ?
'f' :
'') . ($user ?
'u' :
'') . ($protectSection ?
'p' :
'') . ($shaded ?
's' :
'');
274 $iconFileName_stateTagged = preg_replace(
'/.([[:alnum:]]+)$/',
'__' . $flags .
'.\\1', basename($iconfile));
276 if (@is_file((dirname($absfile) .
'/' . $iconFileName_stateTagged)) || @is_file((
$GLOBALS[
'TBE_STYLES'][
'skinImgAutoCfg'][
'absDir'] .
'/' . dirname($iconfile) .
'/' . $iconFileName_stateTagged))) {
278 return dirname($iconfile) .
'/' . $iconFileName_stateTagged;
281 $theRes = self::makeIcon(
$GLOBALS[
'BACK_PATH'] . $iconfile, $string, $user, $protectSection, $absfile, $iconFileName_stateTagged);
300 static public function skinImg($backPath, $src, $wHattribs =
'', $outputMode = 0) {
301 static $cachedSkinImages = array();
302 $imageId = md5($backPath . $src . $wHattribs . $outputMode);
303 if (isset($cachedSkinImages[$imageId])) {
304 return $cachedSkinImages[$imageId];
307 $srcKey = preg_replace(
'/^(\\.\\.\\/typo3conf\\/ext|sysext|ext)\\//',
'ext/', $src);
309 if (
$GLOBALS[
'TBE_STYLES'][
'skinImg'][$srcKey]) {
311 list($src, $wHattribs) =
$GLOBALS[
'TBE_STYLES'][
'skinImg'][$srcKey];
312 } elseif (
$GLOBALS[
'TBE_STYLES'][
'skinImgAutoCfg']) {
315 $fExt =
$GLOBALS[
'TBE_STYLES'][
'skinImgAutoCfg'][
'forceFileExtension'];
316 $scaleFactor =
$GLOBALS[
'TBE_STYLES'][
'skinImgAutoCfg'][
'scaleFactor'] ?: 1;
318 $lookUpName = $fExt ? preg_replace(
'/\\.[[:alnum:]]+$/',
'', $srcKey) .
'.' . $fExt : $srcKey;
320 if ($fExt && !@is_file((
$GLOBALS[
'TBE_STYLES'][
'skinImgAutoCfg'][
'absDir'] . $lookUpName))) {
322 $lookUpName = $srcKey;
325 if (@is_file((
$GLOBALS[
'TBE_STYLES'][
'skinImgAutoCfg'][
'absDir'] . $lookUpName))) {
327 $iInfo = @getimagesize((
$GLOBALS[
'TBE_STYLES'][
'skinImgAutoCfg'][
'absDir'] . $lookUpName));
330 $src =
$GLOBALS[
'TBE_STYLES'][
'skinImgAutoCfg'][
'relDir'] . $lookUpName;
331 $wHattribs =
'width="' . round($iInfo[0] * $scaleFactor) .
'" height="' . round($iInfo[1] * $scaleFactor) .
'"';
335 $GLOBALS[
'TBE_STYLES'][
'skinImg'][$srcKey] = array($src, $wHattribs);
339 $srcBasename = basename($src);
340 if (preg_match(
'/(.*)_i(\\....)$/', $srcBasename, $matches)) {
341 $temp_path = dirname(PATH_thisScript) .
'/';
342 if (!@is_file(($temp_path . $backPath . $src))) {
343 $srcOrg = preg_replace(
'/_i' . preg_quote($matches[2],
'/') .
'$/', $matches[2], $src);
344 $src = self::makeIcon($backPath . $srcOrg,
'disabled', 0, FALSE, $temp_path . $backPath . $srcOrg, $srcBasename);
349 switch ($outputMode) {
351 $output =
' src="' . $backPath . $src .
'" ' . $wHattribs;
354 $output = $backPath . $src;
357 $output = $wHattribs;
360 $cachedSkinImages[$imageId] = $output;
381 static public function makeIcon($iconfile, $mode, $user, $protectSection, $absFile, $iconFileName_stateTagged) {
382 $iconFileName =
'icon_' .
GeneralUtility::shortMD5(($iconfile .
'|' . $mode .
'|-' . $user .
'|' . $protectSection)) .
'_' . $iconFileName_stateTagged .
'.' . (
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'gdlib_png'] ?
'png' :
'gif');
383 $mainpath =
'../typo3temp/' . $iconFileName;
384 $path = PATH_site .
'typo3temp/' . $iconFileName;
385 if (file_exists(PATH_typo3 .
'icons/' . $iconFileName)) {
387 return 'icons/' . $iconFileName;
388 } elseif (file_exists($path)) {
393 if (file_exists($absFile)) {
394 if (
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'gdlib']) {
396 $im = self::imagecreatefrom($absFile);
401 if ($mode ==
'disabled' or $mode !=
'futuretiming' && $mode !=
'no_icon_found' && !(!$mode && $user)) {
402 $totalImageColors = ImageColorsTotal($im);
403 for ($c = 0; $c < $totalImageColors; $c++) {
404 $cols = ImageColorsForIndex($im, $c);
405 $newcol = round(($cols[
'red'] + $cols[
'green'] + $cols[
'blue']) / 3);
406 $lighten = $mode ==
'disabled' ? 2.5 : 2;
407 $newcol = round(255 - (255 - $newcol) / $lighten);
408 ImageColorSet($im, $c, $newcol, $newcol, $newcol);
415 $black = ImageColorAllocate($im, 0, 0, 0);
416 imagefilledrectangle($im, 0, 0, $user > 10 ? 9 : 5, 8, $black);
417 $white = ImageColorAllocate($im, 255, 255, 255);
418 imagestring($im, 1, 1, 1, $user, $white);
420 $ol_im = self::imagecreatefrom(
$GLOBALS[
'BACK_PATH'] .
'gfx/overlay_group.gif');
424 self::imagecopyresized($im, $ol_im, 0, 0, 0, 0, imagesx($ol_im), imagesy($ol_im), imagesx($ol_im), imagesy($ol_im));
431 $ol_im = self::imagecreatefrom(
$GLOBALS[
'BACK_PATH'] .
'gfx/overlay_deleted.gif');
434 $ol_im = self::imagecreatefrom(
$GLOBALS[
'BACK_PATH'] .
'gfx/overlay_timing.gif');
437 $ol_im = self::imagecreatefrom(
$GLOBALS[
'BACK_PATH'] .
'gfx/overlay_timing.gif');
440 $ol_im = self::imagecreatefrom(
$GLOBALS[
'BACK_PATH'] .
'gfx/overlay_hidden_timing.gif');
442 case 'no_icon_found':
443 $ol_im = self::imagecreatefrom(
$GLOBALS[
'BACK_PATH'] .
'gfx/overlay_no_icon_found.gif');
452 $ol_im = self::imagecreatefrom(
$GLOBALS[
'BACK_PATH'] .
'gfx/overlay_hidden.gif');
458 self::imagecopyresized($im, $ol_im, 0, 0, 0, 0, imagesx($ol_im), imagesy($ol_im), imagesx($ol_im), imagesy($ol_im));
462 if ($protectSection) {
463 $ol_im = self::imagecreatefrom(
$GLOBALS[
'BACK_PATH'] .
'gfx/overlay_sub5.gif');
467 self::imagecopyresized($im, $ol_im, 0, 0, 0, 0, imagesx($ol_im), imagesy($ol_im), imagesx($ol_im), imagesy($ol_im));
470 @self::imagemake($im, $path);
478 return $GLOBALS[
'BACK_PATH'] .
'gfx/fileicons/default.gif';
508 static public function imagecopyresized(&$destinationImage, $sourceImage, $destinationX, $destinationY, $sourceX, $sourceY, $destinationWidth, $destinationHeight, $sourceWidth, $sourceHeight) {
509 imagecopyresized($destinationImage, $sourceImage, $destinationX, $destinationY, $sourceX, $sourceY, $destinationWidth, $destinationHeight, $sourceWidth, $sourceHeight);
522 if (
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'gdlib_png']) {
523 return $file ? imagecreatefrompng($file) : -1;
525 return $file ? imagecreatefromgif($file) : -1;
538 if (
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'gdlib_png']) {
539 @ImagePng($im, $path);
541 @ImageGif($im, $path);
543 if (@is_file($path)) {
589 static public function getSpriteIcon($iconName, array $options = array(), array $overlays = array()) {
591 if (empty($options) && empty($overlays)) {
592 if (isset(static::$spriteIconCache[$iconName])) {
593 return static::$spriteIconCache[$iconName];
595 $iconIsCacheable = TRUE;
597 $iconIsCacheable = FALSE;
600 $innerHtml = isset($options[
'html']) ? $options[
'html'] : NULL;
601 $tagName = isset($options[
'tagName']) ? $options[
'tagName'] : NULL;
604 foreach ($overlays as $overlayIconName => $overlayOptions) {
605 $overlayOptions[
'html'] = $innerHtml;
606 $overlayOptions[
'class'] = (isset($overlayOptions[
'class']) ? $overlayOptions[
'class'] .
' ' :
'') .
't3-icon-overlay';
607 $innerHtml = self::getSpriteIcon($overlayIconName, $overlayOptions);
610 $availableIcons = isset(
$GLOBALS[
'TBE_STYLES'][
'spriteIconApi'][
'iconsAvailable'])
611 ? (array)
$GLOBALS[
'TBE_STYLES'][
'spriteIconApi'][
'iconsAvailable']
613 if ($iconName !==
'empty-empty' && !in_array($iconName, $availableIcons, TRUE)) {
614 $iconName =
'status-status-icon-missing';
618 $options[
'class'] = self::getSpriteIconClasses($iconName) . (isset($options[
'class']) ?
' ' . $options[
'class'] :
'');
619 unset($options[
'html'], $options[
'tagName']);
620 $spriteHtml = self::buildSpriteHtmlIconTag($options, $innerHtml, $tagName);
623 if ($iconIsCacheable) {
624 static::$spriteIconCache[$iconName] = $spriteHtml;
642 $innerHtml = isset($options[
'html']) ? $options[
'html'] : NULL;
643 $tagName = isset($options[
'tagName']) ? $options[
'tagName'] : NULL;
645 $options[
'class'] = self::mapFileExtensionToSpriteIconClass($fileExtension) . (isset($options[
'class']) ?
' ' . $options[
'class'] :
'');
646 unset($options[
'html']);
647 unset($options[
'tagName']);
648 return self::buildSpriteHtmlIconTag($options, $innerHtml, $tagName);
660 return self::getSpriteIconClasses(self::mapFileExtensionToSpriteIconName($fileExtension));
674 if (strpos($fileExtension,
'.') !== FALSE || strpos($fileExtension,
'/') !== FALSE) {
678 if (is_dir($path) || substr($fileExtension, -1) ===
'/' || substr($fileExtension, -1) ===
'\\') {
679 $fileExtension =
'folder';
681 if (($pos = strrpos($fileExtension,
'.')) !== FALSE) {
682 $fileExtension = strtolower(substr($fileExtension, $pos + 1));
684 $fileExtension =
'default';
690 if (!isset(self::$fileSpriteIconNames[$fileExtension])) {
691 $fileExtension =
'default';
693 $iconName = self::$fileSpriteIconNames[$fileExtension];
711 $innerHtml = isset($options[
'html']) ? $options[
'html'] : NULL;
712 $tagName = isset($options[
'tagName']) ? $options[
'tagName'] : NULL;
714 $overlaySpriteIconName = self::mapRecordOverlayToSpriteIconName($table, $row);
715 if ($overlaySpriteIconName) {
716 $overlayOptions = array(
717 'html' => $innerHtml,
718 'class' =>
't3-icon-overlay' 720 $innerHtml = self::getSpriteIcon($overlaySpriteIconName, $overlayOptions);
723 $options[
'class'] = self::mapRecordTypeToSpriteIconClass($table, $row) . (isset($options[
'class']) ?
' ' . $options[
'class'] :
'');
724 unset($options[
'html']);
725 unset($options[
'tagName']);
726 return self::buildSpriteHtmlIconTag($options, $innerHtml, $tagName);
747 static public function getSpriteIconForResource(\
TYPO3\CMS\Core\Resource\ResourceInterface $resource, array $options = array(), array $overlays = array()) {
749 if ($resource instanceof \
TYPO3\CMS\Core\Resource\FolderInterface) {
751 $role = $resource->getRole();
753 if ($resource->getStorage()->isBrowsable() === FALSE && !empty($options[
'mount-root'])) {
754 $iconName =
'apps-filetree-folder-locked';
757 if ($resource->getStorage()->getRootLevelFolder()->getIdentifier() === $resource->getIdentifier()) {
758 $iconName =
'apps-filetree-root';
763 if (!empty($options[
'mount-root'])) {
764 $iconName =
'apps-filetree-mount';
765 if ($role === \
TYPO3\CMS\Core\Resource\FolderInterface::ROLE_READONLY_MOUNT) {
766 $overlays[
'status-overlay-locked'] = array();
767 } elseif ($role === \
TYPO3\CMS\Core\Resource\FolderInterface::ROLE_USER_MOUNT) {
768 $overlays[
'status-overlay-access-restricted'] = array();
772 if ($iconName === NULL) {
774 if (!empty($options[
'folder-open'])) {
775 $iconName =
'apps-filetree-folder-opened';
777 $iconName =
'apps-filetree-folder-default';
780 if ($role === \
TYPO3\CMS\Core\Resource\FolderInterface::ROLE_TEMPORARY) {
781 $iconName =
'apps-filetree-folder-temp';
782 } elseif ($role === \
TYPO3\CMS\Core\Resource\FolderInterface::ROLE_RECYCLER) {
783 $iconName =
'apps-filetree-folder-recycler';
788 if ($resource instanceof \
TYPO3\CMS\Core\Resource\InaccessibleFolder ||
789 !$resource->getStorage()->isBrowsable() ||
790 !$resource->getStorage()->checkFolderActionPermission(
'add', $resource)
792 $overlays[
'status-overlay-locked'] = array();
800 $iconName = self::mapFileExtensionToSpriteIconName($resource->getExtension());
803 $overlays[
'status-overlay-missing'] = array();
808 if (is_array(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
't3lib/class.t3lib_iconworks.php'][
'overrideResourceIcon'])) {
809 foreach (
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
't3lib/class.t3lib_iconworks.php'][
'overrideResourceIcon'] as $classRef) {
812 throw new \UnexpectedValueException(
'$hookObject must implement interface TYPO3\\CMS\\Backend\\Utility\\IconUtilityOverrideResourceIconHookInterface', 1393574895);
814 $hookObject->overrideResourceIcon($resource, $iconName, $options, $overlays);
818 unset($options[
'mount-root']);
819 unset($options[
'folder-open']);
820 return self::getSpriteIcon($iconName, $options, $overlays);
842 return self::getSpriteIconClasses(self::mapRecordTypeToSpriteIconName($table, $row));
864 $recordType = array();
866 if (isset(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_column'])) {
867 $column =
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_column'];
868 if (isset($row[$column])) {
869 $recordType[1] = $row[$column];
871 $recordType[1] =
'default';
876 if ($table ===
'pages') {
877 if ($row[
'nav_hide']) {
878 $recordType[2] = $recordType[1] .
'-hideinmenu';
880 if ($row[
'is_siteroot']) {
881 $recordType[3] = $recordType[1] .
'-root';
883 if ($row[
'module']) {
884 $recordType[4] =
'contains-' . $row[
'module'];
887 if (is_array(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_classes'])) {
888 foreach ($recordType as $key => $type) {
889 if (isset(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_classes'][$type])) {
890 $recordType[$key] =
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_classes'][$type];
892 unset($recordType[$key]);
895 $recordType[0] =
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_classes'][
'default'];
896 if (isset(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_classes'][
'mask'])) {
897 $recordType[5] = str_replace(
'###TYPE###', $row[$column],
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_classes'][
'mask']);
899 if (isset(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_classes'][
'userFunc'])) {
904 foreach ($recordType as &$type) {
905 $type =
'tcarecords-' . $table .
'-' . $type;
908 $recordType[0] =
'tcarecords-' . $table .
'-default';
911 if (is_array(
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_classes'])) {
912 $recordType[0] =
$GLOBALS[
'TCA'][$table][
'ctrl'][
'typeicon_classes'][
'default'];
914 $recordType[0] =
'tcarecords-' . $table .
'-default';
918 if (is_array(
$GLOBALS[
'TBE_STYLES'][
'spriteIconApi'][
'iconsAvailable'])) {
919 foreach ($recordType as $iconName) {
920 if (in_array($iconName,
$GLOBALS[
'TBE_STYLES'][
'spriteIconApi'][
'iconsAvailable'])) {
925 return 'status-status-icon-missing';
949 $tcaCtrl =
$GLOBALS[
'TCA'][$table][
'ctrl'];
953 'starttime' => FALSE,
955 'futureendtime' => FALSE,
958 'protectedSection' => FALSE,
959 'nav_hide' => $row[
'nav_hide'] ? TRUE : FALSE,
960 'noIconFound' => $row[
'_NO_ICON_FOUND'] ? TRUE : FALSE
963 if (is_array($tcaCtrl[
'enablecolumns'])) {
964 $enCols = $tcaCtrl[
'enablecolumns'];
966 if ($tcaCtrl[
'enablecolumns'][
'disabled'] && $row[$tcaCtrl[
'enablecolumns'][
'disabled']]) {
967 $status[
'hidden'] = TRUE;
970 if ($tcaCtrl[
'enablecolumns'][
'starttime'] &&
$GLOBALS[
'EXEC_TIME'] < (
int)$row[$tcaCtrl[
'enablecolumns'][
'starttime']]) {
971 $status[
'starttime'] = TRUE;
974 if ($tcaCtrl[
'enablecolumns'][
'endtime']) {
975 if ((
int)$row[$tcaCtrl[
'enablecolumns'][
'endtime']] > 0) {
976 if ((
int)$row[$tcaCtrl[
'enablecolumns'][
'endtime']] <
$GLOBALS[
'EXEC_TIME']) {
978 $status[
'endtime'] = TRUE;
981 $status[
'futureendtime'] = TRUE;
986 if ($tcaCtrl[
'enablecolumns'][
'fe_group'] && $row[$tcaCtrl[
'enablecolumns'][
'fe_group']]) {
987 $status[
'fe_group'] = TRUE;
991 if ($row[$tcaCtrl[
'delete']]) {
992 $status[
'deleted'] = TRUE;
995 if ($table ==
'pages' && $row[
'extendToSubpages']) {
996 $status[
'protectedSection'] = TRUE;
1001 if (is_array(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
't3lib/class.t3lib_iconworks.php'][
'overrideIconOverlay'])) {
1002 foreach (
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
't3lib/class.t3lib_iconworks.php'][
'overrideIconOverlay'] as $classRef) {
1004 if (method_exists($hookObject,
'overrideIconOverlay')) {
1005 $hookObject->overrideIconOverlay($table, $row, $status);
1010 $priorities =
$GLOBALS[
'TBE_STYLES'][
'spriteIconApi'][
'spriteIconRecordOverlayPriorities'];
1012 if (is_array($priorities)) {
1013 foreach ($priorities as $priority) {
1014 if ($status[$priority]) {
1015 $iconName =
$GLOBALS[
'TBE_STYLES'][
'spriteIconApi'][
'spriteIconRecordOverlayNames'][$priority];
1033 $cssClasses = ($baseCssClass =
't3-icon');
1034 $parts = explode(
'-', $iconName);
1035 if (count($parts) > 1) {
1037 $cssClasses .=
' ' . ($baseCssClass .
'-' . $parts[0]);
1039 $cssClasses .=
' ' . ($baseCssClass .
'-' . $parts[0] .
'-' . $parts[1]);
1041 $cssClasses .=
' ' . ($baseCssClass .
'-' . substr($iconName, (strlen($parts[0]) + 1)));
1057 $innerHtml = $innerHtml === NULL ?
' ' : $innerHtml;
1058 $tagName = $tagName === NULL ?
'span' : $tagName;
1060 foreach ($tagAttributes as $attribute => $value) {
1061 $attributes .=
' ' . htmlspecialchars($attribute) .
'="' . htmlspecialchars($value) .
'"';
1063 return '<' . $tagName . $attributes .
'>' . $innerHtml .
'</' . $tagName .
'>';
static buildSpriteHtmlIconTag(array $tagAttributes, $innerHtml=NULL, $tagName=NULL)
static skinImg($backPath, $src, $wHattribs='', $outputMode=0)
static imagemake($im, $path)
static getSpriteIconForResource(\TYPO3\CMS\Core\Resource\ResourceInterface $resource, array $options=array(), array $overlays=array())
static mapRecordTypeToSpriteIconName($table, array $row)
static getIndpEnv($getEnvName)
static mapFileExtensionToSpriteIconName($fileExtension)
static getUserObj($classRef, $checkPrefix='', $silent=FALSE)
static mapRecordOverlayToSpriteIconName($table, array $row)
static imagecreatefrom($file)
static $fileSpriteIconNames
static fixPermissions($path, $recursive=FALSE)
static logDeprecatedFunction()
static shortMD5($input, $len=10)
static mapRecordTypeToSpriteIconClass($table, array $row)
static callUserFunction($funcName, &$params, &$ref, $checkPrefix='', $errorMode=0)
static read_png_gif($theFile, $output_png=FALSE)
static getSpriteIconForRecord($table, array $row, array $options=array())
static getIconImage($table, $row=array(), $backPath, $params='', $shaded=FALSE)
static mapFileExtensionToSpriteIconClass($fileExtension)
static getIcon($table, $row=array(), $shaded=FALSE)
static imagecopyresized(&$destinationImage, $sourceImage, $destinationX, $destinationY, $sourceX, $sourceY, $destinationWidth, $destinationHeight, $sourceWidth, $sourceHeight)
static gif_compress($theFile, $type)
static getSpriteIcon($iconName, array $options=array(), array $overlays=array())
static makeIcon($iconfile, $mode, $user, $protectSection, $absFile, $iconFileName_stateTagged)
static getSpriteIconForFile($fileExtension, array $options=array())
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
static resolveBackPath($pathStr)
static getSpriteIconClasses($iconName)