@@ -24,7 +24,7 @@ discard block |
||
| 24 | 24 | */ |
| 25 | 25 | public function __construct($apiUrl) |
| 26 | 26 | { |
| 27 | - $this->apiUrl = trim($apiUrl, "/ "); |
|
| 27 | + $this->apiUrl = trim($apiUrl, "/ "); |
|
| 28 | 28 | } |
| 29 | 29 | |
| 30 | 30 | |
@@ -59,7 +59,7 @@ discard block |
||
| 59 | 59 | { |
| 60 | 60 | $annotations = []; |
| 61 | 61 | |
| 62 | - $annotationData = $this->requestAnnotions($this->apiUrl . '?target=' . urlencode($id . '/*')); |
|
| 62 | + $annotationData = $this->requestAnnotions($this->apiUrl.'?target='.urlencode($id.'/*')); |
|
| 63 | 63 | |
| 64 | 64 | if (array_key_exists('first', $annotationData)) { |
| 65 | 65 | $annotationPageData = $annotationData['first']; |
@@ -230,7 +230,7 @@ discard block |
||
| 230 | 230 | { |
| 231 | 231 | $file = $this->getFileInfo($id); |
| 232 | 232 | if ($file['mimeType'] === 'application/vnd.kitodo.iiif') { |
| 233 | - $file['location'] = (strrpos($file['location'], 'info.json') === strlen($file['location']) - 9) ? $file['location'] : (strrpos($file['location'], '/') === strlen($file['location']) ? $file['location'] . 'info.json' : $file['location'] . '/info.json'); |
|
| 233 | + $file['location'] = (strrpos($file['location'], 'info.json') === strlen($file['location']) - 9) ? $file['location'] : (strrpos($file['location'], '/') === strlen($file['location']) ? $file['location'].'info.json' : $file['location'].'/info.json'); |
|
| 234 | 234 | $conf = GeneralUtility::makeInstance(ExtensionConfiguration::class)->get(self::$extKey, 'iiif'); |
| 235 | 235 | IiifHelper::setUrlReader(IiifUrlReader::getInstance()); |
| 236 | 236 | IiifHelper::setMaxThumbnailHeight($conf['thumbnailHeight']); |
@@ -240,9 +240,9 @@ discard block |
||
| 240 | 240 | return $service->getImageUrl(); |
| 241 | 241 | } |
| 242 | 242 | } elseif ($file['mimeType'] === 'application/vnd.netfpx') { |
| 243 | - $baseURL = $file['location'] . (strpos($file['location'], '?') === false ? '?' : ''); |
|
| 243 | + $baseURL = $file['location'].(strpos($file['location'], '?') === false ? '?' : ''); |
|
| 244 | 244 | // TODO CVT is an optional IIP server capability; in theory, capabilities should be determined in the object request with '&obj=IIP-server' |
| 245 | - return $baseURL . '&CVT=jpeg'; |
|
| 245 | + return $baseURL.'&CVT=jpeg'; |
|
| 246 | 246 | } |
| 247 | 247 | return $file['location']; |
| 248 | 248 | } |
@@ -271,14 +271,14 @@ discard block |
||
| 271 | 271 | */ |
| 272 | 272 | public function getFileLocation(string $id): string |
| 273 | 273 | { |
| 274 | - $location = $this->mets->xpath('./mets:fileSec/mets:fileGrp/mets:file[@ID="' . $id . '"]/mets:FLocat[@LOCTYPE="URL"]'); |
|
| 274 | + $location = $this->mets->xpath('./mets:fileSec/mets:fileGrp/mets:file[@ID="'.$id.'"]/mets:FLocat[@LOCTYPE="URL"]'); |
|
| 275 | 275 | if ( |
| 276 | 276 | !empty($id) |
| 277 | 277 | && !empty($location) |
| 278 | 278 | ) { |
| 279 | 279 | return (string) $location[0]->attributes('http://www.w3.org/1999/xlink')->href; |
| 280 | 280 | } else { |
| 281 | - $this->logger->warning('There is no file node with @ID "' . $id . '"'); |
|
| 281 | + $this->logger->warning('There is no file node with @ID "'.$id.'"'); |
|
| 282 | 282 | return ''; |
| 283 | 283 | } |
| 284 | 284 | } |
@@ -290,9 +290,9 @@ discard block |
||
| 290 | 290 | { |
| 291 | 291 | $mets = $this->mets |
| 292 | 292 | ->xpath( |
| 293 | - './mets:structMap[@TYPE="PHYSICAL"]' . |
|
| 294 | - '//mets:div[@ID="' . $pageId . '"]' . |
|
| 295 | - '/mets:fptr[@FILEID="' . $fileId . '"]' . |
|
| 293 | + './mets:structMap[@TYPE="PHYSICAL"]'. |
|
| 294 | + '//mets:div[@ID="'.$pageId.'"]'. |
|
| 295 | + '/mets:fptr[@FILEID="'.$fileId.'"]'. |
|
| 296 | 296 | '/mets:area/@BEGIN' |
| 297 | 297 | ); |
| 298 | 298 | return empty($mets) ? '' : $mets[0]->__toString(); |
@@ -304,14 +304,14 @@ discard block |
||
| 304 | 304 | */ |
| 305 | 305 | public function getFileMimeType(string $id): string |
| 306 | 306 | { |
| 307 | - $mimetype = $this->mets->xpath('./mets:fileSec/mets:fileGrp/mets:file[@ID="' . $id . '"]/@MIMETYPE'); |
|
| 307 | + $mimetype = $this->mets->xpath('./mets:fileSec/mets:fileGrp/mets:file[@ID="'.$id.'"]/@MIMETYPE'); |
|
| 308 | 308 | if ( |
| 309 | 309 | !empty($id) |
| 310 | 310 | && !empty($mimetype) |
| 311 | 311 | ) { |
| 312 | 312 | return (string) $mimetype[0]; |
| 313 | 313 | } else { |
| 314 | - $this->logger->warning('There is no file node with @ID "' . $id . '" or no MIME type specified'); |
|
| 314 | + $this->logger->warning('There is no file node with @ID "'.$id.'" or no MIME type specified'); |
|
| 315 | 315 | return ''; |
| 316 | 316 | } |
| 317 | 317 | } |
@@ -331,7 +331,7 @@ discard block |
||
| 331 | 331 | return $this->logicalUnits[$id]; |
| 332 | 332 | } elseif (!empty($id)) { |
| 333 | 333 | // Get specified logical unit. |
| 334 | - $divs = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="' . $id . '"]'); |
|
| 334 | + $divs = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="'.$id.'"]'); |
|
| 335 | 335 | } else { |
| 336 | 336 | // Get all logical units at top level. |
| 337 | 337 | $divs = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]/mets:div'); |
@@ -546,7 +546,7 @@ discard block |
||
| 546 | 546 | $cPid = max($cPid, 0); |
| 547 | 547 | if ($cPid == 0 && ($this->cPid || $this->pid)) { |
| 548 | 548 | // Retain current PID. |
| 549 | - $cPid = $this->cPid ?: $this->pid; |
|
| 549 | + $cPid = $this->cPid ? : $this->pid; |
|
| 550 | 550 | } |
| 551 | 551 | return $cPid; |
| 552 | 552 | } |
@@ -613,7 +613,7 @@ discard block |
||
| 613 | 613 | if (isset($this->fileInfos[$id]) || in_array('dmdSec', $metadataSections)) { |
| 614 | 614 | return $metadata; |
| 615 | 615 | } else { |
| 616 | - $this->logger->warning('No supported descriptive metadata found for logical structure with @ID "' . $id . '"'); |
|
| 616 | + $this->logger->warning('No supported descriptive metadata found for logical structure with @ID "'.$id.'"'); |
|
| 617 | 617 | return []; |
| 618 | 618 | } |
| 619 | 619 | } |
@@ -692,7 +692,7 @@ discard block |
||
| 692 | 692 | if (!empty($this->logicalUnits[$id])) { |
| 693 | 693 | return [$this->logicalUnits[$id]['type']]; |
| 694 | 694 | } else { |
| 695 | - $struct = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="' . $id . '"]/@TYPE'); |
|
| 695 | + $struct = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="'.$id.'"]/@TYPE'); |
|
| 696 | 696 | if (!empty($struct)) { |
| 697 | 697 | return [(string) $struct[0]]; |
| 698 | 698 | } |
@@ -849,17 +849,17 @@ discard block |
||
| 849 | 849 | if ($resArray['format'] > 0 && !empty($resArray['xpath_sorting'])) { |
| 850 | 850 | $values = $domXPath->evaluate($resArray['xpath_sorting'], $domNode); |
| 851 | 851 | if ($values instanceof DOMNodeList && $values->length > 0) { |
| 852 | - $metadata[$indexName . '_sorting'][0] = trim((string) $values->item(0)->nodeValue); |
|
| 852 | + $metadata[$indexName.'_sorting'][0] = trim((string) $values->item(0)->nodeValue); |
|
| 853 | 853 | } elseif (!($values instanceof DOMNodeList)) { |
| 854 | - $metadata[$indexName . '_sorting'][0] = trim((string) $values); |
|
| 854 | + $metadata[$indexName.'_sorting'][0] = trim((string) $values); |
|
| 855 | 855 | } |
| 856 | 856 | } |
| 857 | - if (empty($metadata[$indexName . '_sorting'][0])) { |
|
| 857 | + if (empty($metadata[$indexName.'_sorting'][0])) { |
|
| 858 | 858 | if (is_array($currentMetadata)) { |
| 859 | 859 | $sortingValue = implode(',', array_column($currentMetadata, 0)); |
| 860 | - $metadata[$indexName . '_sorting'][0] = $sortingValue; |
|
| 860 | + $metadata[$indexName.'_sorting'][0] = $sortingValue; |
|
| 861 | 861 | } else { |
| 862 | - $metadata[$indexName . '_sorting'][0] = $currentMetadata; |
|
| 862 | + $metadata[$indexName.'_sorting'][0] = $currentMetadata; |
|
| 863 | 863 | } |
| 864 | 864 | } |
| 865 | 865 | } |
@@ -920,11 +920,11 @@ discard block |
||
| 920 | 920 | return true; |
| 921 | 921 | } |
| 922 | 922 | } else { |
| 923 | - $this->logger->warning('Invalid class/method "' . $class . '->extractMetadata()" for metadata format "' . $this->mdSec[$dmdId]['type'] . '"'); |
|
| 923 | + $this->logger->warning('Invalid class/method "'.$class.'->extractMetadata()" for metadata format "'.$this->mdSec[$dmdId]['type'].'"'); |
|
| 924 | 924 | } |
| 925 | 925 | } |
| 926 | 926 | } else { |
| 927 | - $this->logger->notice('Unsupported metadata format "' . $this->mdSec[$dmdId]['type'] . '" in ' . $mdSectionType . ' with @ID "' . $dmdId . '"'); |
|
| 927 | + $this->logger->notice('Unsupported metadata format "'.$this->mdSec[$dmdId]['type'].'" in '.$mdSectionType.' with @ID "'.$dmdId.'"'); |
|
| 928 | 928 | } |
| 929 | 929 | return false; |
| 930 | 930 | } |
@@ -1077,7 +1077,7 @@ discard block |
||
| 1077 | 1077 | $dmdIds = $this->logicalUnits[$id]['dmdId'] ?? ''; |
| 1078 | 1078 | $admIds = $this->logicalUnits[$id]['admId'] ?? ''; |
| 1079 | 1079 | } else { |
| 1080 | - $mdSec = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="' . $id . '"]')[0]; |
|
| 1080 | + $mdSec = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="'.$id.'"]')[0]; |
|
| 1081 | 1081 | if ($mdSec) { |
| 1082 | 1082 | $dmdIds = (string) $mdSec->attributes()->DMDID; |
| 1083 | 1083 | $admIds = (string) $mdSec->attributes()->ADMID; |
@@ -1107,7 +1107,7 @@ discard block |
||
| 1107 | 1107 | |
| 1108 | 1108 | return array_filter( |
| 1109 | 1109 | $allMdIds, |
| 1110 | - function ($element) { |
|
| 1110 | + function($element) { |
|
| 1111 | 1111 | return !empty($element); |
| 1112 | 1112 | } |
| 1113 | 1113 | ); |
@@ -1133,7 +1133,7 @@ discard block |
||
| 1133 | 1133 | */ |
| 1134 | 1134 | public function getStructureDepth(string $logId) |
| 1135 | 1135 | { |
| 1136 | - $ancestors = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="' . $logId . '"]/ancestor::*'); |
|
| 1136 | + $ancestors = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="'.$logId.'"]/ancestor::*'); |
|
| 1137 | 1137 | if (!empty($ancestors)) { |
| 1138 | 1138 | return count($ancestors); |
| 1139 | 1139 | } else { |
@@ -1157,9 +1157,9 @@ discard block |
||
| 1157 | 1157 | $this->registerNamespaces($this->mets); |
| 1158 | 1158 | } else { |
| 1159 | 1159 | if (!empty($location)) { |
| 1160 | - $this->logger->error('No METS part found in document with location "' . $location . '".'); |
|
| 1160 | + $this->logger->error('No METS part found in document with location "'.$location.'".'); |
|
| 1161 | 1161 | } elseif (!empty($this->recordId)) { |
| 1162 | - $this->logger->error('No METS part found in document with recordId "' . $this->recordId . '".'); |
|
| 1162 | + $this->logger->error('No METS part found in document with recordId "'.$this->recordId.'".'); |
|
| 1163 | 1163 | } else { |
| 1164 | 1164 | $this->logger->error('No METS part found in current document.'); |
| 1165 | 1165 | } |
@@ -1180,7 +1180,7 @@ discard block |
||
| 1180 | 1180 | return true; |
| 1181 | 1181 | } |
| 1182 | 1182 | } |
| 1183 | - $this->logger->error('Could not load XML file from "' . $location . '"'); |
|
| 1183 | + $this->logger->error('Could not load XML file from "'.$location.'"'); |
|
| 1184 | 1184 | return false; |
| 1185 | 1185 | } |
| 1186 | 1186 | |
@@ -1303,10 +1303,10 @@ discard block |
||
| 1303 | 1303 | |
| 1304 | 1304 | if (!empty($mdType) && !empty($this->formats[(string) $mdType[0]])) { |
| 1305 | 1305 | $type = (string) $mdType[0]; |
| 1306 | - $xml = $element->xpath('./mets:mdWrap[@MDTYPE="' . $type . '"]/mets:xmlData/' . strtolower($type) . ':' . $this->formats[$type]['rootElement']); |
|
| 1306 | + $xml = $element->xpath('./mets:mdWrap[@MDTYPE="'.$type.'"]/mets:xmlData/'.strtolower($type).':'.$this->formats[$type]['rootElement']); |
|
| 1307 | 1307 | } elseif (!empty($otherMdType) && !empty($this->formats[(string) $otherMdType[0]])) { |
| 1308 | 1308 | $type = (string) $otherMdType[0]; |
| 1309 | - $xml = $element->xpath('./mets:mdWrap[@MDTYPE="OTHER"][@OTHERMDTYPE="' . $type . '"]/mets:xmlData/' . strtolower($type) . ':' . $this->formats[$type]['rootElement']); |
|
| 1309 | + $xml = $element->xpath('./mets:mdWrap[@MDTYPE="OTHER"][@OTHERMDTYPE="'.$type.'"]/mets:xmlData/'.strtolower($type).':'.$this->formats[$type]['rootElement']); |
|
| 1310 | 1310 | } |
| 1311 | 1311 | |
| 1312 | 1312 | if (empty($xml)) { |
@@ -1513,7 +1513,7 @@ discard block |
||
| 1513 | 1513 | // Get track info wtih begin end extent time for later assignment with musical |
| 1514 | 1514 | if ((string) $elementNode['TYPE'] === 'track') { |
| 1515 | 1515 | foreach ($elementNode->children('http://www.loc.gov/METS/')->fptr as $fptr) { |
| 1516 | - if (isset($fptr->area) && ((string) $fptr->area->attributes()->BETYPE === 'TIME')) { |
|
| 1516 | + if (isset($fptr->area) && ((string) $fptr->area->attributes()->BETYPE === 'TIME')) { |
|
| 1517 | 1517 | // Check if file has valid @USE attribute. |
| 1518 | 1518 | if (!empty($fileUse[(string) $fptr->area->attributes()->FILEID])) { |
| 1519 | 1519 | $this->physicalStructureInfo[$elements[(int) $elementNode['ORDER']]]['tracks'][$fileUse[(string) $fptr->area->attributes()->FILEID]] = [ |
@@ -1567,9 +1567,9 @@ discard block |
||
| 1567 | 1567 | || $forceReload |
| 1568 | 1568 | ) { |
| 1569 | 1569 | // Retain current PID. |
| 1570 | - $cPid = $this->cPid ?: $this->pid; |
|
| 1570 | + $cPid = $this->cPid ? : $this->pid; |
|
| 1571 | 1571 | if (!$cPid) { |
| 1572 | - $this->logger->error('Invalid PID ' . $cPid . ' for structure definitions'); |
|
| 1572 | + $this->logger->error('Invalid PID '.$cPid.' for structure definitions'); |
|
| 1573 | 1573 | $this->thumbnailLoaded = true; |
| 1574 | 1574 | return $this->thumbnail; |
| 1575 | 1575 | } |
@@ -1606,7 +1606,7 @@ discard block |
||
| 1606 | 1606 | if (!empty($resArray['thumbnail'])) { |
| 1607 | 1607 | $strctType = Helper::getIndexNameFromUid($resArray['thumbnail'], 'tx_dlf_structures', $cPid); |
| 1608 | 1608 | // Check if this document has a structure element of the desired type. |
| 1609 | - $strctIds = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@TYPE="' . $strctType . '"]/@ID'); |
|
| 1609 | + $strctIds = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@TYPE="'.$strctType.'"]/@ID'); |
|
| 1610 | 1610 | if (!empty($strctIds)) { |
| 1611 | 1611 | $strctId = (string) $strctIds[0]; |
| 1612 | 1612 | } |
@@ -1629,7 +1629,7 @@ discard block |
||
| 1629 | 1629 | } |
| 1630 | 1630 | } |
| 1631 | 1631 | } else { |
| 1632 | - $this->logger->error('No structure of type "' . $metadata['type'][0] . '" found in database'); |
|
| 1632 | + $this->logger->error('No structure of type "'.$metadata['type'][0].'" found in database'); |
|
| 1633 | 1633 | } |
| 1634 | 1634 | $this->thumbnailLoaded = true; |
| 1635 | 1635 | } |
@@ -1675,7 +1675,7 @@ discard block |
||
| 1675 | 1675 | { |
| 1676 | 1676 | if (empty($this->parentHref)) { |
| 1677 | 1677 | // Get the closest ancestor of the current document which has a MPTR child. |
| 1678 | - $parentMptr = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="' . $this->toplevelId . '"]/ancestor::mets:div[./mets:mptr][1]/mets:mptr'); |
|
| 1678 | + $parentMptr = $this->mets->xpath('./mets:structMap[@TYPE="LOGICAL"]//mets:div[@ID="'.$this->toplevelId.'"]/ancestor::mets:div[./mets:mptr][1]/mets:mptr'); |
|
| 1679 | 1679 | if (!empty($parentMptr)) { |
| 1680 | 1680 | $this->parentHref = (string) $parentMptr[0]->attributes('http://www.w3.org/1999/xlink')->href; |
| 1681 | 1681 | } |
@@ -108,8 +108,8 @@ discard block |
||
| 108 | 108 | ]; |
| 109 | 109 | } else { |
| 110 | 110 | $this->logger->warning( |
| 111 | - ' No target pages found! Annotation: "' . $annotation->getId() . '", ' |
|
| 112 | - . 'Target: "' . $annotationTarget->getUrl() . '"' |
|
| 111 | + ' No target pages found! Annotation: "'.$annotation->getId().'", ' |
|
| 112 | + . 'Target: "'.$annotationTarget->getUrl().'"' |
|
| 113 | 113 | ); |
| 114 | 114 | } |
| 115 | 115 | } |
@@ -125,8 +125,8 @@ discard block |
||
| 125 | 125 | ]; |
| 126 | 126 | } else { |
| 127 | 127 | $this->logger->warning( |
| 128 | - ' No target pages found! Annotation: "' . $annotation->getId() . '", ' |
|
| 129 | - . 'Target: "' . $annotationTarget->getUrl() . '"' |
|
| 128 | + ' No target pages found! Annotation: "'.$annotation->getId().'", ' |
|
| 129 | + . 'Target: "'.$annotationTarget->getUrl().'"' |
|
| 130 | 130 | ); |
| 131 | 131 | } |
| 132 | 132 | } elseif ($annotationTarget->getObjectId()) { |
@@ -145,14 +145,14 @@ discard block |
||
| 145 | 145 | } |
| 146 | 146 | } else { |
| 147 | 147 | $this->logger->warning( |
| 148 | - ' No target pages found! Annotation: "' . $annotation->getId() . '", ' |
|
| 149 | - . 'Target: "' . $annotationTarget->getUrl() . '"' |
|
| 148 | + ' No target pages found! Annotation: "'.$annotation->getId().'", ' |
|
| 149 | + . 'Target: "'.$annotationTarget->getUrl().'"' |
|
| 150 | 150 | ); |
| 151 | 151 | } |
| 152 | 152 | } else { |
| 153 | 153 | $this->logger->warning( |
| 154 | - 'Invalid target! Annotation: "' . $annotation->getId() . '", ' |
|
| 155 | - . 'Target: "' . $annotationTarget->getUrl() . '"' |
|
| 154 | + 'Invalid target! Annotation: "'.$annotation->getId().'", ' |
|
| 155 | + . 'Target: "'.$annotationTarget->getUrl().'"' |
|
| 156 | 156 | ); |
| 157 | 157 | } |
| 158 | 158 | } |
@@ -267,10 +267,10 @@ discard block |
||
| 267 | 267 | $intervalTo = \DateTime::createFromFormat('U.u', $to); |
| 268 | 268 | } |
| 269 | 269 | foreach ($tracks as $index => $track) { |
| 270 | - $begin = new DateTime("1970-01-01 " . $track['begin']); |
|
| 271 | - $extent = new DateTime("1970-01-01 " . $track['extent']); |
|
| 270 | + $begin = new DateTime("1970-01-01 ".$track['begin']); |
|
| 271 | + $extent = new DateTime("1970-01-01 ".$track['extent']); |
|
| 272 | 272 | $diff = (new DateTime("1970-01-01 00:00:00"))->diff($extent); |
| 273 | - $end = (new DateTime("1970-01-01 " . $track['begin']))->add($diff); |
|
| 273 | + $end = (new DateTime("1970-01-01 ".$track['begin']))->add($diff); |
|
| 274 | 274 | if ( |
| 275 | 275 | !( |
| 276 | 276 | $intervalFrom < $end && ( |
@@ -179,7 +179,7 @@ discard block |
||
| 179 | 179 | if ($this->document) { |
| 180 | 180 | $doc = AbstractDocument::getInstance($this->document->getLocation(), ['storagePid' => $pid], true); |
| 181 | 181 | } else { |
| 182 | - $this->logger->error('Invalid UID "' . $requestData['id'] . '" or PID "' . $pid . '" for document loading'); |
|
| 182 | + $this->logger->error('Invalid UID "'.$requestData['id'].'" or PID "'.$pid.'" for document loading'); |
|
| 183 | 183 | } |
| 184 | 184 | } elseif (GeneralUtility::isValidUrl($requestData['id'])) { |
| 185 | 185 | $doc = AbstractDocument::getInstance($requestData['id'], ['storagePid' => $pid], true); |
@@ -193,7 +193,7 @@ discard block |
||
| 193 | 193 | } |
| 194 | 194 | $this->document->setLocation($requestData['id']); |
| 195 | 195 | } else { |
| 196 | - $this->logger->error('Invalid location given "' . $requestData['id'] . '" for document loading'); |
|
| 196 | + $this->logger->error('Invalid location given "'.$requestData['id'].'" for document loading'); |
|
| 197 | 197 | } |
| 198 | 198 | } |
| 199 | 199 | if ($this->document !== null && $doc !== null) { |
@@ -206,11 +206,11 @@ discard block |
||
| 206 | 206 | if ($doc !== null) { |
| 207 | 207 | $this->document->setCurrentDocument($doc); |
| 208 | 208 | } else { |
| 209 | - $this->logger->error('Failed to load document with record ID "' . $requestData['recordId'] . '"'); |
|
| 209 | + $this->logger->error('Failed to load document with record ID "'.$requestData['recordId'].'"'); |
|
| 210 | 210 | } |
| 211 | 211 | } |
| 212 | 212 | } else { |
| 213 | - $this->logger->error('Empty UID or invalid PID "' . $pid . '" for document loading'); |
|
| 213 | + $this->logger->error('Empty UID or invalid PID "'.$pid.'" for document loading'); |
|
| 214 | 214 | } |
| 215 | 215 | } |
| 216 | 216 | |
@@ -67,7 +67,7 @@ discard block |
||
| 67 | 67 | } |
| 68 | 68 | |
| 69 | 69 | if (!empty($model)) { |
| 70 | - $embedded3dViewerUrl .= '&model=' . $model; |
|
| 70 | + $embedded3dViewerUrl .= '&model='.$model; |
|
| 71 | 71 | } |
| 72 | 72 | |
| 73 | 73 | if (!empty($this->requestData['viewer'])) { |
@@ -77,7 +77,7 @@ discard block |
||
| 77 | 77 | } |
| 78 | 78 | |
| 79 | 79 | if (!empty($viewer)) { |
| 80 | - $embedded3dViewerUrl .= '&viewer=' . $viewer; |
|
| 80 | + $embedded3dViewerUrl .= '&viewer='.$viewer; |
|
| 81 | 81 | } |
| 82 | 82 | return $embedded3dViewerUrl; |
| 83 | 83 | } |
@@ -69,7 +69,7 @@ discard block |
||
| 69 | 69 | $modelInfo = PathUtility::pathinfo($parameters['model']); |
| 70 | 70 | $modelFormat = $modelInfo["extension"]; |
| 71 | 71 | if (empty($modelFormat)) { |
| 72 | - return $this->warningResponse('Model path "' . $parameters['model'] . '" has no extension format', $request); |
|
| 72 | + return $this->warningResponse('Model path "'.$parameters['model'].'" has no extension format', $request); |
|
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | if (empty($parameters['viewer'])) { |
@@ -88,30 +88,30 @@ discard block |
||
| 88 | 88 | $defaultStorage = $storageRepository->getDefaultStorage(); |
| 89 | 89 | |
| 90 | 90 | if (!$defaultStorage->hasFolder(self::VIEWER_FOLDER)) { |
| 91 | - return $this->errorResponse('Required folder "' . self::VIEWER_FOLDER . '" was not found in the default storage "' . $defaultStorage->getName() . '"', $request); |
|
| 91 | + return $this->errorResponse('Required folder "'.self::VIEWER_FOLDER.'" was not found in the default storage "'.$defaultStorage->getName().'"', $request); |
|
| 92 | 92 | } |
| 93 | 93 | |
| 94 | 94 | $viewerModules = $defaultStorage->getFolder(self::VIEWER_FOLDER); |
| 95 | 95 | if (!$viewerModules->hasFolder($viewer)) { |
| 96 | - return $this->errorResponse('Viewer folder "' . $viewer . '" was not found under the folder "' . self::VIEWER_FOLDER . '"', $request); |
|
| 96 | + return $this->errorResponse('Viewer folder "'.$viewer.'" was not found under the folder "'.self::VIEWER_FOLDER.'"', $request); |
|
| 97 | 97 | } |
| 98 | 98 | |
| 99 | 99 | $viewerFolder = $viewerModules->getSubfolder($viewer); |
| 100 | 100 | if (!$viewerFolder->hasFile(self::VIEWER_CONFIG_YML)) { |
| 101 | - return $this->errorResponse('Viewer folder "' . $viewer . '" does not contain a file named "' . self::VIEWER_CONFIG_YML . '"', $request); |
|
| 101 | + return $this->errorResponse('Viewer folder "'.$viewer.'" does not contain a file named "'.self::VIEWER_CONFIG_YML.'"', $request); |
|
| 102 | 102 | } |
| 103 | 103 | |
| 104 | 104 | /** @var YamlFileLoader $yamlFileLoader */ |
| 105 | 105 | $yamlFileLoader = GeneralUtility::makeInstance(YamlFileLoader::class); |
| 106 | - $viewerConfigPath = $defaultStorage->getName() . "/" . self::VIEWER_FOLDER . "/" . $viewer . "/"; |
|
| 107 | - $config = $yamlFileLoader->load($viewerConfigPath . self::VIEWER_CONFIG_YML)["viewer"]; |
|
| 106 | + $viewerConfigPath = $defaultStorage->getName()."/".self::VIEWER_FOLDER."/".$viewer."/"; |
|
| 107 | + $config = $yamlFileLoader->load($viewerConfigPath.self::VIEWER_CONFIG_YML)["viewer"]; |
|
| 108 | 108 | |
| 109 | 109 | if (!isset($config["supportedModelFormats"]) || empty($config["supportedModelFormats"])) { |
| 110 | - return $this->errorResponse('Required key "supportedModelFormats" does not exist in the file "' . self::VIEWER_CONFIG_YML . '" of viewer "' . $viewer . '" or has no value', $request); |
|
| 110 | + return $this->errorResponse('Required key "supportedModelFormats" does not exist in the file "'.self::VIEWER_CONFIG_YML.'" of viewer "'.$viewer.'" or has no value', $request); |
|
| 111 | 111 | } |
| 112 | 112 | |
| 113 | 113 | if (array_search(strtolower($modelFormat), array_map('strtolower', $config["supportedModelFormats"])) === false) { |
| 114 | - return $this->warningResponse('Viewer "' . $viewer . '" does not support the model format "' . $modelFormat . '"', $request); |
|
| 114 | + return $this->warningResponse('Viewer "'.$viewer.'" does not support the model format "'.$modelFormat.'"', $request); |
|
| 115 | 115 | } |
| 116 | 116 | |
| 117 | 117 | $html = $this->getViewerHtml($config, $viewerConfigPath, $viewerFolder, $parameters['model'], $modelInfo); |
@@ -114,7 +114,7 @@ discard block |
||
| 114 | 114 | $parent->setCurrentDocument($doc); |
| 115 | 115 | $success = self::add($parent, $documentRepository); |
| 116 | 116 | } else { |
| 117 | - Helper::log('Could not load parent document with UID ' . $document->getCurrentDocument()->parentId, LOG_SEVERITY_ERROR); |
|
| 117 | + Helper::log('Could not load parent document with UID '.$document->getCurrentDocument()->parentId, LOG_SEVERITY_ERROR); |
|
| 118 | 118 | return false; |
| 119 | 119 | } |
| 120 | 120 | } |
@@ -200,19 +200,19 @@ discard block |
||
| 200 | 200 | } catch (\Exception $e) { |
| 201 | 201 | if (!(Environment::isCli())) { |
| 202 | 202 | Helper::addMessage( |
| 203 | - Helper::getLanguageService()->getLL('flash.solrException') . ' ' . htmlspecialchars($e->getMessage()), |
|
| 203 | + Helper::getLanguageService()->getLL('flash.solrException').' '.htmlspecialchars($e->getMessage()), |
|
| 204 | 204 | Helper::getLanguageService()->getLL('flash.error'), |
| 205 | 205 | FlashMessage::ERROR, |
| 206 | 206 | true, |
| 207 | 207 | 'core.template.flashMessages' |
| 208 | 208 | ); |
| 209 | 209 | } |
| 210 | - Helper::log('Apache Solr threw exception: "' . $e->getMessage() . '"', LOG_SEVERITY_ERROR); |
|
| 210 | + Helper::log('Apache Solr threw exception: "'.$e->getMessage().'"', LOG_SEVERITY_ERROR); |
|
| 211 | 211 | return false; |
| 212 | 212 | } |
| 213 | 213 | } |
| 214 | 214 | |
| 215 | - Helper::log('Document not deleted from SOLR - problem with the connection to the SOLR core ' . $solrCoreUid, LOG_SEVERITY_ERROR); |
|
| 215 | + Helper::log('Document not deleted from SOLR - problem with the connection to the SOLR core '.$solrCoreUid, LOG_SEVERITY_ERROR); |
|
| 216 | 216 | return false; |
| 217 | 217 | } |
| 218 | 218 | |
@@ -233,7 +233,7 @@ discard block |
||
| 233 | 233 | // Sanitize input. |
| 234 | 234 | $pid = max((int) $pid, 0); |
| 235 | 235 | if (!$pid) { |
| 236 | - Helper::log('Invalid PID ' . $pid . ' for metadata configuration', LOG_SEVERITY_ERROR); |
|
| 236 | + Helper::log('Invalid PID '.$pid.' for metadata configuration', LOG_SEVERITY_ERROR); |
|
| 237 | 237 | return ''; |
| 238 | 238 | } |
| 239 | 239 | // Load metadata configuration. |
@@ -242,7 +242,7 @@ discard block |
||
| 242 | 242 | $suffix = (in_array($indexName, self::$fields['tokenized']) ? 't' : 'u'); |
| 243 | 243 | $suffix .= (in_array($indexName, self::$fields['stored']) ? 's' : 'u'); |
| 244 | 244 | $suffix .= (in_array($indexName, self::$fields['indexed']) ? 'i' : 'u'); |
| 245 | - $indexName .= '_' . $suffix; |
|
| 245 | + $indexName .= '_'.$suffix; |
|
| 246 | 246 | return $indexName; |
| 247 | 247 | } |
| 248 | 248 | |
@@ -358,7 +358,7 @@ discard block |
||
| 358 | 358 | $solrDoc->setField('title', $metadata['title'][0]); |
| 359 | 359 | $solrDoc->setField('volume', $metadata['volume'][0]); |
| 360 | 360 | // verify date formatting |
| 361 | - if(strtotime($metadata['date'][0])) { |
|
| 361 | + if (strtotime($metadata['date'][0])) { |
|
| 362 | 362 | $solrDoc->setField('date', self::getFormattedDate($metadata['date'][0])); |
| 363 | 363 | } |
| 364 | 364 | $solrDoc->setField('record_id', $metadata['record_id'][0]); |
@@ -522,11 +522,11 @@ discard block |
||
| 522 | 522 | $solrDoc->setField(self::getIndexFieldName($indexName, $document->getPid()), $data); |
| 523 | 523 | if (in_array($indexName, self::$fields['sortables'])) { |
| 524 | 524 | // Add sortable fields to index. |
| 525 | - $solrDoc->setField($indexName . '_sorting', $metadata[$indexName . '_sorting'][0]); |
|
| 525 | + $solrDoc->setField($indexName.'_sorting', $metadata[$indexName.'_sorting'][0]); |
|
| 526 | 526 | } |
| 527 | 527 | if (in_array($indexName, self::$fields['facets'])) { |
| 528 | 528 | // Add facets to index. |
| 529 | - $solrDoc->setField($indexName . '_faceting', $data); |
|
| 529 | + $solrDoc->setField($indexName.'_faceting', $data); |
|
| 530 | 530 | } |
| 531 | 531 | if (in_array($indexName, self::$fields['autocomplete'])) { |
| 532 | 532 | $autocomplete = array_merge($autocomplete, $data); |
@@ -563,7 +563,7 @@ discard block |
||
| 563 | 563 | $data = self::removeAppendsFromAuthor($data); |
| 564 | 564 | } |
| 565 | 565 | // Add facets to index. |
| 566 | - $solrDoc->setField($indexName . '_faceting', $data); |
|
| 566 | + $solrDoc->setField($indexName.'_faceting', $data); |
|
| 567 | 567 | } |
| 568 | 568 | } |
| 569 | 569 | // Add sorting information to physical sub-elements if applicable. |
@@ -594,9 +594,9 @@ discard block |
||
| 594 | 594 | $update = self::$solr->service->createUpdate(); |
| 595 | 595 | $query = ""; |
| 596 | 596 | if ($field == 'uid' || $field == 'partof') { |
| 597 | - $query = $field . ':' . $value; |
|
| 597 | + $query = $field.':'.$value; |
|
| 598 | 598 | } else { |
| 599 | - $query = $field . ':"' . $value . '"'; |
|
| 599 | + $query = $field.':"'.$value.'"'; |
|
| 600 | 600 | } |
| 601 | 601 | $update->addDeleteQuery($query); |
| 602 | 602 | $update->addCommit($softCommit); |
@@ -621,7 +621,7 @@ discard block |
||
| 621 | 621 | { |
| 622 | 622 | $solrDoc = $updateQuery->createDocument(); |
| 623 | 623 | // Create unique identifier from document's UID and unit's XML ID. |
| 624 | - $solrDoc->setField('id', $document->getUid() . $unit['id']); |
|
| 624 | + $solrDoc->setField('id', $document->getUid().$unit['id']); |
|
| 625 | 625 | $solrDoc->setField('uid', $document->getUid()); |
| 626 | 626 | $solrDoc->setField('pid', $document->getPid()); |
| 627 | 627 | $solrDoc->setField('partof', $document->getPartof()); |
@@ -700,9 +700,9 @@ discard block |
||
| 700 | 700 | private static function handleException(string $errorMessage): void |
| 701 | 701 | { |
| 702 | 702 | if (!(Environment::isCli())) { |
| 703 | - self::addErrorMessage(Helper::getLanguageService()->getLL('flash.solrException') . '<br />' . htmlspecialchars($errorMessage)); |
|
| 703 | + self::addErrorMessage(Helper::getLanguageService()->getLL('flash.solrException').'<br />'.htmlspecialchars($errorMessage)); |
|
| 704 | 704 | } |
| 705 | - Helper::log('Apache Solr threw exception: "' . $errorMessage . '"', LOG_SEVERITY_ERROR); |
|
| 705 | + Helper::log('Apache Solr threw exception: "'.$errorMessage.'"', LOG_SEVERITY_ERROR); |
|
| 706 | 706 | } |
| 707 | 707 | |
| 708 | 708 | /** |
@@ -91,12 +91,12 @@ |
||
| 91 | 91 | $solr = Solr::getInstance($input->getOption('solr')); |
| 92 | 92 | // Connect to Solr server. |
| 93 | 93 | if (!$solr->ready) { |
| 94 | - $io->error('ERROR: Connection to Solr core ("' . $input->getOption('solr') . '") not possible \n'); |
|
| 94 | + $io->error('ERROR: Connection to Solr core ("'.$input->getOption('solr').'") not possible \n'); |
|
| 95 | 95 | return BaseCommand::FAILURE; |
| 96 | 96 | } |
| 97 | 97 | |
| 98 | 98 | if (!$solr->optimize($input->getOption('commit'), $input->getOption('optimize'))) { |
| 99 | - $io->error('ERROR: Optimizing the Solr core ("' . $input->getOption('solr') . '") not possible \n'); |
|
| 99 | + $io->error('ERROR: Optimizing the Solr core ("'.$input->getOption('solr').'") not possible \n'); |
|
| 100 | 100 | return BaseCommand::FAILURE; |
| 101 | 101 | } |
| 102 | 102 | |
@@ -62,7 +62,7 @@ discard block |
||
| 62 | 62 | |
| 63 | 63 | if (isset($submittedData['doc']) && empty($submittedData['doc'])) { |
| 64 | 64 | Helper::addMessage( |
| 65 | - Helper::getLanguageService()->getLL('additionalFields.doc') . ' ' . Helper::getLanguageService()->getLL('additionalFields.valid'), |
|
| 65 | + Helper::getLanguageService()->getLL('additionalFields.doc').' '.Helper::getLanguageService()->getLL('additionalFields.valid'), |
|
| 66 | 66 | $messageTitle, |
| 67 | 67 | $messageSeverity, |
| 68 | 68 | true, |
@@ -73,7 +73,7 @@ discard block |
||
| 73 | 73 | |
| 74 | 74 | if ((isset($submittedData['pid']) && (int) $submittedData['pid'] <= 0)) { |
| 75 | 75 | Helper::addMessage( |
| 76 | - Helper::getLanguageService()->getLL('additionalFields.pid') . ' ' . Helper::getLanguageService()->getLL('additionalFields.valid'), |
|
| 76 | + Helper::getLanguageService()->getLL('additionalFields.pid').' '.Helper::getLanguageService()->getLL('additionalFields.valid'), |
|
| 77 | 77 | $messageTitle, |
| 78 | 78 | $messageSeverity, |
| 79 | 79 | true, |
@@ -100,7 +100,7 @@ discard block |
||
| 100 | 100 | |
| 101 | 101 | if ((isset($submittedData['lib']) && (int) $submittedData['lib'] <= 0)) { |
| 102 | 102 | Helper::addMessage( |
| 103 | - Helper::getLanguageService()->getLL('additionalFields.lib') . ' ' . Helper::getLanguageService()->getLL('additionalFields.valid'), |
|
| 103 | + Helper::getLanguageService()->getLL('additionalFields.lib').' '.Helper::getLanguageService()->getLL('additionalFields.valid'), |
|
| 104 | 104 | $messageTitle, |
| 105 | 105 | $messageSeverity, |
| 106 | 106 | true, |
@@ -111,7 +111,7 @@ discard block |
||
| 111 | 111 | |
| 112 | 112 | if ((isset($submittedData['solr']) && (int) $submittedData['solr'] <= 0) || !isset($submittedData['solr'])) { |
| 113 | 113 | Helper::addMessage( |
| 114 | - Helper::getLanguageService()->getLL('additionalFields.solr') . ' ' . Helper::getLanguageService()->getLL('additionalFields.valid'), |
|
| 114 | + Helper::getLanguageService()->getLL('additionalFields.solr').' '.Helper::getLanguageService()->getLL('additionalFields.valid'), |
|
| 115 | 115 | $messageTitle, |
| 116 | 116 | $messageSeverity, |
| 117 | 117 | true, |
@@ -192,8 +192,8 @@ discard block |
||
| 192 | 192 | protected function getDryRunField(bool $dryRun): array |
| 193 | 193 | { |
| 194 | 194 | $fieldName = 'dryRun'; |
| 195 | - $fieldId = 'task_' . $fieldName; |
|
| 196 | - $fieldHtml = '<input type="checkbox" name="tx_scheduler[' . $fieldName . ']" id="' . $fieldId . '" value="1"' . ($dryRun ? ' checked="checked"' : '') . '>'; |
|
| 195 | + $fieldId = 'task_'.$fieldName; |
|
| 196 | + $fieldHtml = '<input type="checkbox" name="tx_scheduler['.$fieldName.']" id="'.$fieldId.'" value="1"'.($dryRun ? ' checked="checked"' : '').'>'; |
|
| 197 | 197 | return [ |
| 198 | 198 | 'code' => $fieldHtml, |
| 199 | 199 | 'label' => 'LLL:EXT:dlf/Resources/Private/Language/locallang_tasks.xlf:additionalFields.dryRun', |
@@ -215,15 +215,15 @@ discard block |
||
| 215 | 215 | protected function getSolrField(int $solr, int $pid = null): array |
| 216 | 216 | { |
| 217 | 217 | $fieldName = 'solr'; |
| 218 | - $fieldId = 'task_' . $fieldName; |
|
| 218 | + $fieldId = 'task_'.$fieldName; |
|
| 219 | 219 | |
| 220 | 220 | $allSolrCores = $this->getSolrCores($pid); |
| 221 | 221 | $options = []; |
| 222 | 222 | $options[] = '<option value="-1"></option>'; |
| 223 | 223 | foreach ($allSolrCores as $label => $uid) { |
| 224 | - $options[] = '<option value="' . $uid . '" ' . ($solr == $uid ? 'selected' : '') . ' >' . $label . '</option>'; |
|
| 224 | + $options[] = '<option value="'.$uid.'" '.($solr == $uid ? 'selected' : '').' >'.$label.'</option>'; |
|
| 225 | 225 | }; |
| 226 | - $fieldHtml = '<select name="tx_scheduler[' . $fieldName . ']" id="' . $fieldId . '">' . implode("\n", $options) . '</select>'; |
|
| 226 | + $fieldHtml = '<select name="tx_scheduler['.$fieldName.']" id="'.$fieldId.'">'.implode("\n", $options).'</select>'; |
|
| 227 | 227 | return [ |
| 228 | 228 | 'code' => $fieldHtml, |
| 229 | 229 | 'label' => 'LLL:EXT:dlf/Resources/Private/Language/locallang_tasks.xlf:additionalFields.solr', |
@@ -244,7 +244,7 @@ discard block |
||
| 244 | 244 | protected function getPidField(int $pid): array |
| 245 | 245 | { |
| 246 | 246 | $fieldName = 'pid'; |
| 247 | - $fieldId = 'task_' . $fieldName; |
|
| 247 | + $fieldId = 'task_'.$fieldName; |
|
| 248 | 248 | |
| 249 | 249 | $pageRepository = GeneralUtility::makeInstance(PageTreeRepository::class); |
| 250 | 250 | $pages = $pageRepository->getTree(0); |
@@ -252,11 +252,11 @@ discard block |
||
| 252 | 252 | $options = []; |
| 253 | 253 | foreach ($pages['_children'] as $page) { |
| 254 | 254 | if ($page['doktype'] == 254) { |
| 255 | - $options[] = '<option value="' . $page['uid'] . '" ' . ($pid == $page['uid'] ? 'selected' : '') . ' >' . $page['title'] . '</option>'; |
|
| 255 | + $options[] = '<option value="'.$page['uid'].'" '.($pid == $page['uid'] ? 'selected' : '').' >'.$page['title'].'</option>'; |
|
| 256 | 256 | } |
| 257 | 257 | } |
| 258 | 258 | |
| 259 | - $fieldHtml = '<select name="tx_scheduler[' . $fieldName . ']" id="' . $fieldId . '">' . implode("\n", $options) . '</select>'; |
|
| 259 | + $fieldHtml = '<select name="tx_scheduler['.$fieldName.']" id="'.$fieldId.'">'.implode("\n", $options).'</select>'; |
|
| 260 | 260 | return [ |
| 261 | 261 | 'code' => $fieldHtml, |
| 262 | 262 | 'label' => 'LLL:EXT:dlf/Resources/Private/Language/locallang_tasks.xlf:additionalFields.pid', |
@@ -277,8 +277,8 @@ discard block |
||
| 277 | 277 | protected function getOwnerField(string $owner): array |
| 278 | 278 | { |
| 279 | 279 | $fieldName = 'owner'; |
| 280 | - $fieldId = 'task_' . $fieldName; |
|
| 281 | - $fieldHtml = '<input type="text" name="tx_scheduler[' . $fieldName . ']" id="' . $fieldId . '" value="' . $owner . '" >'; |
|
| 280 | + $fieldId = 'task_'.$fieldName; |
|
| 281 | + $fieldHtml = '<input type="text" name="tx_scheduler['.$fieldName.']" id="'.$fieldId.'" value="'.$owner.'" >'; |
|
| 282 | 282 | return [ |
| 283 | 283 | 'code' => $fieldHtml, |
| 284 | 284 | 'label' => 'LLL:EXT:dlf/Resources/Private/Language/locallang_tasks.xlf:additionalFields.owner', |
@@ -312,7 +312,7 @@ discard block |
||
| 312 | 312 | $result = $queryBuilder->execute(); |
| 313 | 313 | |
| 314 | 314 | while ($record = $result->fetchAssociative()) { |
| 315 | - $solrCores[$record['label'] . ' (' . $record['index_name'] . ')'] = $record['uid']; |
|
| 315 | + $solrCores[$record['label'].' ('.$record['index_name'].')'] = $record['uid']; |
|
| 316 | 316 | } |
| 317 | 317 | |
| 318 | 318 | return $solrCores; |
@@ -330,8 +330,8 @@ discard block |
||
| 330 | 330 | protected function getSoftCommitField(bool $softCommit): array |
| 331 | 331 | { |
| 332 | 332 | $fieldName = 'softCommit'; |
| 333 | - $fieldId = 'task_' . $fieldName; |
|
| 334 | - $fieldHtml = '<input type="checkbox" name="tx_scheduler[' . $fieldName . ']" id="' . $fieldId . '" value="1"' . ($softCommit ? ' checked="checked"' : '') . '>'; |
|
| 333 | + $fieldId = 'task_'.$fieldName; |
|
| 334 | + $fieldHtml = '<input type="checkbox" name="tx_scheduler['.$fieldName.']" id="'.$fieldId.'" value="1"'.($softCommit ? ' checked="checked"' : '').'>'; |
|
| 335 | 335 | return [ |
| 336 | 336 | 'code' => $fieldHtml, |
| 337 | 337 | 'label' => 'LLL:EXT:dlf/Resources/Private/Language/locallang_tasks.xlf:additionalFields.softCommit', |