[FEATURE] Show localization mode of field in form
authorJigal van Hemert <jigal@xs4all.nl>
Sun, 19 Jun 2011 00:44:28 +0000 (02:44 +0200)
committerSteffen Kamper <info@sk-typo3.de>
Tue, 2 Aug 2011 13:43:40 +0000 (15:43 +0200)
Show an icon in the BE edit form if a field has the l10n_mode
'mergeIfNotBlank'. Editors can now easily see if they can leave the
field blank and the value from the default language will be used.

Change-Id: I885ce0b5fb14465ca5114331d9efc4f5e6e41451
Resolves: #27493
Releases: 4.6
Reviewed-on: http://review.typo3.org/2799
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Stefan Neufeind
Tested-by: Steffen Kamper
Reviewed-by: Steffen Kamper
t3lib/class.t3lib_tceforms.php
t3lib/stddb/tables.php
typo3/sysext/lang/locallang_misc.xlf
typo3/sysext/t3skin/images/icons/actions/edit-merge-localization.png [new file with mode: 0644]
typo3/sysext/t3skin/images/sprites/t3skin.png
typo3/sysext/t3skin/stylesheets/sprites/t3skin.css

index eae1885..4545bba 100644 (file)
@@ -238,7 +238,7 @@ class t3lib_TCEforms {
        public function t3lib_TCEforms() {
                t3lib_div::logDeprecatedFunction();
                        // Note: we cannot call $this->__construct() here because it would call the derived class constructor and cause recursion
-                       // This code uses official PHP behavior (http://www.php.net/manual/en/language.oop5.basic.php) when $this in the
+                       // This code uses official PHP behaviour (http://www.php.net/manual/en/language.oop5.basic.php) when $this in the
                        // statically called non-static method inherits $this from the caller's scope.
                t3lib_TCEforms::__construct();
        }
@@ -3392,23 +3392,25 @@ class t3lib_TCEforms {
         */
        function renderDefaultLanguageContent($table, $field, $row, $item) {
                if (is_array($this->defaultLanguageData[$table . ':' . $row['uid']])) {
-                       $dLVal = t3lib_BEfunc::getProcessedValue($table, $field, $this->defaultLanguageData[$table . ':' . $row['uid']][$field], 0, 1);
-                       $fCfg = $GLOBALS['TCA'][$table]['columns'][$field];
+                       $defaultLanguageValue = t3lib_BEfunc::getProcessedValue($table, $field, $this->defaultLanguageData[$table . ':' . $row['uid']][$field], 0, 1);
+                       $fieldConfig = $GLOBALS['TCA'][$table]['columns'][$field];
 
                                // Don't show content if it's for IRRE child records:
-                       if ($fCfg['config']['type'] != 'inline') {
-                               if (strcmp($dLVal, '')) {
+                       if ($fieldConfig['config']['type'] != 'inline') {
+                               if ($defaultLanguageValue !== '') {
                                        $item .= '<div class="typo3-TCEforms-originalLanguageValue">' . $this->getLanguageIcon($table, $row, 0) .
-                                                        $this->previewFieldValue($dLVal, $fCfg, $field) . '&nbsp;</div>';
+                                                $this->getMergeBehaviourIcon($fieldConfig['l10n_mode']) .
+                                                $this->previewFieldValue($defaultLanguageValue, $fieldConfig, $field) . '&nbsp;</div>';
                                }
 
-                               $prLang = $this->getAdditionalPreviewLanguages();
-                               foreach ($prLang as $prL) {
-                                       $dlVal = t3lib_BEfunc::getProcessedValue($table, $field, $this->additionalPreviewLanguageData[$table . ':' . $row['uid']][$prL['uid']][$field], 0, 1);
+                               $previewLanguages = $this->getAdditionalPreviewLanguages();
+                               foreach ($previewLanguages as $previewLanguage) {
+                                       $defaultLanguageValue = t3lib_BEfunc::getProcessedValue($table, $field, $this->additionalPreviewLanguageData[$table . ':' . $row['uid']][$previewLanguage['uid']][$field], 0, 1);
 
-                                       if (strcmp($dlVal, '')) {
-                                               $item .= '<div class="typo3-TCEforms-originalLanguageValue">' . $this->getLanguageIcon($table, $row, 'v' . $prL['ISOcode']) .
-                                                                $this->previewFieldValue($dlVal, $fCfg, $field) . '&nbsp;</div>';
+                                       if ($defaultLanguageValue !== '') {
+                                               $item .= '<div class="typo3-TCEforms-originalLanguageValue">' . $this->getLanguageIcon($table, $row, 'v' . $previewLanguage['ISOcode']) .
+                                                        $this->getMergeBehaviourIcon($fieldConfig['l10n_mode']) .
+                                                        $this->previewFieldValue($defaultLanguageValue, $fieldConfig, $field) . '&nbsp;</div>';
                                        }
                                }
                        }
@@ -6255,6 +6257,26 @@ class t3lib_TCEforms {
        }
 
        /**
+        * Renders an icon to indicate the way the translation and the original is merged (if this is relevant).
+        *
+        * If a field is defined as 'mergeIfNotBlank' this is useful information for an editor. He/she can leave the field blank and
+        * the original value will be used. Without this hint editors are likely to copy the contents even if it is not necessary.
+        *
+        * @param string $l10nMode Localization mode from TCA
+        * @return string
+        */
+       protected function getMergeBehaviourIcon($l10nMode) {
+               $icon = '';
+               if ($l10nMode === 'mergeIfNotBlank') {
+                       $icon = t3lib_iconWorks::getSpriteIcon(
+                               'actions-edit-merge-localization',
+                               array('title' => $this->sL('LLL:EXT:lang/locallang_misc.xml:localizeMergeIfNotBlank'))
+                       );
+               }
+               return $icon;
+       }
+
+       /**
         * Rendering preview output of a field value which is not shown as a form field but just outputted.
         *
         * @param       string          The value to output
index 710bda2..e10eded 100644 (file)
@@ -499,6 +499,7 @@ $GLOBALS['TBE_STYLES']['spriteIconApi']['coreSpriteImageNames'] = array(
        'actions-edit-insert-default',
        'actions-edit-localize-status-high',
        'actions-edit-localize-status-low',
+       'actions-edit-merge-localization',
        'actions-edit-pick-date',
        'actions-edit-rename',
        'actions-edit-restore',
@@ -655,7 +656,6 @@ $GLOBALS['TBE_STYLES']['spriteIconApi']['coreSpriteImageNames'] = array(
        'mimetypes-text-js',
        'mimetypes-text-php',
        'mimetypes-text-text',
-       'mimetypes-word',
        'mimetypes-x-content-divider',
        'mimetypes-x-content-domain',
        'mimetypes-x-content-form',
@@ -771,18 +771,6 @@ $GLOBALS['TBE_STYLES']['spriteIconApi']['coreSpriteImageNames'] = array(
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
 $GLOBALS['TBE_STYLES']['spriteIconApi']['spriteIconRecordOverlayPriorities'] = array(
        'deleted',
        'hidden',
index 7048bac..1101c01 100644 (file)
         <source>Localize all records</source>
         <target approved="yes">Localize all records</target>
       </trans-unit>
+      <trans-unit id="localizeMergeIfNotBlank">
+        <source>The value of the default language will be used if this field is left empty in the translation.</source>
+        <target>The value of the default language will be used if this field is left empty in the translation.</target>
+      </trans-unit>
       <trans-unit id="synchronizeWithOriginalLanguage">
         <source>Synchronize with original language</source>
         <target approved="yes">Synchronize with original language</target>
diff --git a/typo3/sysext/t3skin/images/icons/actions/edit-merge-localization.png b/typo3/sysext/t3skin/images/icons/actions/edit-merge-localization.png
new file mode 100644 (file)
index 0000000..7502dbb
Binary files /dev/null and b/typo3/sysext/t3skin/images/icons/actions/edit-merge-localization.png differ
index 41d1309..b6372ee 100644 (file)
Binary files a/typo3/sysext/t3skin/images/sprites/t3skin.png and b/typo3/sysext/t3skin/images/sprites/t3skin.png differ
index 6af278d..8ed8bd6 100644 (file)
@@ -1,24 +1,24 @@
 
 .t3-icon-actions {
-       background-image: url('../../images/sprites/t3skin.png?1310994185') !important;
+       background-image: url('../../images/sprites/t3skin.png?1312224321') !important;
        height: 16px;
        width: 16px;
 }
 
 .t3-icon-apps {
-       background-image: url('../../images/sprites/t3skin.png?1310994185') !important;
+       background-image: url('../../images/sprites/t3skin.png?1312224321') !important;
        height: 16px;
        width: 16px;
 }
 
 .t3-icon-mimetypes {
-       background-image: url('../../images/sprites/t3skin.png?1310994185') !important;
+       background-image: url('../../images/sprites/t3skin.png?1312224321') !important;
        height: 16px;
        width: 16px;
 }
 
 .t3-icon-status {
-       background-image: url('../../images/sprites/t3skin.png?1310994185') !important;
+       background-image: url('../../images/sprites/t3skin.png?1312224321') !important;
        height: 16px;
        width: 16px;
 }
        background-position: -234px -18px !important;
 
 }
-.t3-icon-edit-pick-date {
+.t3-icon-edit-merge-localization {
        background-position: -252px -18px !important;
 
 }
-.t3-icon-edit-rename {
+.t3-icon-edit-pick-date {
        background-position: -270px -18px !important;
 
 }
-.t3-icon-edit-restore {
+.t3-icon-edit-rename {
        background-position: -288px -18px !important;
 
 }
-.t3-icon-edit-undelete-edit {
+.t3-icon-edit-restore {
        background-position: -306px -18px !important;
 
 }
-.t3-icon-edit-undo {
+.t3-icon-edit-undelete-edit {
        background-position: -0px -36px !important;
 
 }
-.t3-icon-edit-unhide {
+.t3-icon-edit-undo {
        background-position: -18px -36px !important;
 
 }
-.t3-icon-edit-upload {
+.t3-icon-edit-unhide {
        background-position: -36px -36px !important;
 
 }
+.t3-icon-edit-upload {
+       background-position: -54px -36px !important;
+
+}
 .t3-icon-input-clear {
        background-position: -0px -324px !important;
        height: 13px;
 
 }
 .t3-icon-insert-record {
-       background-position: -54px -36px !important;
+       background-position: -72px -36px !important;
 
 }
 .t3-icon-insert-reference {
-       background-position: -72px -36px !important;
+       background-position: -90px -36px !important;
 
 }
 .t3-icon-message-error-close {
-       background-position: -90px -36px !important;
+       background-position: -108px -36px !important;
 
 }
 .t3-icon-message-information-close {
-       background-position: -108px -36px !important;
+       background-position: -126px -36px !important;
 
 }
 .t3-icon-message-notice-close {
-       background-position: -126px -36px !important;
+       background-position: -144px -36px !important;
 
 }
 .t3-icon-message-ok-close {
-       background-position: -144px -36px !important;
+       background-position: -162px -36px !important;
 
 }
 .t3-icon-message-warning-close {
-       background-position: -162px -36px !important;
+       background-position: -180px -36px !important;
 
 }
 .t3-icon-move-down {
-       background-position: -180px -36px !important;
+       background-position: -198px -36px !important;
 
 }
 .t3-icon-move-left {
-       background-position: -198px -36px !important;
+       background-position: -216px -36px !important;
 
 }
 .t3-icon-move-move {
-       background-position: -216px -36px !important;
+       background-position: -234px -36px !important;
 
 }
 .t3-icon-move-right {
-       background-position: -234px -36px !important;
+       background-position: -252px -36px !important;
 
 }
 .t3-icon-move-to-bottom {
-       background-position: -252px -36px !important;
+       background-position: -270px -36px !important;
 
 }
 .t3-icon-move-to-top {
-       background-position: -270px -36px !important;
+       background-position: -288px -36px !important;
 
 }
 .t3-icon-move-up {
-       background-position: -288px -36px !important;
+       background-position: -306px -36px !important;
 
 }
 .t3-icon-page-move {
-       background-position: -306px -36px !important;
+       background-position: -0px -54px !important;
 
 }
 .t3-icon-page-new {
-       background-position: -0px -54px !important;
+       background-position: -18px -54px !important;
 
 }
 .t3-icon-page-open {
-       background-position: -18px -54px !important;
+       background-position: -36px -54px !important;
 
 }
 .t3-icon-selection-delete {
-       background-position: -36px -54px !important;
+       background-position: -54px -54px !important;
 
 }
 .t3-icon-system-backend-user-emulate {
-       background-position: -54px -54px !important;
+       background-position: -72px -54px !important;
 
 }
 .t3-icon-system-backend-user-switch {
-       background-position: -72px -54px !important;
+       background-position: -90px -54px !important;
 
 }
 .t3-icon-system-cache-clear-impact-high {
-       background-position: -108px -54px !important;
+       background-position: -126px -54px !important;
 
 }
 .t3-icon-system-cache-clear-impact-low {
-       background-position: -126px -54px !important;
+       background-position: -144px -54px !important;
 
 }
 .t3-icon-system-cache-clear-impact-medium {
-       background-position: -144px -54px !important;
+       background-position: -162px -54px !important;
 
 }
 .t3-icon-system-cache-clear-rte {
-       background-position: -162px -54px !important;
+       background-position: -180px -54px !important;
 
 }
 .t3-icon-system-cache-clear {
-       background-position: -90px -54px !important;
+       background-position: -108px -54px !important;
 
 }
 .t3-icon-system-extension-documentation {
-       background-position: -180px -54px !important;
+       background-position: -198px -54px !important;
 
 }
 .t3-icon-system-extension-download {
-       background-position: -198px -54px !important;
+       background-position: -216px -54px !important;
 
 }
 .t3-icon-system-extension-import {
-       background-position: -216px -54px !important;
+       background-position: -234px -54px !important;
 
 }
 .t3-icon-system-extension-install {
-       background-position: -234px -54px !important;
+       background-position: -252px -54px !important;
 
 }
 .t3-icon-system-extension-uninstall {
-       background-position: -252px -54px !important;
+       background-position: -270px -54px !important;
 
 }
 .t3-icon-system-extension-update {
-       background-position: -270px -54px !important;
+       background-position: -288px -54px !important;
 
 }
 .t3-icon-system-help-open {
-       background-position: -288px -54px !important;
+       background-position: -306px -54px !important;
 
 }
 .t3-icon-system-list-open {
-       background-position: -306px -54px !important;
+       background-position: -0px -72px !important;
 
 }
 .t3-icon-system-options-view {
-       background-position: -0px -72px !important;
+       background-position: -18px -72px !important;
 
 }
 .t3-icon-system-pagemodule-open {
-       background-position: -18px -72px !important;
+       background-position: -36px -72px !important;
 
 }
 .t3-icon-system-refresh {
-       background-position: -36px -72px !important;
+       background-position: -54px -72px !important;
 
 }
 .t3-icon-system-shortcut-new {
-       background-position: -54px -72px !important;
+       background-position: -72px -72px !important;
 
 }
 .t3-icon-system-tree-search-open {
-       background-position: -72px -72px !important;
+       background-position: -90px -72px !important;
 
 }
 .t3-icon-system-typoscript-documentation-open {
-       background-position: -108px -72px !important;
+       background-position: -126px -72px !important;
 
 }
 .t3-icon-system-typoscript-documentation {
-       background-position: -90px -72px !important;
+       background-position: -108px -72px !important;
 
 }
 .t3-icon-template-new {
-       background-position: -126px -72px !important;
+       background-position: -144px -72px !important;
 
 }
 .t3-icon-version-document-remove {
-       background-position: -144px -72px !important;
+       background-position: -162px -72px !important;
 
 }
 .t3-icon-version-page-open {
-       background-position: -162px -72px !important;
+       background-position: -180px -72px !important;
 
 }
 .t3-icon-version-swap-version {
-       background-position: -180px -72px !important;
+       background-position: -198px -72px !important;
 
 }
 .t3-icon-version-swap-workspace {
-       background-position: -198px -72px !important;
+       background-position: -216px -72px !important;
 
 }
 .t3-icon-version-workspace-preview {
-       background-position: -216px -72px !important;
+       background-position: -234px -72px !important;
 
 }
 .t3-icon-version-workspace-sendtostage {
-       background-position: -234px -72px !important;
+       background-position: -252px -72px !important;
 
 }
 .t3-icon-view-go-back {
-       background-position: -252px -72px !important;
+       background-position: -270px -72px !important;
 
 }
 .t3-icon-view-go-down {
-       background-position: -270px -72px !important;
+       background-position: -288px -72px !important;
 
 }
 .t3-icon-view-go-forward {
-       background-position: -288px -72px !important;
+       background-position: -306px -72px !important;
 
 }
 .t3-icon-view-go-up {
-       background-position: -306px -72px !important;
+       background-position: -0px -90px !important;
 
 }
 .t3-icon-view-list-collapse {
-       background-position: -0px -90px !important;
+       background-position: -18px -90px !important;
 
 }
 .t3-icon-view-list-expand {
-       background-position: -18px -90px !important;
+       background-position: -36px -90px !important;
 
 }
 .t3-icon-view-paging-first-disabled {
-       background-position: -54px -90px !important;
+       background-position: -72px -90px !important;
 
 }
 .t3-icon-view-paging-first {
-       background-position: -36px -90px !important;
+       background-position: -54px -90px !important;
 
 }
 .t3-icon-view-paging-last-disabled {
-       background-position: -90px -90px !important;
+       background-position: -108px -90px !important;
 
 }
 .t3-icon-view-paging-last {
-       background-position: -72px -90px !important;
+       background-position: -90px -90px !important;
 
 }
 .t3-icon-view-paging-next-disabled {
-       background-position: -126px -90px !important;
+       background-position: -144px -90px !important;
 
 }
 .t3-icon-view-paging-next {
-       background-position: -108px -90px !important;
+       background-position: -126px -90px !important;
 
 }
 .t3-icon-view-paging-previous-disabled {
-       background-position: -162px -90px !important;
+       background-position: -180px -90px !important;
 
 }
 .t3-icon-view-paging-previous {
-       background-position: -144px -90px !important;
+       background-position: -162px -90px !important;
 
 }
 .t3-icon-view-table-collapse {
-       background-position: -180px -90px !important;
+       background-position: -198px -90px !important;
 
 }
 .t3-icon-view-table-expand {
-       background-position: -198px -90px !important;
+       background-position: -216px -90px !important;
 
 }
 .t3-icon-window-open {
-       background-position: -216px -90px !important;
+       background-position: -234px -90px !important;
 
 }
 .t3-icon-clipboard-images {
-       background-position: -234px -90px !important;
+       background-position: -252px -90px !important;
 
 }
 .t3-icon-clipboard-list {
-       background-position: -252px -90px !important;
+       background-position: -270px -90px !important;
 
 }
 .t3-icon-filetree-folder-add {
-       background-position: -270px -90px !important;
+       background-position: -288px -90px !important;
 
 }
 .t3-icon-filetree-folder-default {
-       background-position: -288px -90px !important;
+       background-position: -306px -90px !important;
 
 }
 .t3-icon-filetree-folder-list {
-       background-position: -306px -90px !important;
+       background-position: -0px -108px !important;
 
 }
 .t3-icon-filetree-folder-locked {
-       background-position: -0px -108px !important;
+       background-position: -18px -108px !important;
 
 }
 .t3-icon-filetree-folder-media {
-       background-position: -18px -108px !important;
+       background-position: -36px -108px !important;
 
 }
 .t3-icon-filetree-folder-news {
-       background-position: -36px -108px !important;
+       background-position: -54px -108px !important;
 
 }
 .t3-icon-filetree-folder-opened {
-       background-position: -54px -108px !important;
+       background-position: -72px -108px !important;
 
 }
 .t3-icon-filetree-folder-recycler {
-       background-position: -72px -108px !important;
+       background-position: -90px -108px !important;
 
 }
 .t3-icon-filetree-folder-temp {
-       background-position: -90px -108px !important;
+       background-position: -108px -108px !important;
 
 }
 .t3-icon-filetree-folder-user {
-       background-position: -108px -108px !important;
+       background-position: -126px -108px !important;
 
 }
 .t3-icon-filetree-mount {
-       background-position: -126px -108px !important;
+       background-position: -144px -108px !important;
 
 }
 .t3-icon-filetree-root {
-       background-position: -144px -108px !important;
+       background-position: -162px -108px !important;
 
 }
 .t3-icon-pagetree-backend-user-hideinmenu {
-       background-position: -180px -108px !important;
+       background-position: -198px -108px !important;
 
 }
 .t3-icon-pagetree-backend-user {
-       background-position: -162px -108px !important;
+       background-position: -180px -108px !important;
 
 }
 .t3-icon-pagetree-collapse {
-       background-position: -198px -108px !important;
+       background-position: -216px -108px !important;
 
 }
 .t3-icon-pagetree-drag-copy-above {
-       background-position: -216px -108px !important;
+       background-position: -234px -108px !important;
 
 }
 .t3-icon-pagetree-drag-copy-below {
-       background-position: -234px -108px !important;
+       background-position: -252px -108px !important;
 
 }
 .t3-icon-pagetree-drag-move-above {
-       background-position: -252px -108px !important;
+       background-position: -270px -108px !important;
 
 }
 .t3-icon-pagetree-drag-move-below {
-       background-position: -270px -108px !important;
+       background-position: -288px -108px !important;
 
 }
 .t3-icon-pagetree-drag-move-between {
-       background-position: -288px -108px !important;
+       background-position: -306px -108px !important;
 
 }
 .t3-icon-pagetree-drag-move-into {
-       background-position: -306px -108px !important;
+       background-position: -0px -126px !important;
 
 }
 .t3-icon-pagetree-drag-new-between {
-       background-position: -0px -126px !important;
+       background-position: -18px -126px !important;
 
 }
 .t3-icon-pagetree-drag-new-inside {
-       background-position: -18px -126px !important;
+       background-position: -36px -126px !important;
 
 }
 .t3-icon-pagetree-drag-place-denied {
-       background-position: -36px -126px !important;
+       background-position: -54px -126px !important;
 
 }
 .t3-icon-pagetree-expand {
-       background-position: -54px -126px !important;
+       background-position: -72px -126px !important;
 
 }
 .t3-icon-pagetree-folder-contains-approve {
-       background-position: -72px -126px !important;
+       background-position: -90px -126px !important;
 
 }
 .t3-icon-pagetree-folder-contains-board {
-       background-position: -90px -126px !important;
+       background-position: -108px -126px !important;
 
 }
 .t3-icon-pagetree-folder-contains-fe_users {
-       background-position: -108px -126px !important;
+       background-position: -126px -126px !important;
 
 }
 .t3-icon-pagetree-folder-contains-news {
-       background-position: -126px -126px !important;
+       background-position: -144px -126px !important;
 
 }
 .t3-icon-pagetree-folder-contains-shop {
 
 }
 .t3-icon-pagetree-folder-default {
-       background-position: -144px -126px !important;
+       background-position: -162px -126px !important;
 
 }
 .t3-icon-pagetree-page-advanced-hideinmenu {
-       background-position: -180px -126px !important;
+       background-position: -198px -126px !important;
 
 }
 .t3-icon-pagetree-page-advanced-root {
-       background-position: -198px -126px !important;
+       background-position: -216px -126px !important;
 
 }
 .t3-icon-pagetree-page-advanced {
-       background-position: -162px -126px !important;
+       background-position: -180px -126px !important;
 
 }
 .t3-icon-pagetree-page-backend-users-hideinmenu {
-       background-position: -234px -126px !important;
+       background-position: -252px -126px !important;
 
 }
 .t3-icon-pagetree-page-backend-users-root {
-       background-position: -252px -126px !important;
+       background-position: -270px -126px !important;
 
 }
 .t3-icon-pagetree-page-backend-users {
-       background-position: -216px -126px !important;
+       background-position: -234px -126px !important;
 
 }
 .t3-icon-pagetree-page-default {
-       background-position: -270px -126px !important;
+       background-position: -288px -126px !important;
 
 }
 .t3-icon-pagetree-page-domain {
-       background-position: -288px -126px !important;
+       background-position: -306px -126px !important;
 
 }
 .t3-icon-pagetree-page-frontend-user-hideinmenu {
-       background-position: -0px -144px !important;
+       background-position: -18px -144px !important;
 
 }
 .t3-icon-pagetree-page-frontend-user-root {
-       background-position: -18px -144px !important;
+       background-position: -36px -144px !important;
 
 }
 .t3-icon-pagetree-page-frontend-user {
-       background-position: -306px -126px !important;
+       background-position: -0px -144px !important;
 
 }
 .t3-icon-pagetree-page-frontend-users-hideinmenu {
-       background-position: -54px -144px !important;
+       background-position: -72px -144px !important;
 
 }
 .t3-icon-pagetree-page-frontend-users-root {
-       background-position: -72px -144px !important;
+       background-position: -90px -144px !important;
 
 }
 .t3-icon-pagetree-page-frontend-users {
-       background-position: -36px -144px !important;
+       background-position: -54px -144px !important;
 
 }
 .t3-icon-pagetree-page-mountpoint-hideinmenu {
-       background-position: -108px -144px !important;
+       background-position: -126px -144px !important;
 
 }
 .t3-icon-pagetree-page-mountpoint-root {
-       background-position: -126px -144px !important;
+       background-position: -144px -144px !important;
 
 }
 .t3-icon-pagetree-page-mountpoint {
-       background-position: -90px -144px !important;
+       background-position: -108px -144px !important;
 
 }
 .t3-icon-pagetree-page-no-icon-found-hideinmenu {
-       background-position: -162px -144px !important;
+       background-position: -180px -144px !important;
 
 }
 .t3-icon-pagetree-page-no-icon-found-root {
-       background-position: -180px -144px !important;
+       background-position: -198px -144px !important;
 
 }
 .t3-icon-pagetree-page-no-icon-found {
-       background-position: -144px -144px !important;
+       background-position: -162px -144px !important;
 
 }
 .t3-icon-pagetree-page-not-in-menu {
-       background-position: -198px -144px !important;
+       background-position: -216px -144px !important;
 
 }
 .t3-icon-pagetree-page-recycler {
-       background-position: -216px -144px !important;
+       background-position: -234px -144px !important;
 
 }
 .t3-icon-pagetree-page-shortcut-external-hideinmenu {
-       background-position: -270px -144px !important;
+       background-position: -288px -144px !important;
 
 }
 .t3-icon-pagetree-page-shortcut-external-root {
-       background-position: -288px -144px !important;
+       background-position: -306px -144px !important;
 
 }
 .t3-icon-pagetree-page-shortcut-external {
-       background-position: -252px -144px !important;
+       background-position: -270px -144px !important;
 
 }
 .t3-icon-pagetree-page-shortcut-hideinmenu {
-       background-position: -306px -144px !important;
+       background-position: -0px -162px !important;
 
 }
 .t3-icon-pagetree-page-shortcut-root {
-       background-position: -0px -162px !important;
+       background-position: -18px -162px !important;
 
 }
 .t3-icon-pagetree-page-shortcut {
-       background-position: -234px -144px !important;
+       background-position: -252px -144px !important;
 
 }
 .t3-icon-pagetree-root {
-       background-position: -18px -162px !important;
+       background-position: -36px -162px !important;
 
 }
 .t3-icon-pagetree-spacer {
-       background-position: -36px -162px !important;
+       background-position: -54px -162px !important;
 
 }
 .t3-icon-toolbar-menu-actions {
-       background-position: -54px -162px !important;
+       background-position: -72px -162px !important;
 
 }
 .t3-icon-toolbar-menu-cache {
-       background-position: -72px -162px !important;
+       background-position: -90px -162px !important;
 
 }
 .t3-icon-toolbar-menu-opendocs {
-       background-position: -90px -162px !important;
+       background-position: -108px -162px !important;
 
 }
 .t3-icon-toolbar-menu-search {
-       background-position: -108px -162px !important;
+       background-position: -126px -162px !important;
 
 }
 .t3-icon-toolbar-menu-shortcut {
-       background-position: -126px -162px !important;
+       background-position: -144px -162px !important;
 
 }
 .t3-icon-toolbar-menu-workspace {
-       background-position: -144px -162px !important;
+       background-position: -162px -162px !important;
 
 }
 .t3-icon-compressed {
-       background-position: -162px -162px !important;
+       background-position: -180px -162px !important;
 
 }
 .t3-icon-excel {
-       background-position: -180px -162px !important;
+       background-position: -198px -162px !important;
 
 }
 .t3-icon-media-audio {
-       background-position: -198px -162px !important;
+       background-position: -216px -162px !important;
 
 }
 .t3-icon-media-flash {
-       background-position: -216px -162px !important;
+       background-position: -234px -162px !important;
 
 }
 .t3-icon-media-image {
-       background-position: -234px -162px !important;
+       background-position: -252px -162px !important;
 
 }
 .t3-icon-media-video {
-       background-position: -252px -162px !important;
+       background-position: -270px -162px !important;
 
 }
 .t3-icon-other-other {
-       background-position: -270px -162px !important;
+       background-position: -288px -162px !important;
 
 }
 .t3-icon-pdf {
-       background-position: -288px -162px !important;
+       background-position: -306px -162px !important;
 
 }
 .t3-icon-powerpoint {
-       background-position: -306px -162px !important;
+       background-position: -0px -180px !important;
 
 }
 .t3-icon-text-css {
-       background-position: -0px -180px !important;
+       background-position: -18px -180px !important;
 
 }
 .t3-icon-text-csv {
-       background-position: -18px -180px !important;
+       background-position: -36px -180px !important;
 
 }
 .t3-icon-text-html {
-       background-position: -36px -180px !important;
+       background-position: -54px -180px !important;
 
 }
 .t3-icon-text-js {
-       background-position: -54px -180px !important;
+       background-position: -72px -180px !important;
 
 }
 .t3-icon-text-php {
-       background-position: -72px -180px !important;
+       background-position: -90px -180px !important;
 
 }
 .t3-icon-text-text {
-       background-position: -90px -180px !important;
+       background-position: -108px -180px !important;
 
 }
 .t3-icon-word {
-       background-position: -108px -180px !important;
+       background-position: -126px -180px !important;
 
 }
 .t3-icon-x-content-divider {
-       background-position: -126px -180px !important;
+       background-position: -144px -180px !important;
 
 }
 .t3-icon-x-content-domain {
-       background-position: -144px -180px !important;
+       background-position: -162px -180px !important;
 
 }
 .t3-icon-x-content-form-search {
-       background-position: -180px -180px !important;
+       background-position: -198px -180px !important;
 
 }
 .t3-icon-x-content-form {
-       background-position: -162px -180px !important;
+       background-position: -180px -180px !important;
 
 }
 .t3-icon-x-content-header {
-       background-position: -198px -180px !important;
+       background-position: -216px -180px !important;
 
 }
 .t3-icon-x-content-html {
-       background-position: -216px -180px !important;
+       background-position: -234px -180px !important;
 
 }
 .t3-icon-x-content-image {
-       background-position: -234px -180px !important;
+       background-position: -252px -180px !important;
 
 }
 .t3-icon-x-content-link {
-       background-position: -252px -180px !important;
+       background-position: -270px -180px !important;
 
 }
 .t3-icon-x-content-list-bullets {
-       background-position: -270px -180px !important;
+       background-position: -288px -180px !important;
 
 }
 .t3-icon-x-content-list-files {
-       background-position: -288px -180px !important;
+       background-position: -306px -180px !important;
 
 }
 .t3-icon-x-content-login {
-       background-position: -306px -180px !important;
+       background-position: -0px -198px !important;
 
 }
 .t3-icon-x-content-menu {
-       background-position: -0px -198px !important;
+       background-position: -18px -198px !important;
 
 }
 .t3-icon-x-content-multimedia {
-       background-position: -18px -198px !important;
+       background-position: -36px -198px !important;
 
 }
 .t3-icon-x-content-page-language-overlay {
-       background-position: -36px -198px !important;
+       background-position: -54px -198px !important;
 
 }
 .t3-icon-x-content-plugin {
-       background-position: -54px -198px !important;
+       background-position: -72px -198px !important;
 
 }
 .t3-icon-x-content-script {
-       background-position: -72px -198px !important;
+       background-position: -90px -198px !important;
 
 }
 .t3-icon-x-content-table {
-       background-position: -90px -198px !important;
+       background-position: -108px -198px !important;
 
 }
 .t3-icon-x-content-template-extension {
-       background-position: -126px -198px !important;
+       background-position: -144px -198px !important;
 
 }
 .t3-icon-x-content-template-static {
-       background-position: -144px -198px !important;
+       background-position: -162px -198px !important;
 
 }
 .t3-icon-x-content-template {
-       background-position: -108px -198px !important;
+       background-position: -126px -198px !important;
 
 }
 .t3-icon-x-content-text-picture {
-       background-position: -180px -198px !important;
+       background-position: -198px -198px !important;
 
 }
 .t3-icon-x-content-text {
-       background-position: -162px -198px !important;
+       background-position: -180px -198px !important;
 
 }
 .t3-icon-x-sys_action {
-       background-position: -198px -198px !important;
+       background-position: -216px -198px !important;
 
 }
 .t3-icon-x-sys_language {
 
 }
 .t3-icon-x-sys_news {
-       background-position: -216px -198px !important;
+       background-position: -234px -198px !important;
 
 }
 .t3-icon-x-sys_workspace {
-       background-position: -234px -198px !important;
+       background-position: -252px -198px !important;
 
 }
 .t3-icon-x_belayout {
-       background-position: -252px -198px !important;
+       background-position: -270px -198px !important;
 
 }
 .t3-icon-dialog-error {
-       background-position: -270px -198px !important;
+       background-position: -288px -198px !important;
 
 }
 .t3-icon-dialog-information {
-       background-position: -288px -198px !important;
+       background-position: -306px -198px !important;
 
 }
 .t3-icon-dialog-notification {
-       background-position: -306px -198px !important;
+       background-position: -0px -216px !important;
 
 }
 .t3-icon-dialog-ok {
-       background-position: -0px -216px !important;
+       background-position: -18px -216px !important;
 
 }
 .t3-icon-dialog-warning {
-       background-position: -18px -216px !important;
+       background-position: -36px -216px !important;
 
 }
 .t3-icon-overlay-access-restricted {
-       background-position: -36px -216px !important;
+       background-position: -54px -216px !important;
 
 }
 .t3-icon-overlay-deleted {
-       background-position: -54px -216px !important;
+       background-position: -72px -216px !important;
 
 }
 .t3-icon-overlay-hidden {
-       background-position: -72px -216px !important;
+       background-position: -90px -216px !important;
 
 }
 .t3-icon-overlay-icon-missing {
-       background-position: -90px -216px !important;
+       background-position: -108px -216px !important;
 
 }
 .t3-icon-overlay-includes-subpages {
-       background-position: -108px -216px !important;
+       background-position: -126px -216px !important;
 
 }
 .t3-icon-overlay-locked {
-       background-position: -126px -216px !important;
+       background-position: -144px -216px !important;
 
 }
 .t3-icon-overlay-scheduled-future-end {
-       background-position: -162px -216px !important;
+       background-position: -180px -216px !important;
 
 }
 .t3-icon-overlay-scheduled {
-       background-position: -144px -216px !important;
+       background-position: -162px -216px !important;
 
 }
 .t3-icon-overlay-translated {
-       background-position: -180px -216px !important;
+       background-position: -198px -216px !important;
 
 }
 .t3-icon-status-checked {
-       background-position: -198px -216px !important;
+       background-position: -216px -216px !important;
 
 }
 .t3-icon-status-current {
-       background-position: -216px -216px !important;
+       background-position: -234px -216px !important;
 
 }
 .t3-icon-status-edit-read-only {
-       background-position: -234px -216px !important;
+       background-position: -252px -216px !important;
 
 }
 .t3-icon-status-icon-missing {
-       background-position: -252px -216px !important;
+       background-position: -270px -216px !important;
 
 }
 .t3-icon-status-locked {
-       background-position: -270px -216px !important;
+       background-position: -288px -216px !important;
 
 }
 .t3-icon-status-permission-denied {
-       background-position: -288px -216px !important;
+       background-position: -306px -216px !important;
 
 }
 .t3-icon-status-permission-granted {
-       background-position: -306px -216px !important;
+       background-position: -0px -234px !important;
 
 }
 .t3-icon-status-reference-hard {
-       background-position: -0px -234px !important;
+       background-position: -18px -234px !important;
 
 }
 .t3-icon-status-reference-soft {
-       background-position: -18px -234px !important;
+       background-position: -36px -234px !important;
 
 }
 .t3-icon-status-workspace-draft {
-       background-position: -36px -234px !important;
+       background-position: -54px -234px !important;
 
 }
 .t3-icon-system-extension-required {
-       background-position: -54px -234px !important;
+       background-position: -72px -234px !important;
 
 }
 .t3-icon-user-admin {
-       background-position: -72px -234px !important;
+       background-position: -90px -234px !important;
 
 }
 .t3-icon-user-backend {
-       background-position: -90px -234px !important;
+       background-position: -108px -234px !important;
 
 }
 .t3-icon-user-frontend {
-       background-position: -108px -234px !important;
+       background-position: -126px -234px !important;
 
 }
 .t3-icon-user-group-backend {
-       background-position: -126px -234px !important;
+       background-position: -144px -234px !important;
 
 }
 .t3-icon-user-group-frontend {
-       background-position: -144px -234px !important;
+       background-position: -162px -234px !important;
 
 }
 .t3-icon-version-1 {
-       background-position: -162px -234px !important;
+       background-position: -180px -234px !important;
 
 }
 .t3-icon-version-10 {
-       background-position: -0px -252px !important;
+       background-position: -18px -252px !important;
 
 }
 .t3-icon-version-11 {
-       background-position: -18px -252px !important;
+       background-position: -36px -252px !important;
 
 }
 .t3-icon-version-12 {
-       background-position: -36px -252px !important;
+       background-position: -54px -252px !important;
 
 }
 .t3-icon-version-13 {
-       background-position: -54px -252px !important;
+       background-position: -72px -252px !important;
 
 }
 .t3-icon-version-14 {
-       background-position: -72px -252px !important;
+       background-position: -90px -252px !important;
 
 }
 .t3-icon-version-15 {
-       background-position: -90px -252px !important;
+       background-position: -108px -252px !important;
 
 }
 .t3-icon-version-16 {
-       background-position: -108px -252px !important;
+       background-position: -126px -252px !important;
 
 }
 .t3-icon-version-17 {
-       background-position: -126px -252px !important;
+       background-position: -144px -252px !important;
 
 }
 .t3-icon-version-18 {
-       background-position: -144px -252px !important;
+       background-position: -162px -252px !important;
 
 }
 .t3-icon-version-19 {
-       background-position: -162px -252px !important;
+       background-position: -180px -252px !important;
 
 }
 .t3-icon-version-2 {
-       background-position: -180px -234px !important;
+       background-position: -198px -234px !important;
 
 }
 .t3-icon-version-20 {
-       background-position: -180px -252px !important;
+       background-position: -198px -252px !important;
 
 }
 .t3-icon-version-21 {
-       background-position: -198px -252px !important;
+       background-position: -216px -252px !important;
 
 }
 .t3-icon-version-22 {
-       background-position: -216px -252px !important;
+       background-position: -234px -252px !important;
 
 }
 .t3-icon-version-23 {
-       background-position: -234px -252px !important;
+       background-position: -252px -252px !important;
 
 }
 .t3-icon-version-24 {
-       background-position: -252px -252px !important;
+       background-position: -270px -252px !important;
 
 }
 .t3-icon-version-25 {
-       background-position: -270px -252px !important;
+       background-position: -288px -252px !important;
 
 }
 .t3-icon-version-26 {
-       background-position: -288px -252px !important;
+       background-position: -306px -252px !important;
 
 }
 .t3-icon-version-27 {
-       background-position: -306px -252px !important;
+       background-position: -0px -270px !important;
 
 }
 .t3-icon-version-28 {
-       background-position: -0px -270px !important;
+       background-position: -18px -270px !important;
 
 }
 .t3-icon-version-29 {
-       background-position: -18px -270px !important;
+       background-position: -36px -270px !important;
 
 }
 .t3-icon-version-3 {
-       background-position: -198px -234px !important;
+       background-position: -216px -234px !important;
 
 }
 .t3-icon-version-30 {
-       background-position: -36px -270px !important;
+       background-position: -54px -270px !important;
 
 }
 .t3-icon-version-31 {
-       background-position: -54px -270px !important;
+       background-position: -72px -270px !important;
 
 }
 .t3-icon-version-32 {
-       background-position: -72px -270px !important;
+       background-position: -90px -270px !important;
 
 }
 .t3-icon-version-33 {
-       background-position: -90px -270px !important;
+       background-position: -108px -270px !important;
 
 }
 .t3-icon-version-34 {
-       background-position: -108px -270px !important;
+       background-position: -126px -270px !important;
 
 }
 .t3-icon-version-35 {
-       background-position: -126px -270px !important;
+       background-position: -144px -270px !important;
 
 }
 .t3-icon-version-36 {
-       background-position: -144px -270px !important;
+       background-position: -162px -270px !important;
 
 }
 .t3-icon-version-37 {
-       background-position: -162px -270px !important;
+       background-position: -180px -270px !important;
 
 }
 .t3-icon-version-38 {
-       background-position: -180px -270px !important;
+       background-position: -198px -270px !important;
 
 }
 .t3-icon-version-39 {
-       background-position: -198px -270px !important;
+       background-position: -216px -270px !important;
 
 }
 .t3-icon-version-4 {
-       background-position: -216px -234px !important;
+       background-position: -234px -234px !important;
 
 }
 .t3-icon-version-40 {
-       background-position: -216px -270px !important;
+       background-position: -234px -270px !important;
 
 }
 .t3-icon-version-41 {
-       background-position: -234px -270px !important;
+       background-position: -252px -270px !important;
 
 }
 .t3-icon-version-42 {
-       background-position: -252px -270px !important;
+       background-position: -270px -270px !important;
 
 }
 .t3-icon-version-43 {
-       background-position: -270px -270px !important;
+       background-position: -288px -270px !important;
 
 }
 .t3-icon-version-44 {
-       background-position: -288px -270px !important;
+       background-position: -306px -270px !important;
 
 }
 .t3-icon-version-45 {
-       background-position: -306px -270px !important;
+       background-position: -0px -288px !important;
 
 }
 .t3-icon-version-46 {
-       background-position: -0px -288px !important;
+       background-position: -18px -288px !important;
 
 }
 .t3-icon-version-47 {
-       background-position: -18px -288px !important;
+       background-position: -36px -288px !important;
 
 }
 .t3-icon-version-48 {
-       background-position: -36px -288px !important;
+       background-position: -54px -288px !important;
 
 }
 .t3-icon-version-49 {
-       background-position: -54px -288px !important;
+       background-position: -72px -288px !important;
 
 }
 .t3-icon-version-5 {
-       background-position: -234px -234px !important;
+       background-position: -252px -234px !important;
 
 }
 .t3-icon-version-50 {
-       background-position: -72px -288px !important;
+       background-position: -90px -288px !important;
 
 }
 .t3-icon-version-6 {
-       background-position: -252px -234px !important;
+       background-position: -270px -234px !important;
 
 }
 .t3-icon-version-7 {
-       background-position: -270px -234px !important;
+       background-position: -288px -234px !important;
 
 }
 .t3-icon-version-8 {
-       background-position: -288px -234px !important;
+       background-position: -306px -234px !important;
 
 }
 .t3-icon-version-9 {
-       background-position: -306px -234px !important;
+       background-position: -0px -252px !important;
 
 }
 .t3-icon-version-no-version {
-       background-position: -90px -288px !important;
+       background-position: -108px -288px !important;
 
 }
 .t3-icon-warning-in-use {
-       background-position: -108px -288px !important;
+       background-position: -126px -288px !important;
 
 }
 .t3-icon-warning-lock {
-       background-position: -126px -288px !important;
+       background-position: -144px -288px !important;
 
 }