@@ -113,14 +113,14 @@ discard block |
||
| 113 | 113 | // Early return for read only fields |
| 114 | 114 | $html = []; |
| 115 | 115 | $html[] = '<div class="formengine-field-item t3js-formengine-field-item">'; |
| 116 | - $html[] = $fieldInformationHtml; |
|
| 117 | - $html[] = '<div class="form-wizards-wrap">'; |
|
| 118 | - $html[] = '<div class="form-wizards-element">'; |
|
| 119 | - $html[] = '<div class="form-control-wrap" style="max-width: ' . $width . 'px">'; |
|
| 120 | - $html[] = '<input class="form-control" value="' . htmlspecialchars($itemValue) . '" type="text" disabled>'; |
|
| 121 | - $html[] = '</div>'; |
|
| 122 | - $html[] = '</div>'; |
|
| 123 | - $html[] = '</div>'; |
|
| 116 | + $html[] = $fieldInformationHtml; |
|
| 117 | + $html[] = '<div class="form-wizards-wrap">'; |
|
| 118 | + $html[] = '<div class="form-wizards-element">'; |
|
| 119 | + $html[] = '<div class="form-control-wrap" style="max-width: ' . $width . 'px">'; |
|
| 120 | + $html[] = '<input class="form-control" value="' . htmlspecialchars($itemValue) . '" type="text" disabled>'; |
|
| 121 | + $html[] = '</div>'; |
|
| 122 | + $html[] = '</div>'; |
|
| 123 | + $html[] = '</div>'; |
|
| 124 | 124 | $html[] = '</div>'; |
| 125 | 125 | $resultArray['html'] = implode(LF, $html); |
| 126 | 126 | return $resultArray; |
@@ -195,8 +195,8 @@ discard block |
||
| 195 | 195 | . '.value=this.options[this.selectedIndex].value'; |
| 196 | 196 | } |
| 197 | 197 | $valuePickerHtml[] = '<select'; |
| 198 | - $valuePickerHtml[] = ' class="form-select"'; |
|
| 199 | - $valuePickerHtml[] = ' onchange="' . htmlspecialchars($assignValue . ';this.blur();this.selectedIndex=0;' . implode('', $fieldChangeFunc)) . '"'; |
|
| 198 | + $valuePickerHtml[] = ' class="form-select"'; |
|
| 199 | + $valuePickerHtml[] = ' onchange="' . htmlspecialchars($assignValue . ';this.blur();this.selectedIndex=0;' . implode('', $fieldChangeFunc)) . '"'; |
|
| 200 | 200 | $valuePickerHtml[] = '>'; |
| 201 | 201 | $valuePickerHtml[] = '<option></option>'; |
| 202 | 202 | foreach ($config['valuePicker']['items'] as $item) { |
@@ -219,33 +219,33 @@ discard block |
||
| 219 | 219 | |
| 220 | 220 | $expansionHtml = []; |
| 221 | 221 | $expansionHtml[] = '<div class="form-control-wrap" style="max-width: ' . $width . 'px">'; |
| 222 | - $expansionHtml[] = '<div class="form-wizards-wrap">'; |
|
| 223 | - $expansionHtml[] = '<div class="form-wizards-element">'; |
|
| 224 | - $expansionHtml[] = '<div class="input-group t3js-form-field-inputlink">'; |
|
| 225 | - $expansionHtml[] = '<span class="t3js-form-field-inputlink-icon input-group-addon">' . $linkExplanation['icon'] . '</span>'; |
|
| 226 | - $expansionHtml[] = '<input class="form-control t3js-form-field-inputlink-explanation" data-bs-toggle="tooltip" title="' . $explanation . '" value="' . $explanation . '" readonly>'; |
|
| 227 | - $expansionHtml[] = '<input type="text" ' . GeneralUtility::implodeAttributes($attributes, true) . ' />'; |
|
| 228 | - $expansionHtml[] = '<span class="input-group-btn">'; |
|
| 229 | - $expansionHtml[] = '<button class="btn btn-default t3js-form-field-inputlink-explanation-toggle" type="button" title="' . htmlspecialchars($toggleButtonTitle) . '">'; |
|
| 230 | - $expansionHtml[] = $this->iconFactory->getIcon('actions-version-workspaces-preview-link', Icon::SIZE_SMALL)->render(); |
|
| 231 | - $expansionHtml[] = '</button>'; |
|
| 232 | - $expansionHtml[] = '</span>'; |
|
| 233 | - $expansionHtml[] = '<input type="hidden" name="' . $parameterArray['itemFormElName'] . '" value="' . htmlspecialchars($itemValue) . '" />'; |
|
| 234 | - $expansionHtml[] = '</div>'; |
|
| 235 | - $expansionHtml[] = '</div>'; |
|
| 222 | + $expansionHtml[] = '<div class="form-wizards-wrap">'; |
|
| 223 | + $expansionHtml[] = '<div class="form-wizards-element">'; |
|
| 224 | + $expansionHtml[] = '<div class="input-group t3js-form-field-inputlink">'; |
|
| 225 | + $expansionHtml[] = '<span class="t3js-form-field-inputlink-icon input-group-addon">' . $linkExplanation['icon'] . '</span>'; |
|
| 226 | + $expansionHtml[] = '<input class="form-control t3js-form-field-inputlink-explanation" data-bs-toggle="tooltip" title="' . $explanation . '" value="' . $explanation . '" readonly>'; |
|
| 227 | + $expansionHtml[] = '<input type="text" ' . GeneralUtility::implodeAttributes($attributes, true) . ' />'; |
|
| 228 | + $expansionHtml[] = '<span class="input-group-btn">'; |
|
| 229 | + $expansionHtml[] = '<button class="btn btn-default t3js-form-field-inputlink-explanation-toggle" type="button" title="' . htmlspecialchars($toggleButtonTitle) . '">'; |
|
| 230 | + $expansionHtml[] = $this->iconFactory->getIcon('actions-version-workspaces-preview-link', Icon::SIZE_SMALL)->render(); |
|
| 231 | + $expansionHtml[] = '</button>'; |
|
| 232 | + $expansionHtml[] = '</span>'; |
|
| 233 | + $expansionHtml[] = '<input type="hidden" name="' . $parameterArray['itemFormElName'] . '" value="' . htmlspecialchars($itemValue) . '" />'; |
|
| 234 | + $expansionHtml[] = '</div>'; |
|
| 235 | + $expansionHtml[] = '</div>'; |
|
| 236 | 236 | if (!empty($valuePickerHtml) || !empty($fieldControlHtml)) { |
| 237 | - $expansionHtml[] = '<div class="form-wizards-items-aside">'; |
|
| 238 | - $expansionHtml[] = '<div class="btn-group">'; |
|
| 239 | - $expansionHtml[] = implode(LF, $valuePickerHtml); |
|
| 240 | - $expansionHtml[] = $fieldControlHtml; |
|
| 241 | - $expansionHtml[] = '</div>'; |
|
| 242 | - $expansionHtml[] = '</div>'; |
|
| 237 | + $expansionHtml[] = '<div class="form-wizards-items-aside">'; |
|
| 238 | + $expansionHtml[] = '<div class="btn-group">'; |
|
| 239 | + $expansionHtml[] = implode(LF, $valuePickerHtml); |
|
| 240 | + $expansionHtml[] = $fieldControlHtml; |
|
| 241 | + $expansionHtml[] = '</div>'; |
|
| 242 | + $expansionHtml[] = '</div>'; |
|
| 243 | 243 | } |
| 244 | - $expansionHtml[] = '<div class="form-wizards-items-bottom">'; |
|
| 245 | - $expansionHtml[] = $linkExplanation['additionalAttributes']; |
|
| 246 | - $expansionHtml[] = $fieldWizardHtml; |
|
| 247 | - $expansionHtml[] = '</div>'; |
|
| 248 | - $expansionHtml[] = '</div>'; |
|
| 244 | + $expansionHtml[] = '<div class="form-wizards-items-bottom">'; |
|
| 245 | + $expansionHtml[] = $linkExplanation['additionalAttributes']; |
|
| 246 | + $expansionHtml[] = $fieldWizardHtml; |
|
| 247 | + $expansionHtml[] = '</div>'; |
|
| 248 | + $expansionHtml[] = '</div>'; |
|
| 249 | 249 | $expansionHtml[] = '</div>'; |
| 250 | 250 | $expansionHtml = implode(LF, $expansionHtml); |
| 251 | 251 | |
@@ -255,11 +255,11 @@ discard block |
||
| 255 | 255 | $fullElement = []; |
| 256 | 256 | $fullElement[] = '<div class="t3-form-field-disable"></div>'; |
| 257 | 257 | $fullElement[] = '<div class="form-check t3-form-field-eval-null-checkbox">'; |
| 258 | - $fullElement[] = '<input type="hidden" name="' . $nullControlNameEscaped . '" value="0" />'; |
|
| 259 | - $fullElement[] = '<input type="checkbox" class="form-check-input" name="' . $nullControlNameEscaped . '" id="' . $nullControlNameEscaped . '" value="1"' . $checked . ' />'; |
|
| 260 | - $fullElement[] = '<label class="form-check-label" for="' . $nullControlNameEscaped . '">'; |
|
| 261 | - $fullElement[] = $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.nullCheckbox'); |
|
| 262 | - $fullElement[] = '</label>'; |
|
| 258 | + $fullElement[] = '<input type="hidden" name="' . $nullControlNameEscaped . '" value="0" />'; |
|
| 259 | + $fullElement[] = '<input type="checkbox" class="form-check-input" name="' . $nullControlNameEscaped . '" id="' . $nullControlNameEscaped . '" value="1"' . $checked . ' />'; |
|
| 260 | + $fullElement[] = '<label class="form-check-label" for="' . $nullControlNameEscaped . '">'; |
|
| 261 | + $fullElement[] = $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.nullCheckbox'); |
|
| 262 | + $fullElement[] = '</label>'; |
|
| 263 | 263 | $fullElement[] = '</div>'; |
| 264 | 264 | $fullElement[] = $expansionHtml; |
| 265 | 265 | $fullElement = implode(LF, $fullElement); |
@@ -288,19 +288,19 @@ discard block |
||
| 288 | 288 | } |
| 289 | 289 | $fullElement = []; |
| 290 | 290 | $fullElement[] = '<div class="form-check t3js-form-field-eval-null-placeholder-checkbox">'; |
| 291 | - $fullElement[] = '<input type="hidden" name="' . $nullControlNameEscaped . '" value="' . $fallbackValue . '" />'; |
|
| 292 | - $fullElement[] = '<input type="checkbox" class="form-check-input" name="' . $nullControlNameEscaped . '" id="' . $nullControlNameEscaped . '" value="1"' . $checked . $disabled . ' />'; |
|
| 293 | - $fullElement[] = '<label class="form-check-label" for="' . $nullControlNameEscaped . '">'; |
|
| 294 | - $fullElement[] = $overrideLabel; |
|
| 295 | - $fullElement[] = '</label>'; |
|
| 291 | + $fullElement[] = '<input type="hidden" name="' . $nullControlNameEscaped . '" value="' . $fallbackValue . '" />'; |
|
| 292 | + $fullElement[] = '<input type="checkbox" class="form-check-input" name="' . $nullControlNameEscaped . '" id="' . $nullControlNameEscaped . '" value="1"' . $checked . $disabled . ' />'; |
|
| 293 | + $fullElement[] = '<label class="form-check-label" for="' . $nullControlNameEscaped . '">'; |
|
| 294 | + $fullElement[] = $overrideLabel; |
|
| 295 | + $fullElement[] = '</label>'; |
|
| 296 | 296 | $fullElement[] = '</div>'; |
| 297 | 297 | $fullElement[] = '<div class="t3js-formengine-placeholder-placeholder">'; |
| 298 | - $fullElement[] = '<div class="form-control-wrap" style="max-width:' . $width . 'px">'; |
|
| 299 | - $fullElement[] = '<input type="text" class="form-control" disabled="disabled" value="' . htmlspecialchars($shortenedPlaceholder) . '" />'; |
|
| 300 | - $fullElement[] = '</div>'; |
|
| 298 | + $fullElement[] = '<div class="form-control-wrap" style="max-width:' . $width . 'px">'; |
|
| 299 | + $fullElement[] = '<input type="text" class="form-control" disabled="disabled" value="' . htmlspecialchars($shortenedPlaceholder) . '" />'; |
|
| 300 | + $fullElement[] = '</div>'; |
|
| 301 | 301 | $fullElement[] = '</div>'; |
| 302 | 302 | $fullElement[] = '<div class="t3js-formengine-placeholder-formfield">'; |
| 303 | - $fullElement[] = $expansionHtml; |
|
| 303 | + $fullElement[] = $expansionHtml; |
|
| 304 | 304 | $fullElement[] = '</div>'; |
| 305 | 305 | $fullElement = implode(LF, $fullElement); |
| 306 | 306 | } |
@@ -330,7 +330,7 @@ discard block |
||
| 330 | 330 | |
| 331 | 331 | try { |
| 332 | 332 | $linkData = $linkService->resolve($linkParts['url']); |
| 333 | - } catch (FileDoesNotExistException|FolderDoesNotExistException|UnknownLinkHandlerException|InvalidPathException $e) { |
|
| 333 | + } catch (FileDoesNotExistException | FolderDoesNotExistException | UnknownLinkHandlerException | InvalidPathException $e) { |
|
| 334 | 334 | return $data; |
| 335 | 335 | } |
| 336 | 336 | |
@@ -164,8 +164,8 @@ discard block |
||
| 164 | 164 | |
| 165 | 165 | $html[] = '<div class="formengine-field-item t3js-formengine-field-item" data-formengine-validation-rules="' . htmlspecialchars($this->getValidationDataAsJsonString($config)) . '">'; |
| 166 | 166 | $html[] = $fieldInformationHtml; |
| 167 | - $html[] = '<div class="form-wizards-wrap">'; |
|
| 168 | - $html[] = '<div class="form-wizards-element">'; |
|
| 167 | + $html[] = '<div class="form-wizards-wrap">'; |
|
| 168 | + $html[] = '<div class="form-wizards-element">'; |
|
| 169 | 169 | |
| 170 | 170 | // Add an empty hidden field which will send a blank value if all items are unselected. |
| 171 | 171 | $html[] = '<input type="hidden" class="select-checkbox" name="' . htmlspecialchars($parameterArray['itemFormElName']) . '" value="">'; |
@@ -189,22 +189,22 @@ discard block |
||
| 189 | 189 | // Render rows |
| 190 | 190 | foreach ($group['items'] as $item) { |
| 191 | 191 | $tableRows[] = '<tr class="' . $item['class'] . '">'; |
| 192 | - $tableRows[] = '<td class="col-checkbox">'; |
|
| 193 | - $tableRows[] = '<input type="checkbox" class="t3js-checkbox" ' |
|
| 192 | + $tableRows[] = '<td class="col-checkbox">'; |
|
| 193 | + $tableRows[] = '<input type="checkbox" class="t3js-checkbox" ' |
|
| 194 | 194 | . 'id="' . $item['id'] . '" ' |
| 195 | 195 | . 'name="' . htmlspecialchars($item['name']) . '" ' |
| 196 | 196 | . 'value="' . htmlspecialchars($item['value']) . '" ' |
| 197 | 197 | . 'onclick="' . htmlspecialchars($sOnChange) . '" ' |
| 198 | 198 | . ($item['checked'] ? 'checked=checked ' : '') |
| 199 | 199 | . ($item['disabled'] ? 'disabled=disabled ' : '') . '>'; |
| 200 | - $tableRows[] = '</td>'; |
|
| 201 | - $tableRows[] = '<td class="col-title">'; |
|
| 202 | - $tableRows[] = '<label class="label-block nowrap-disabled" for="' . $item['id'] . '">'; |
|
| 203 | - $tableRows[] = '<span class="inline-icon">' . $item['icon'] . '</span>'; |
|
| 204 | - $tableRows[] = htmlspecialchars($this->appendValueToLabelInDebugMode($item['title'], $item['value']), ENT_COMPAT, 'UTF-8', false); |
|
| 205 | - $tableRows[] = '</label>'; |
|
| 206 | - $tableRows[] = '</td>'; |
|
| 207 | - $tableRows[] = '<td class="text-right">' . $item['help'] . '</td>'; |
|
| 200 | + $tableRows[] = '</td>'; |
|
| 201 | + $tableRows[] = '<td class="col-title">'; |
|
| 202 | + $tableRows[] = '<label class="label-block nowrap-disabled" for="' . $item['id'] . '">'; |
|
| 203 | + $tableRows[] = '<span class="inline-icon">' . $item['icon'] . '</span>'; |
|
| 204 | + $tableRows[] = htmlspecialchars($this->appendValueToLabelInDebugMode($item['title'], $item['value']), ENT_COMPAT, 'UTF-8', false); |
|
| 205 | + $tableRows[] = '</label>'; |
|
| 206 | + $tableRows[] = '</td>'; |
|
| 207 | + $tableRows[] = '<td class="text-right">' . $item['help'] . '</td>'; |
|
| 208 | 208 | $tableRows[] = '</tr>'; |
| 209 | 209 | } |
| 210 | 210 | |
@@ -226,20 +226,20 @@ discard block |
||
| 226 | 226 | } |
| 227 | 227 | $checkboxId = StringUtility::getUniqueId($groupId); |
| 228 | 228 | $title = htmlspecialchars($this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.toggleall')); |
| 229 | - $html[] = '<div class="table-responsive">'; |
|
| 230 | - $html[] = '<table class="table table-transparent table-hover">'; |
|
| 231 | - $html[] = '<thead>'; |
|
| 232 | - $html[] = '<tr>'; |
|
| 233 | - $html[] = '<th class="col-checkbox">'; |
|
| 234 | - $html[] = '<input type="checkbox" id="' . $checkboxId . '" class="t3js-toggle-checkboxes" data-bs-trigger="hover" data-bs-placement="right" title="' . $title . '" data-bs-toggle="tooltip" />'; |
|
| 235 | - $html[] = '</th>'; |
|
| 236 | - $html[] = '<th class="col-title"><label for="' . $checkboxId . '">' . $title . '</label></th>'; |
|
| 237 | - $html[] = '<th class="text-right">' . $resetGroupBtn . '</th>'; |
|
| 238 | - $html[] = '</tr>'; |
|
| 239 | - $html[] = '</thead>'; |
|
| 240 | - $html[] = '<tbody>' . implode(LF, $tableRows) . '</tbody>'; |
|
| 241 | - $html[] = '</table>'; |
|
| 242 | - $html[] = '</div>'; |
|
| 229 | + $html[] = '<div class="table-responsive">'; |
|
| 230 | + $html[] = '<table class="table table-transparent table-hover">'; |
|
| 231 | + $html[] = '<thead>'; |
|
| 232 | + $html[] = '<tr>'; |
|
| 233 | + $html[] = '<th class="col-checkbox">'; |
|
| 234 | + $html[] = '<input type="checkbox" id="' . $checkboxId . '" class="t3js-toggle-checkboxes" data-bs-trigger="hover" data-bs-placement="right" title="' . $title . '" data-bs-toggle="tooltip" />'; |
|
| 235 | + $html[] = '</th>'; |
|
| 236 | + $html[] = '<th class="col-title"><label for="' . $checkboxId . '">' . $title . '</label></th>'; |
|
| 237 | + $html[] = '<th class="text-right">' . $resetGroupBtn . '</th>'; |
|
| 238 | + $html[] = '</tr>'; |
|
| 239 | + $html[] = '</thead>'; |
|
| 240 | + $html[] = '<tbody>' . implode(LF, $tableRows) . '</tbody>'; |
|
| 241 | + $html[] = '</table>'; |
|
| 242 | + $html[] = '</div>'; |
|
| 243 | 243 | if (is_array($group['header'])) { |
| 244 | 244 | $html[] = '</div>'; |
| 245 | 245 | } |
@@ -253,13 +253,13 @@ discard block |
||
| 253 | 253 | $html[] = '</div>'; |
| 254 | 254 | } |
| 255 | 255 | |
| 256 | - $html[] = '</div>'; |
|
| 256 | + $html[] = '</div>'; |
|
| 257 | 257 | if (!$disabled && !empty($fieldWizardHtml)) { |
| 258 | - $html[] = '<div class="form-wizards-items-bottom">'; |
|
| 259 | - $html[] = $fieldWizardHtml; |
|
| 260 | - $html[] = '</div>'; |
|
| 258 | + $html[] = '<div class="form-wizards-items-bottom">'; |
|
| 259 | + $html[] = $fieldWizardHtml; |
|
| 260 | + $html[] = '</div>'; |
|
| 261 | 261 | } |
| 262 | - $html[] = '</div>'; |
|
| 262 | + $html[] = '</div>'; |
|
| 263 | 263 | $html[] = '</div>'; |
| 264 | 264 | } |
| 265 | 265 | |
@@ -114,8 +114,8 @@ discard block |
||
| 114 | 114 | $childHtml[] = '<ul class="list-group t3js-mfa-active-providers-list">'; |
| 115 | 115 | foreach ($activeProviders as $identifier => $activeProvider) { |
| 116 | 116 | $childHtml[] = '<li class="list-group-item" id="provider-' . htmlspecialchars((string)$identifier) . '" style="line-height: 2.1em;">'; |
| 117 | - $childHtml[] = $this->iconFactory->getIcon($activeProvider->getIconIdentifier(), Icon::SIZE_SMALL); |
|
| 118 | - $childHtml[] = htmlspecialchars($lang->sL($activeProvider->getTitle())); |
|
| 117 | + $childHtml[] = $this->iconFactory->getIcon($activeProvider->getIconIdentifier(), Icon::SIZE_SMALL); |
|
| 118 | + $childHtml[] = htmlspecialchars($lang->sL($activeProvider->getTitle())); |
|
| 119 | 119 | if (in_array($identifier, $lockedProviders, true)) { |
| 120 | 120 | $childHtml[] = '<span class="label label-danger">' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.locked')) . '</span>'; |
| 121 | 121 | } else { |
@@ -123,15 +123,15 @@ discard block |
||
| 123 | 123 | } |
| 124 | 124 | if ($isDeactivationAllowed) { |
| 125 | 125 | $childHtml[] = '<button type="button"'; |
| 126 | - $childHtml[] = ' class="btn btn-default btn-sm pull-right t3js-deactivate-provider-button"'; |
|
| 127 | - $childHtml[] = ' data-confirmation-title="' . htmlspecialchars(sprintf($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfaProvider'), $lang->sL($activeProvider->getTitle()))) . '"'; |
|
| 128 | - $childHtml[] = ' data-confirmation-content="' . htmlspecialchars(sprintf($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfaProvider.confirmation.text'), $lang->sL($activeProvider->getTitle()))) . '"'; |
|
| 129 | - $childHtml[] = ' data-confirmation-cancel-text="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.cancel')) . '"'; |
|
| 130 | - $childHtml[] = ' data-confirmation-deactivate-text="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.deactivate')) . '"'; |
|
| 131 | - $childHtml[] = ' data-provider="' . htmlspecialchars((string)$identifier) . '"'; |
|
| 132 | - $childHtml[] = ' title="' . htmlspecialchars(sprintf($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfaProvider'), $lang->sL($activeProvider->getTitle()))) . '"'; |
|
| 133 | - $childHtml[] = '>'; |
|
| 134 | - $childHtml[] = $this->iconFactory->getIcon('actions-delete', Icon::SIZE_SMALL)->render('inline'); |
|
| 126 | + $childHtml[] = ' class="btn btn-default btn-sm pull-right t3js-deactivate-provider-button"'; |
|
| 127 | + $childHtml[] = ' data-confirmation-title="' . htmlspecialchars(sprintf($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfaProvider'), $lang->sL($activeProvider->getTitle()))) . '"'; |
|
| 128 | + $childHtml[] = ' data-confirmation-content="' . htmlspecialchars(sprintf($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfaProvider.confirmation.text'), $lang->sL($activeProvider->getTitle()))) . '"'; |
|
| 129 | + $childHtml[] = ' data-confirmation-cancel-text="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.cancel')) . '"'; |
|
| 130 | + $childHtml[] = ' data-confirmation-deactivate-text="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.deactivate')) . '"'; |
|
| 131 | + $childHtml[] = ' data-provider="' . htmlspecialchars((string)$identifier) . '"'; |
|
| 132 | + $childHtml[] = ' title="' . htmlspecialchars(sprintf($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfaProvider'), $lang->sL($activeProvider->getTitle()))) . '"'; |
|
| 133 | + $childHtml[] = '>'; |
|
| 134 | + $childHtml[] = $this->iconFactory->getIcon('actions-delete', Icon::SIZE_SMALL)->render('inline'); |
|
| 135 | 135 | $childHtml[] = '</button>'; |
| 136 | 136 | } |
| 137 | 137 | $childHtml[] = '</li>'; |
@@ -143,29 +143,29 @@ discard block |
||
| 143 | 143 | $fieldId = 't3js-form-field-mfa-id' . StringUtility::getUniqueId('-'); |
| 144 | 144 | |
| 145 | 145 | $html[] = '<div class="formengine-field-item t3js-formengine-field-item" id="' . htmlspecialchars($fieldId) . '">'; |
| 146 | - $html[] = '<div class="form-control-wrap" style="max-width: ' . (int)$this->formMaxWidth($this->defaultInputWidth) . 'px">'; |
|
| 147 | - $html[] = '<div class="form-wizards-wrap">'; |
|
| 148 | - $html[] = '<div class="form-wizards-element">'; |
|
| 149 | - $html[] = implode(PHP_EOL, $childHtml); |
|
| 146 | + $html[] = '<div class="form-control-wrap" style="max-width: ' . (int)$this->formMaxWidth($this->defaultInputWidth) . 'px">'; |
|
| 147 | + $html[] = '<div class="form-wizards-wrap">'; |
|
| 148 | + $html[] = '<div class="form-wizards-element">'; |
|
| 149 | + $html[] = implode(PHP_EOL, $childHtml); |
|
| 150 | 150 | if ($isDeactivationAllowed) { |
| 151 | 151 | $html[] = '<div class="form-wizards-items-bottom">'; |
| 152 | - $html[] = '<div class="help-block">'; |
|
| 153 | - $html[] = '<button type="button"'; |
|
| 154 | - $html[] = ' class="t3js-deactivate-mfa-button btn btn-danger ' . ($activeProviders === [] ? 'disabled" disabled="disabled' : '') . '"'; |
|
| 155 | - $html[] = ' data-confirmation-title="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfa')) . '"'; |
|
| 156 | - $html[] = ' data-confirmation-content="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfa.confirmation.text')) . '"'; |
|
| 157 | - $html[] = ' data-confirmation-cancel-text="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.cancel')) . '"'; |
|
| 158 | - $html[] = ' data-confirmation-deactivate-text="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.deactivate')) . '"'; |
|
| 159 | - $html[] = '>'; |
|
| 160 | - $html[] = $this->iconFactory->getIcon('actions-toggle-off', Icon::SIZE_SMALL)->render('inline'); |
|
| 161 | - $html[] = htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfa')); |
|
| 162 | - $html[] = '</button>'; |
|
| 163 | - $html[] = '</div>'; |
|
| 152 | + $html[] = '<div class="help-block">'; |
|
| 153 | + $html[] = '<button type="button"'; |
|
| 154 | + $html[] = ' class="t3js-deactivate-mfa-button btn btn-danger ' . ($activeProviders === [] ? 'disabled" disabled="disabled' : '') . '"'; |
|
| 155 | + $html[] = ' data-confirmation-title="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfa')) . '"'; |
|
| 156 | + $html[] = ' data-confirmation-content="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfa.confirmation.text')) . '"'; |
|
| 157 | + $html[] = ' data-confirmation-cancel-text="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.cancel')) . '"'; |
|
| 158 | + $html[] = ' data-confirmation-deactivate-text="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.deactivate')) . '"'; |
|
| 159 | + $html[] = '>'; |
|
| 160 | + $html[] = $this->iconFactory->getIcon('actions-toggle-off', Icon::SIZE_SMALL)->render('inline'); |
|
| 161 | + $html[] = htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.deactivateMfa')); |
|
| 162 | + $html[] = '</button>'; |
|
| 163 | + $html[] = '</div>'; |
|
| 164 | 164 | $html[] = '</div>'; |
| 165 | 165 | } |
| 166 | - $html[] = '</div>'; |
|
| 167 | - $html[] = '</div>'; |
|
| 168 | - $html[] = '</div>'; |
|
| 166 | + $html[] = '</div>'; |
|
| 167 | + $html[] = '</div>'; |
|
| 168 | + $html[] = '</div>'; |
|
| 169 | 169 | $html[] = '</div>'; |
| 170 | 170 | |
| 171 | 171 | // JavaScript is not needed in case deactivation is not allowed or no active providers exist |
@@ -113,7 +113,7 @@ |
||
| 113 | 113 | } |
| 114 | 114 | // Language "All" should not appear as a source of translations (see bug 92757) and keys should be sequential |
| 115 | 115 | $availableLanguages = array_values( |
| 116 | - array_filter($availableLanguages, function (array $languageRecord): bool { |
|
| 116 | + array_filter($availableLanguages, function(array $languageRecord): bool { |
|
| 117 | 117 | return (int)$languageRecord['uid'] !== -1; |
| 118 | 118 | }) |
| 119 | 119 | ); |
@@ -115,16 +115,16 @@ discard block |
||
| 115 | 115 | if ($config['readOnly']) { |
| 116 | 116 | $html = []; |
| 117 | 117 | $html[] = '<div class="formengine-field-item t3js-formengine-field-item">'; |
| 118 | - $html[] = $fieldInformationHtml; |
|
| 119 | - $html[] = '<div class="form-wizards-wrap">'; |
|
| 120 | - $html[] = '<div class="form-wizards-element">'; |
|
| 121 | - $html[] = '<div class="form-control-wrap"' . ($width ? ' style="max-width: ' . $width . 'px">' : '>'); |
|
| 122 | - $html[] = '<textarea class="form-control" rows="' . $rows . '" disabled>'; |
|
| 123 | - $html[] = htmlspecialchars($itemValue); |
|
| 124 | - $html[] = '</textarea>'; |
|
| 125 | - $html[] = '</div>'; |
|
| 126 | - $html[] = '</div>'; |
|
| 127 | - $html[] = '</div>'; |
|
| 118 | + $html[] = $fieldInformationHtml; |
|
| 119 | + $html[] = '<div class="form-wizards-wrap">'; |
|
| 120 | + $html[] = '<div class="form-wizards-element">'; |
|
| 121 | + $html[] = '<div class="form-control-wrap"' . ($width ? ' style="max-width: ' . $width . 'px">' : '>'); |
|
| 122 | + $html[] = '<textarea class="form-control" rows="' . $rows . '" disabled>'; |
|
| 123 | + $html[] = htmlspecialchars($itemValue); |
|
| 124 | + $html[] = '</textarea>'; |
|
| 125 | + $html[] = '</div>'; |
|
| 126 | + $html[] = '</div>'; |
|
| 127 | + $html[] = '</div>'; |
|
| 128 | 128 | $html[] = '</div>'; |
| 129 | 129 | $resultArray['html'] = implode(LF, $html); |
| 130 | 130 | return $resultArray; |
@@ -200,8 +200,8 @@ discard block |
||
| 200 | 200 | . '.value=this.options[this.selectedIndex].value'; |
| 201 | 201 | } |
| 202 | 202 | $valuePickerHtml[] = '<select'; |
| 203 | - $valuePickerHtml[] = ' class="form-select form-control-adapt"'; |
|
| 204 | - $valuePickerHtml[] = ' onchange="' . htmlspecialchars($assignValue . ';this.blur();this.selectedIndex=0;' . implode('', $fieldChangeFunc)) . '"'; |
|
| 203 | + $valuePickerHtml[] = ' class="form-select form-control-adapt"'; |
|
| 204 | + $valuePickerHtml[] = ' onchange="' . htmlspecialchars($assignValue . ';this.blur();this.selectedIndex=0;' . implode('', $fieldChangeFunc)) . '"'; |
|
| 205 | 205 | $valuePickerHtml[] = '>'; |
| 206 | 206 | $valuePickerHtml[] = '<option></option>'; |
| 207 | 207 | foreach ($config['valuePicker']['items'] as $item) { |
@@ -220,24 +220,24 @@ discard block |
||
| 220 | 220 | |
| 221 | 221 | $mainFieldHtml = []; |
| 222 | 222 | $mainFieldHtml[] = '<div class="form-control-wrap"' . ($width ? ' style="max-width: ' . $width . 'px">' : '>'); |
| 223 | - $mainFieldHtml[] = '<div class="form-wizards-wrap">'; |
|
| 224 | - $mainFieldHtml[] = '<div class="form-wizards-element">'; |
|
| 225 | - $mainFieldHtml[] = '<textarea ' . GeneralUtility::implodeAttributes($attributes, true) . '>' . htmlspecialchars($itemValue) . '</textarea>'; |
|
| 226 | - $mainFieldHtml[] = '</div>'; |
|
| 223 | + $mainFieldHtml[] = '<div class="form-wizards-wrap">'; |
|
| 224 | + $mainFieldHtml[] = '<div class="form-wizards-element">'; |
|
| 225 | + $mainFieldHtml[] = '<textarea ' . GeneralUtility::implodeAttributes($attributes, true) . '>' . htmlspecialchars($itemValue) . '</textarea>'; |
|
| 226 | + $mainFieldHtml[] = '</div>'; |
|
| 227 | 227 | if (!empty($valuePickerHtml) || !empty($fieldControlHtml)) { |
| 228 | - $mainFieldHtml[] = '<div class="form-wizards-items-aside">'; |
|
| 229 | - $mainFieldHtml[] = '<div class="btn-group">'; |
|
| 230 | - $mainFieldHtml[] = implode(LF, $valuePickerHtml); |
|
| 231 | - $mainFieldHtml[] = $fieldControlHtml; |
|
| 232 | - $mainFieldHtml[] = '</div>'; |
|
| 233 | - $mainFieldHtml[] = '</div>'; |
|
| 228 | + $mainFieldHtml[] = '<div class="form-wizards-items-aside">'; |
|
| 229 | + $mainFieldHtml[] = '<div class="btn-group">'; |
|
| 230 | + $mainFieldHtml[] = implode(LF, $valuePickerHtml); |
|
| 231 | + $mainFieldHtml[] = $fieldControlHtml; |
|
| 232 | + $mainFieldHtml[] = '</div>'; |
|
| 233 | + $mainFieldHtml[] = '</div>'; |
|
| 234 | 234 | } |
| 235 | 235 | if (!empty($fieldWizardHtml)) { |
| 236 | 236 | $mainFieldHtml[] = '<div class="form-wizards-items-bottom">'; |
| 237 | 237 | $mainFieldHtml[] = $fieldWizardHtml; |
| 238 | 238 | $mainFieldHtml[] = '</div>'; |
| 239 | 239 | } |
| 240 | - $mainFieldHtml[] = '</div>'; |
|
| 240 | + $mainFieldHtml[] = '</div>'; |
|
| 241 | 241 | $mainFieldHtml[] = '</div>'; |
| 242 | 242 | $mainFieldHtml = implode(LF, $mainFieldHtml); |
| 243 | 243 | |
@@ -247,11 +247,11 @@ discard block |
||
| 247 | 247 | $fullElement = []; |
| 248 | 248 | $fullElement[] = '<div class="t3-form-field-disable"></div>'; |
| 249 | 249 | $fullElement[] = '<div class="form-check t3-form-field-eval-null-checkbox">'; |
| 250 | - $fullElement[] = '<input type="hidden" name="' . $nullControlNameEscaped . '" value="0" />'; |
|
| 251 | - $fullElement[] = '<input type="checkbox" class="form-check-input" name="' . $nullControlNameEscaped . '" id="' . $nullControlNameEscaped . '" value="1"' . $checked . ' />'; |
|
| 252 | - $fullElement[] = '<label class="form-check-label" for="' . $nullControlNameEscaped . '">'; |
|
| 253 | - $fullElement[] = $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.nullCheckbox'); |
|
| 254 | - $fullElement[] = '</label>'; |
|
| 250 | + $fullElement[] = '<input type="hidden" name="' . $nullControlNameEscaped . '" value="0" />'; |
|
| 251 | + $fullElement[] = '<input type="checkbox" class="form-check-input" name="' . $nullControlNameEscaped . '" id="' . $nullControlNameEscaped . '" value="1"' . $checked . ' />'; |
|
| 252 | + $fullElement[] = '<label class="form-check-label" for="' . $nullControlNameEscaped . '">'; |
|
| 253 | + $fullElement[] = $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.nullCheckbox'); |
|
| 254 | + $fullElement[] = '</label>'; |
|
| 255 | 255 | $fullElement[] = '</div>'; |
| 256 | 256 | $fullElement[] = $mainFieldHtml; |
| 257 | 257 | $fullElement = implode(LF, $fullElement); |
@@ -280,28 +280,28 @@ discard block |
||
| 280 | 280 | } |
| 281 | 281 | $fullElement = []; |
| 282 | 282 | $fullElement[] = '<div class="form-check t3js-form-field-eval-null-placeholder-checkbox">'; |
| 283 | - $fullElement[] = '<input type="hidden" name="' . $nullControlNameEscaped . '" value="' . $fallbackValue . '" />'; |
|
| 284 | - $fullElement[] = '<input type="checkbox" class="form-check-input" name="' . $nullControlNameEscaped . '" id="' . $nullControlNameEscaped . '" value="1"' . $checked . $disabled . ' />'; |
|
| 285 | - $fullElement[] = '<label class="form-check-label" for="' . $nullControlNameEscaped . '">'; |
|
| 286 | - $fullElement[] = $overrideLabel; |
|
| 287 | - $fullElement[] = '</label>'; |
|
| 283 | + $fullElement[] = '<input type="hidden" name="' . $nullControlNameEscaped . '" value="' . $fallbackValue . '" />'; |
|
| 284 | + $fullElement[] = '<input type="checkbox" class="form-check-input" name="' . $nullControlNameEscaped . '" id="' . $nullControlNameEscaped . '" value="1"' . $checked . $disabled . ' />'; |
|
| 285 | + $fullElement[] = '<label class="form-check-label" for="' . $nullControlNameEscaped . '">'; |
|
| 286 | + $fullElement[] = $overrideLabel; |
|
| 287 | + $fullElement[] = '</label>'; |
|
| 288 | 288 | $fullElement[] = '</div>'; |
| 289 | 289 | $fullElement[] = '<div class="t3js-formengine-placeholder-placeholder">'; |
| 290 | - $fullElement[] = '<div class="form-control-wrap"' . ($width ? ' style="max-width: ' . $width . 'px">' : '>'); |
|
| 291 | - $fullElement[] = '<textarea'; |
|
| 292 | - $fullElement[] = ' class="form-control formengine-textarea' . (isset($config['fixedFont']) ? ' text-monospace' : '') . '"'; |
|
| 293 | - $fullElement[] = ' disabled="disabled"'; |
|
| 294 | - $fullElement[] = ' rows="' . htmlspecialchars($attributes['rows']) . '"'; |
|
| 295 | - $fullElement[] = ' wrap="' . htmlspecialchars($attributes['wrap']) . '"'; |
|
| 296 | - $fullElement[] = isset($attributes['style']) ? ' style="' . htmlspecialchars($attributes['style']) . '"' : ''; |
|
| 297 | - $fullElement[] = isset($attributes['maxlength']) ? ' maxlength="' . htmlspecialchars($attributes['maxlength']) . '"' : ''; |
|
| 298 | - $fullElement[] = '>'; |
|
| 299 | - $fullElement[] = htmlspecialchars($shortenedPlaceholder); |
|
| 300 | - $fullElement[] = '</textarea>'; |
|
| 301 | - $fullElement[] = '</div>'; |
|
| 290 | + $fullElement[] = '<div class="form-control-wrap"' . ($width ? ' style="max-width: ' . $width . 'px">' : '>'); |
|
| 291 | + $fullElement[] = '<textarea'; |
|
| 292 | + $fullElement[] = ' class="form-control formengine-textarea' . (isset($config['fixedFont']) ? ' text-monospace' : '') . '"'; |
|
| 293 | + $fullElement[] = ' disabled="disabled"'; |
|
| 294 | + $fullElement[] = ' rows="' . htmlspecialchars($attributes['rows']) . '"'; |
|
| 295 | + $fullElement[] = ' wrap="' . htmlspecialchars($attributes['wrap']) . '"'; |
|
| 296 | + $fullElement[] = isset($attributes['style']) ? ' style="' . htmlspecialchars($attributes['style']) . '"' : ''; |
|
| 297 | + $fullElement[] = isset($attributes['maxlength']) ? ' maxlength="' . htmlspecialchars($attributes['maxlength']) . '"' : ''; |
|
| 298 | + $fullElement[] = '>'; |
|
| 299 | + $fullElement[] = htmlspecialchars($shortenedPlaceholder); |
|
| 300 | + $fullElement[] = '</textarea>'; |
|
| 301 | + $fullElement[] = '</div>'; |
|
| 302 | 302 | $fullElement[] = '</div>'; |
| 303 | 303 | $fullElement[] = '<div class="t3js-formengine-placeholder-formfield">'; |
| 304 | - $fullElement[] = $mainFieldHtml; |
|
| 304 | + $fullElement[] = $mainFieldHtml; |
|
| 305 | 305 | $fullElement[] = '</div>'; |
| 306 | 306 | $fullElement = implode(LF, $fullElement); |
| 307 | 307 | } |
@@ -159,7 +159,7 @@ |
||
| 159 | 159 | $untranslatedRecordUids = array_flip( |
| 160 | 160 | array_column( |
| 161 | 161 | // Eliminate records with "-1" as sys_language_uid since they can not be translated |
| 162 | - array_filter($contentRecordsInDefaultLanguage, static function (array $record): bool { |
|
| 162 | + array_filter($contentRecordsInDefaultLanguage, static function(array $record): bool { |
|
| 163 | 163 | return (int)($record['sys_language_uid'] ?? 0) !== -1; |
| 164 | 164 | }), |
| 165 | 165 | 'uid' |
@@ -403,7 +403,7 @@ discard block |
||
| 403 | 403 | return ArrayUtility::keepItemsInArray( |
| 404 | 404 | $items, |
| 405 | 405 | $result['pageTsConfig']['TCEFORM.'][$table . '.'][$fieldName . '.']['keepItems'], |
| 406 | - function ($value) { |
|
| 406 | + function($value) { |
|
| 407 | 407 | return $value[1]; |
| 408 | 408 | } |
| 409 | 409 | ); |
@@ -551,7 +551,7 @@ discard block |
||
| 551 | 551 | } |
| 552 | 552 | |
| 553 | 553 | $allowedStorageIds = array_map( |
| 554 | - function (ResourceStorage $storage) { |
|
| 554 | + function(ResourceStorage $storage) { |
|
| 555 | 555 | return $storage->getUid(); |
| 556 | 556 | }, |
| 557 | 557 | $this->getBackendUser()->getFileStorages() |
@@ -559,7 +559,7 @@ discard block |
||
| 559 | 559 | |
| 560 | 560 | return array_filter( |
| 561 | 561 | $items, |
| 562 | - function (array $item) use ($allowedStorageIds) { |
|
| 562 | + function(array $item) use ($allowedStorageIds) { |
|
| 563 | 563 | $itemValue = $item[1] ?? null; |
| 564 | 564 | return empty($itemValue) |
| 565 | 565 | || in_array((int)$itemValue, $allowedStorageIds, true); |
@@ -328,7 +328,7 @@ |
||
| 328 | 328 | } |
| 329 | 329 | // Sort fields by the translated value |
| 330 | 330 | if (!empty($excludeFieldGroup)) { |
| 331 | - usort($excludeFieldGroup, static function (array $array1, array $array2) { |
|
| 331 | + usort($excludeFieldGroup, static function(array $array1, array $array2) { |
|
| 332 | 332 | $array1 = reset($array1); |
| 333 | 333 | $array2 = reset($array2); |
| 334 | 334 | if (is_string($array1) && is_string($array2)) { |
@@ -1008,7 +1008,7 @@ discard block |
||
| 1008 | 1008 | } |
| 1009 | 1009 | |
| 1010 | 1010 | $tagAttributes = array_map( |
| 1011 | - function ($attributeValue) { |
|
| 1011 | + function($attributeValue) { |
|
| 1012 | 1012 | if (is_array($attributeValue)) { |
| 1013 | 1013 | return implode(' ', $attributeValue); |
| 1014 | 1014 | } |
@@ -1329,7 +1329,7 @@ discard block |
||
| 1329 | 1329 | 'currentUrl' => $this->listURL('', $table, 'pointer'), |
| 1330 | 1330 | 'currentPage' => $currentPage, |
| 1331 | 1331 | 'totalPages' => $totalPages, |
| 1332 | - 'firstElement' => ((($currentPage -1) * $itemsPerPage) + 1), |
|
| 1332 | + 'firstElement' => ((($currentPage - 1) * $itemsPerPage) + 1), |
|
| 1333 | 1333 | 'lastElement' => $lastElementNumber, |
| 1334 | 1334 | 'colspan' => $paginationColumns |
| 1335 | 1335 | ]) |
@@ -1504,7 +1504,7 @@ discard block |
||
| 1504 | 1504 | $params = [ |
| 1505 | 1505 | 'edit' => [ |
| 1506 | 1506 | $table => [ |
| 1507 | - (0-($row['_MOVE_PLH'] ? $row['_MOVE_PLH_uid'] : $row['uid'])) => 'new' |
|
| 1507 | + (0 - ($row['_MOVE_PLH'] ? $row['_MOVE_PLH_uid'] : $row['uid'])) => 'new' |
|
| 1508 | 1508 | ] |
| 1509 | 1509 | ], |
| 1510 | 1510 | 'returnUrl' => $this->listURL() |
@@ -1868,8 +1868,8 @@ discard block |
||
| 1868 | 1868 | $possibleTranslations = $this->possibleTranslations; |
| 1869 | 1869 | if ($table === 'pages') { |
| 1870 | 1870 | // Calculate possible translations for pages |
| 1871 | - $possibleTranslations = array_map(static function ($siteLanguage) { return $siteLanguage->getLanguageId(); }, $this->languagesAllowedForUser); |
|
| 1872 | - $possibleTranslations = array_filter($possibleTranslations, static function ($languageUid) { return $languageUid > 0;}); |
|
| 1871 | + $possibleTranslations = array_map(static function($siteLanguage) { return $siteLanguage->getLanguageId(); }, $this->languagesAllowedForUser); |
|
| 1872 | + $possibleTranslations = array_filter($possibleTranslations, static function($languageUid) { return $languageUid > 0; }); |
|
| 1873 | 1873 | } |
| 1874 | 1874 | |
| 1875 | 1875 | // Traverse page translations and add icon for each language that does NOT yet exist and is included in site configuration: |
@@ -1915,7 +1915,7 @@ discard block |
||
| 1915 | 1915 | { |
| 1916 | 1916 | $lang = $this->getLanguageService(); |
| 1917 | 1917 | // Load already selected fields, if any: |
| 1918 | - $setFields = (array)($this->setFields[$table]?? []); |
|
| 1918 | + $setFields = (array)($this->setFields[$table] ?? []); |
|
| 1919 | 1919 | // Request fields from table: |
| 1920 | 1920 | $fields = $this->makeFieldList($table, false, true); |
| 1921 | 1921 | // Add pseudo "control" fields |