‪TYPO3CMS  ‪main
DrawingConfiguration.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
23 
37 {
38  protected int ‪$selectedLanguageId = 0;
39 
44 
52 
56  protected array ‪$languageColumns = [];
57 
61  protected bool ‪$showHidden = true;
62 
68  protected array ‪$activeColumns = [1, 0, 2, 3];
69 
74 
79 
81 
83 
84  public static function ‪create(‪BackendLayout $backendLayout, array $pageTsConfig, ‪PageViewMode ‪$pageViewMode): self
85  {
86  $obj = new self();
87  $obj->pageViewMode = ‪$pageViewMode;
88  $obj->defaultLanguageBinding = !empty($pageTsConfig['mod.']['web_layout.']['defLangBinding']);
89  $obj->allowInconsistentLanguageHandling = (bool)($pageTsConfig['mod.']['web_layout.']['allowInconsistentLanguageHandling'] ?? false);
90  $obj->shouldHideRestrictedColumns = (bool)($pageTsConfig['mod.']['web_layout.']['hideRestrictedCols'] ?? false);
91  $availableColumnPositionsFromBackendLayout = array_unique($backendLayout->‪getColumnPositionNumbers());
92  $allowedColumnPositionsByTsConfig = array_unique(‪GeneralUtility::intExplode(',', (string)($pageTsConfig['mod.']['SHARED.']['colPos_list'] ?? ''), true));
93  // If there is no tsConfig colPos_list, no restriction. Else create intersection of available and allowed.
94  if (!empty($allowedColumnPositionsByTsConfig)) {
95  $obj->activeColumns = array_intersect($availableColumnPositionsFromBackendLayout, $allowedColumnPositionsByTsConfig);
96  } else {
97  $obj->activeColumns = $availableColumnPositionsFromBackendLayout;
98  }
99  $obj->allowTranslateModeForTranslations = $pageTsConfig['mod.']['web_layout.']['localization.']['enableTranslate'] ?? true;
100  $obj->allowCopyModeForTranslations = $pageTsConfig['mod.']['web_layout.']['localization.']['enableCopy'] ?? true;
101 
102  return $obj;
103  }
104 
105  public function ‪getSelectedLanguageId(): int
106  {
108  }
109 
111  {
112  $this->selectedLanguageId = ‪$selectedLanguageId;
113  }
114 
116  {
118  }
119 
120  public function ‪getDefaultLanguageBinding(): bool
121  {
123  }
124 
125  public function ‪isLanguageComparisonMode(): bool
126  {
127  return $this->pageViewMode === ‪PageViewMode::LanguageComparisonView;
128  }
129 
130  public function ‪getLanguageColumns(): array
131  {
132  if (empty($this->languageColumns)) {
133  return [0 => 'Default'];
134  }
136  }
137 
138  public function ‪setLanguageColumns(array ‪$languageColumns): void
139  {
140  $this->languageColumns = ‪$languageColumns;
141  }
142 
143  public function ‪getShowHidden(): bool
144  {
145  return ‪$this->showHidden;
146  }
147 
148  public function ‪setShowHidden(bool ‪$showHidden): void
149  {
150  $this->showHidden = ‪$showHidden;
151  }
152 
153  public function ‪getActiveColumns(): array
154  {
156  }
157 
159  {
161  }
162 
163  public function ‪copyModeForTranslationsAllowed(): bool
164  {
166  }
167 
168  public function ‪shouldHideRestrictedColumns(): bool
169  {
171  }
172 }
‪TYPO3\CMS\Backend\View\LanguageComparisonView
‪@ LanguageComparisonView
Definition: PageViewMode.php:34
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$allowCopyModeForTranslations
‪bool $allowCopyModeForTranslations
Definition: DrawingConfiguration.php:78
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$defaultLanguageBinding
‪bool $defaultLanguageBinding
Definition: DrawingConfiguration.php:51
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\isLanguageComparisonMode
‪isLanguageComparisonMode()
Definition: DrawingConfiguration.php:125
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\setLanguageColumns
‪setLanguageColumns(array $languageColumns)
Definition: DrawingConfiguration.php:138
‪TYPO3\CMS\Backend\View\BackendLayout\BackendLayout\getColumnPositionNumbers
‪string[] getColumnPositionNumbers()
Definition: BackendLayout.php:164
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\translateModeForTranslationsAllowed
‪translateModeForTranslationsAllowed()
Definition: DrawingConfiguration.php:158
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\setShowHidden
‪setShowHidden(bool $showHidden)
Definition: DrawingConfiguration.php:148
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\getSelectedLanguageId
‪getSelectedLanguageId()
Definition: DrawingConfiguration.php:105
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\getLanguageColumns
‪getLanguageColumns()
Definition: DrawingConfiguration.php:130
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\setSelectedLanguageId
‪setSelectedLanguageId(int $selectedLanguageId)
Definition: DrawingConfiguration.php:110
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$pageViewMode
‪PageViewMode $pageViewMode
Definition: DrawingConfiguration.php:82
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$allowInconsistentLanguageHandling
‪bool $allowInconsistentLanguageHandling
Definition: DrawingConfiguration.php:43
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\create
‪static create(BackendLayout $backendLayout, array $pageTsConfig, PageViewMode $pageViewMode)
Definition: DrawingConfiguration.php:84
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$shouldHideRestrictedColumns
‪bool $shouldHideRestrictedColumns
Definition: DrawingConfiguration.php:80
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$allowTranslateModeForTranslations
‪bool $allowTranslateModeForTranslations
Definition: DrawingConfiguration.php:73
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\getDefaultLanguageBinding
‪getDefaultLanguageBinding()
Definition: DrawingConfiguration.php:120
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$selectedLanguageId
‪int $selectedLanguageId
Definition: DrawingConfiguration.php:38
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$showHidden
‪bool $showHidden
Definition: DrawingConfiguration.php:61
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration
Definition: DrawingConfiguration.php:37
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$languageColumns
‪array $languageColumns
Definition: DrawingConfiguration.php:56
‪TYPO3\CMS\Backend\View\PageViewMode
‪PageViewMode
Definition: PageViewMode.php:27
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\shouldHideRestrictedColumns
‪shouldHideRestrictedColumns()
Definition: DrawingConfiguration.php:168
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\getAllowInconsistentLanguageHandling
‪getAllowInconsistentLanguageHandling()
Definition: DrawingConfiguration.php:115
‪TYPO3\CMS\Backend\View\BackendLayout\BackendLayout
Definition: BackendLayout.php:27
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\copyModeForTranslationsAllowed
‪copyModeForTranslationsAllowed()
Definition: DrawingConfiguration.php:163
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\$activeColumns
‪array $activeColumns
Definition: DrawingConfiguration.php:68
‪TYPO3\CMS\Backend\View\Drawing
Definition: BackendLayoutRenderer.php:18
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\getShowHidden
‪getShowHidden()
Definition: DrawingConfiguration.php:143
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:52
‪TYPO3\CMS\Core\Utility\GeneralUtility\intExplode
‪static list< int > intExplode(string $delimiter, string $string, bool $removeEmptyValues=false)
Definition: GeneralUtility.php:756
‪TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration\getActiveColumns
‪getActiveColumns()
Definition: DrawingConfiguration.php:153