@@ -82,7 +82,7 @@ discard block |
||
| 82 | 82 | { |
| 83 | 83 | foreach ($this->requiredMetadataFields as $requiredMetadataField) { |
| 84 | 84 | if (empty($this->metadata[$requiredMetadataField][0])) { |
| 85 | - $this->logger->error('Missing required metadata field "' . $requiredMetadataField . '".'); |
|
| 85 | + $this->logger->error('Missing required metadata field "'.$requiredMetadataField.'".'); |
|
| 86 | 86 | return false; |
| 87 | 87 | } |
| 88 | 88 | } |
@@ -100,14 +100,14 @@ discard block |
||
| 100 | 100 | */ |
| 101 | 101 | public function hasCorrectLogicalStructure(string $type): bool |
| 102 | 102 | { |
| 103 | - $expectedNodes = $this->xml->xpath('./mets:structMap[@TYPE="LOGICAL"]/mets:div[@TYPE="' . $type . '"]'); |
|
| 103 | + $expectedNodes = $this->xml->xpath('./mets:structMap[@TYPE="LOGICAL"]/mets:div[@TYPE="'.$type.'"]'); |
|
| 104 | 104 | if ($expectedNodes) { |
| 105 | 105 | return true; |
| 106 | 106 | } |
| 107 | 107 | |
| 108 | 108 | $existingNodes = $this->xml->xpath('./mets:structMap[@TYPE="LOGICAL"]/mets:div'); |
| 109 | 109 | if ($existingNodes) { |
| 110 | - $this->logger->error('Document contains logical structure but @TYPE="' . $type . '" is missing.'); |
|
| 110 | + $this->logger->error('Document contains logical structure but @TYPE="'.$type.'" is missing.'); |
|
| 111 | 111 | return false; |
| 112 | 112 | } |
| 113 | 113 | |
@@ -105,7 +105,7 @@ |
||
| 105 | 105 | |
| 106 | 106 | private function getXml(string $file): SimpleXMLElement |
| 107 | 107 | { |
| 108 | - $xml = simplexml_load_file(__DIR__ . '/../../Fixtures/MetsDocument/' . $file); |
|
| 108 | + $xml = simplexml_load_file(__DIR__.'/../../Fixtures/MetsDocument/'.$file); |
|
| 109 | 109 | self::assertNotFalse($xml); |
| 110 | 110 | return $xml; |
| 111 | 111 | } |
@@ -84,7 +84,7 @@ discard block |
||
| 84 | 84 | $this->initializeRepositories((int) $input->getOption('pid')); |
| 85 | 85 | |
| 86 | 86 | if ($this->storagePid == 0) { |
| 87 | - $io->error('ERROR: No valid PID (' . $this->storagePid . ') given.'); |
|
| 87 | + $io->error('ERROR: No valid PID ('.$this->storagePid.') given.'); |
|
| 88 | 88 | return BaseCommand::FAILURE; |
| 89 | 89 | } |
| 90 | 90 | |
@@ -99,13 +99,13 @@ discard block |
||
| 99 | 99 | if (empty($solrCoreUid) || !in_array($solrCoreUid, $allSolrCores)) { |
| 100 | 100 | $outputSolrCores = []; |
| 101 | 101 | foreach ($allSolrCores as $indexName => $uid) { |
| 102 | - $outputSolrCores[] = $uid . ' : ' . $indexName; |
|
| 102 | + $outputSolrCores[] = $uid.' : '.$indexName; |
|
| 103 | 103 | } |
| 104 | 104 | if (empty($outputSolrCores)) { |
| 105 | - $io->error('ERROR: No valid Solr core ("' . $input->getOption('solr') . '") given. No valid cores found on PID ' . $this->storagePid . ".\n"); |
|
| 105 | + $io->error('ERROR: No valid Solr core ("'.$input->getOption('solr').'") given. No valid cores found on PID '.$this->storagePid.".\n"); |
|
| 106 | 106 | return BaseCommand::FAILURE; |
| 107 | 107 | } else { |
| 108 | - $io->error('ERROR: No valid Solr core ("' . $input->getOption('solr') . '") given. ' . "Valid cores are (<uid>:<index_name>):\n" . implode("\n", $outputSolrCores) . "\n"); |
|
| 108 | + $io->error('ERROR: No valid Solr core ("'.$input->getOption('solr').'") given. '."Valid cores are (<uid>:<index_name>):\n".implode("\n", $outputSolrCores)."\n"); |
|
| 109 | 109 | return BaseCommand::FAILURE; |
| 110 | 110 | } |
| 111 | 111 | } |
@@ -147,15 +147,15 @@ discard block |
||
| 147 | 147 | $document = $this->getDocument($input); |
| 148 | 148 | |
| 149 | 149 | if ($document === null) { |
| 150 | - $io->info('INFO: Document with UID "' . $input->getOption('doc') . '" could not be found on PID ' . $this->storagePid . '. It is probably already deleted from DB.'); |
|
| 150 | + $io->info('INFO: Document with UID "'.$input->getOption('doc').'" could not be found on PID '.$this->storagePid.'. It is probably already deleted from DB.'); |
|
| 151 | 151 | } else { |
| 152 | 152 | if ($io->isVerbose()) { |
| 153 | - $io->section('Deleting ' . $document->getUid() . ' ("' . $document->getLocation() . '") on PID ' . $this->storagePid . '.'); |
|
| 153 | + $io->section('Deleting '.$document->getUid().' ("'.$document->getLocation().'") on PID '.$this->storagePid.'.'); |
|
| 154 | 154 | } |
| 155 | 155 | $this->documentRepository->remove($document); |
| 156 | 156 | $this->persistenceManager->persistAll(); |
| 157 | 157 | if ($io->isVerbose()) { |
| 158 | - $io->success('Deleted ' . $document->getUid() . ' ("' . $document->getLocation() . '") on PID ' . $this->storagePid . '.'); |
|
| 158 | + $io->success('Deleted '.$document->getUid().' ("'.$document->getLocation().'") on PID '.$this->storagePid.'.'); |
|
| 159 | 159 | } |
| 160 | 160 | } |
| 161 | 161 | } |
@@ -174,7 +174,7 @@ discard block |
||
| 174 | 174 | private function deleteFromSolr($input, $io, $solrCoreUid): void |
| 175 | 175 | { |
| 176 | 176 | if ($io->isVerbose()) { |
| 177 | - $io->section('Deleting ' . $input->getOption('doc') . ' on Solr core ' . $solrCoreUid . '.'); |
|
| 177 | + $io->section('Deleting '.$input->getOption('doc').' on Solr core '.$solrCoreUid.'.'); |
|
| 178 | 178 | } |
| 179 | 179 | |
| 180 | 180 | $isDeleted = false; |
@@ -187,7 +187,7 @@ discard block |
||
| 187 | 187 | |
| 188 | 188 | if ($isDeleted) { |
| 189 | 189 | if ($io->isVerbose()) { |
| 190 | - $io->success('Deleted ' . $input->getOption('doc') . ' on Solr core ' . $solrCoreUid . '.'); |
|
| 190 | + $io->success('Deleted '.$input->getOption('doc').' on Solr core '.$solrCoreUid.'.'); |
|
| 191 | 191 | } |
| 192 | 192 | $io->success('All done!'); |
| 193 | 193 | } else { |
@@ -122,7 +122,7 @@ discard block |
||
| 122 | 122 | } |
| 123 | 123 | |
| 124 | 124 | if (isset($listRequestData['searchParameter']) && is_array($listRequestData['searchParameter'])) { |
| 125 | - $this->searchParams = array_merge($this->searchParams ?: [], $listRequestData['searchParameter']); |
|
| 125 | + $this->searchParams = array_merge($this->searchParams ? : [], $listRequestData['searchParameter']); |
|
| 126 | 126 | $listViewSearch = true; |
| 127 | 127 | $GLOBALS['TSFE']->fe_user->setKey('ses', 'search', $this->searchParams); |
| 128 | 128 | } |
@@ -183,7 +183,7 @@ discard block |
||
| 183 | 183 | $simplePagination = new SimplePagination($solrPaginator); |
| 184 | 184 | |
| 185 | 185 | $pagination = $this->buildSimplePagination($simplePagination, $solrPaginator); |
| 186 | - $this->view->assignMultiple([ 'pagination' => $pagination, 'paginator' => $solrPaginator ]); |
|
| 186 | + $this->view->assignMultiple(['pagination' => $pagination, 'paginator' => $solrPaginator]); |
|
| 187 | 187 | } |
| 188 | 188 | |
| 189 | 189 | $this->view->assign('documents', !empty($solrResults) ? $solrResults : []); |
@@ -208,7 +208,7 @@ discard block |
||
| 208 | 208 | |
| 209 | 209 | // Add uHash parameter to suggest parameter to make a basic protection of this form. |
| 210 | 210 | if ($this->settings['suggest']) { |
| 211 | - $this->view->assign('uHash', GeneralUtility::hmac((string) (new Typo3Version()) . Environment::getExtensionsPath(), 'SearchSuggest')); |
|
| 211 | + $this->view->assign('uHash', GeneralUtility::hmac((string) (new Typo3Version()).Environment::getExtensionsPath(), 'SearchSuggest')); |
|
| 212 | 212 | } |
| 213 | 213 | |
| 214 | 214 | $this->view->assign('viewData', $this->viewData); |
@@ -229,7 +229,7 @@ discard block |
||
| 229 | 229 | // Get facets from plugin configuration. |
| 230 | 230 | $facets = []; |
| 231 | 231 | foreach (GeneralUtility::trimExplode(',', $this->settings['facets'], true) as $facet) { |
| 232 | - $facets[$facet . '_faceting'] = Helper::translate($facet, 'tx_dlf_metadata', $this->settings['storagePid']); |
|
| 232 | + $facets[$facet.'_faceting'] = Helper::translate($facet, 'tx_dlf_metadata', $this->settings['storagePid']); |
|
| 233 | 233 | } |
| 234 | 234 | |
| 235 | 235 | $this->view->assign('facetsMenu', $this->makeFacetsMenuArray($facets)); |
@@ -265,13 +265,13 @@ discard block |
||
| 265 | 265 | $searchParams = $this->searchParams; |
| 266 | 266 | if ( |
| 267 | 267 | (!empty($searchParams['fulltext'])) |
| 268 | - || preg_match('/' . $fields['fulltext'] . ':\((.*)\)/', trim($searchParams['query']), $matches) |
|
| 268 | + || preg_match('/'.$fields['fulltext'].':\((.*)\)/', trim($searchParams['query']), $matches) |
|
| 269 | 269 | ) { |
| 270 | 270 | // If the query already is a fulltext query e.g using the facets |
| 271 | 271 | $searchParams['query'] = empty($matches[1]) ? $searchParams['query'] : $matches[1]; |
| 272 | 272 | // Search in fulltext field if applicable. Query must not be empty! |
| 273 | 273 | if (!empty($searchParams['query'])) { |
| 274 | - $search['query'] = $fields['fulltext'] . ':(' . Solr::escapeQuery(trim($searchParams['query'])) . ')'; |
|
| 274 | + $search['query'] = $fields['fulltext'].':('.Solr::escapeQuery(trim($searchParams['query'])).')'; |
|
| 275 | 275 | } |
| 276 | 276 | } else { |
| 277 | 277 | // Retain given search field if valid. |
@@ -288,7 +288,7 @@ discard block |
||
| 288 | 288 | // add filter query for date search |
| 289 | 289 | if (!empty($this->searchParams['dateFrom']) && !empty($this->searchParams['dateTo'])) { |
| 290 | 290 | // combine dateFrom and dateTo into filterquery as range search |
| 291 | - $search['params']['filterquery'][]['query'] = '{!join from=' . $fields['uid'] . ' to=' . $fields['uid'] . '}' . $fields['date'] . ':[' . $this->searchParams['dateFrom'] . ' TO ' . $this->searchParams['dateTo'] . ']'; |
|
| 291 | + $search['params']['filterquery'][]['query'] = '{!join from='.$fields['uid'].' to='.$fields['uid'].'}'.$fields['date'].':['.$this->searchParams['dateFrom'].' TO '.$this->searchParams['dateTo'].']'; |
|
| 292 | 292 | } |
| 293 | 293 | |
| 294 | 294 | // Add extended search query. |
@@ -306,9 +306,9 @@ discard block |
||
| 306 | 306 | in_array($searchParams['extOperator'][$i], $allowedOperators) |
| 307 | 307 | ) { |
| 308 | 308 | if (!empty($search['query'])) { |
| 309 | - $search['query'] .= ' ' . $searchParams['extOperator'][$i] . ' '; |
|
| 309 | + $search['query'] .= ' '.$searchParams['extOperator'][$i].' '; |
|
| 310 | 310 | } |
| 311 | - $search['query'] .= Indexer::getIndexFieldName($searchParams['extField'][$i], $this->settings['storagePid']) . ':(' . Solr::escapeQuery($searchParams['extQuery'][$i]) . ')'; |
|
| 311 | + $search['query'] .= Indexer::getIndexFieldName($searchParams['extField'][$i], $this->settings['storagePid']).':('.Solr::escapeQuery($searchParams['extQuery'][$i]).')'; |
|
| 312 | 312 | } |
| 313 | 313 | } |
| 314 | 314 | } |
@@ -397,24 +397,24 @@ discard block |
||
| 397 | 397 | foreach ($collections as $collectionEntry) { |
| 398 | 398 | // check for virtual collections query string |
| 399 | 399 | if ($collectionEntry->getIndexSearch()) { |
| 400 | - $virtualCollectionsQueryString .= empty($virtualCollectionsQueryString) ? '(' . $collectionEntry->getIndexSearch() . ')' : ' OR (' . $collectionEntry->getIndexSearch() . ')'; |
|
| 400 | + $virtualCollectionsQueryString .= empty($virtualCollectionsQueryString) ? '('.$collectionEntry->getIndexSearch().')' : ' OR ('.$collectionEntry->getIndexSearch().')'; |
|
| 401 | 401 | } else { |
| 402 | - $collectionsQueryString .= empty($collectionsQueryString) ? '"' . $collectionEntry->getIndexName() . '"' : ' OR "' . $collectionEntry->getIndexName() . '"'; |
|
| 402 | + $collectionsQueryString .= empty($collectionsQueryString) ? '"'.$collectionEntry->getIndexName().'"' : ' OR "'.$collectionEntry->getIndexName().'"'; |
|
| 403 | 403 | } |
| 404 | 404 | } |
| 405 | 405 | |
| 406 | 406 | // distinguish between simple collection browsing and actual searching within the collection(s) |
| 407 | 407 | if (!empty($collectionsQueryString)) { |
| 408 | 408 | if (empty($query)) { |
| 409 | - $collectionsQueryString = '(collection_faceting:(' . $collectionsQueryString . ') AND toplevel:true AND partof:0)'; |
|
| 409 | + $collectionsQueryString = '(collection_faceting:('.$collectionsQueryString.') AND toplevel:true AND partof:0)'; |
|
| 410 | 410 | } else { |
| 411 | - $collectionsQueryString = '(collection_faceting:(' . $collectionsQueryString . '))'; |
|
| 411 | + $collectionsQueryString = '(collection_faceting:('.$collectionsQueryString.'))'; |
|
| 412 | 412 | } |
| 413 | 413 | } |
| 414 | 414 | |
| 415 | 415 | // virtual collections might query documents that are neither toplevel:true nor partof:0 and need to be searched separately |
| 416 | 416 | if (!empty($virtualCollectionsQueryString)) { |
| 417 | - $virtualCollectionsQueryString = '(' . $virtualCollectionsQueryString . ')'; |
|
| 417 | + $virtualCollectionsQueryString = '('.$virtualCollectionsQueryString.')'; |
|
| 418 | 418 | } |
| 419 | 419 | |
| 420 | 420 | // combine both querystrings into a single filterquery via OR if both are given, otherwise pass either of those |
@@ -444,7 +444,7 @@ discard block |
||
| 444 | 444 | $entryArray['doNotLinkIt'] = 0; |
| 445 | 445 | // Check if facet is already selected. |
| 446 | 446 | $queryColumn = array_column($search['params']['filterquery'], 'query'); |
| 447 | - $index = array_search($field . ':("' . Solr::escapeQuery($value) . '")', $queryColumn); |
|
| 447 | + $index = array_search($field.':("'.Solr::escapeQuery($value).'")', $queryColumn); |
|
| 448 | 448 | if ($index !== false) { |
| 449 | 449 | // Facet is selected, thus remove it from filter. |
| 450 | 450 | unset($queryColumn[$index]); |
@@ -458,7 +458,7 @@ discard block |
||
| 458 | 458 | } |
| 459 | 459 | } else { |
| 460 | 460 | // Facet is not selected, thus add it to filter. |
| 461 | - $queryColumn[] = $field . ':("' . Solr::escapeQuery($value) . '")'; |
|
| 461 | + $queryColumn[] = $field.':("'.Solr::escapeQuery($value).'")'; |
|
| 462 | 462 | $entryArray['ITEM_STATE'] = 'NO'; |
| 463 | 463 | } |
| 464 | 464 | $entryArray['queryColumn'] = $queryColumn; |
@@ -136,7 +136,7 @@ discard block |
||
| 136 | 136 | } |
| 137 | 137 | |
| 138 | 138 | if (empty(array_filter($metadata))) { |
| 139 | - $this->logger->warning('No metadata found for document with UID ' . $this->document->getUid()); |
|
| 139 | + $this->logger->warning('No metadata found for document with UID '.$this->document->getUid()); |
|
| 140 | 140 | return; |
| 141 | 141 | } |
| 142 | 142 | ksort($metadata); |
@@ -174,7 +174,7 @@ discard block |
||
| 174 | 174 | $this->parseMetadata($i, $name, $value, $metadata); |
| 175 | 175 | |
| 176 | 176 | if (is_array($metadata[$i][$name])) { |
| 177 | - $metadata[$i][$name] = array_values(array_filter($metadata[$i][$name], function ($metadataValue) { |
|
| 177 | + $metadata[$i][$name] = array_values(array_filter($metadata[$i][$name], function($metadataValue) { |
|
| 178 | 178 | return !empty($metadataValue); |
| 179 | 179 | })); |
| 180 | 180 | } |
@@ -391,7 +391,7 @@ discard block |
||
| 391 | 391 | if (empty(implode('', $value)) && $this->settings['getTitle'] && $this->document->getPartof()) { |
| 392 | 392 | $superiorTitle = AbstractDocument::getTitle($this->document->getPartof(), true); |
| 393 | 393 | if (!empty($superiorTitle)) { |
| 394 | - $metadata[$i]['title'] = ['[' . $superiorTitle . ']']; |
|
| 394 | + $metadata[$i]['title'] = ['['.$superiorTitle.']']; |
|
| 395 | 395 | } |
| 396 | 396 | } |
| 397 | 397 | } |
@@ -250,7 +250,7 @@ discard block |
||
| 250 | 250 | |
| 251 | 251 | $data['tx_dlf_metadata'][uniqid('NEW')] = [ |
| 252 | 252 | 'pid' => $this->pid, |
| 253 | - 'label' => $this->getLLL('metadata.' . $indexName, $this->siteLanguages[0]->getTypo3Language(), $metadataLabels), |
|
| 253 | + 'label' => $this->getLLL('metadata.'.$indexName, $this->siteLanguages[0]->getTypo3Language(), $metadataLabels), |
|
| 254 | 254 | 'index_name' => $indexName, |
| 255 | 255 | 'format' => implode(',', $formatIds), |
| 256 | 256 | 'default_value' => $values['default_value'], |
@@ -289,7 +289,7 @@ discard block |
||
| 289 | 289 | 'pid' => $this->pid, |
| 290 | 290 | 'sys_language_uid' => $siteLanguage->getLanguageId(), |
| 291 | 291 | 'l18n_parent' => $id, |
| 292 | - 'label' => $this->getLLL('metadata.' . $indexName, $siteLanguage->getTypo3Language(), $metadataLabels), |
|
| 292 | + 'label' => $this->getLLL('metadata.'.$indexName, $siteLanguage->getTypo3Language(), $metadataLabels), |
|
| 293 | 293 | ]; |
| 294 | 294 | } |
| 295 | 295 | |
@@ -315,7 +315,7 @@ discard block |
||
| 315 | 315 | |
| 316 | 316 | if ($this->solrCoreRepository->findOneByPid($this->pid) === null) { |
| 317 | 317 | $newRecord = GeneralUtility::makeInstance(SolrCore::class); |
| 318 | - $newRecord->setLabel($this->getLLL('flexform.solrcore', $this->siteLanguages[0]->getTypo3Language(), $beLabels). ' (PID ' . $this->pid . ')'); |
|
| 318 | + $newRecord->setLabel($this->getLLL('flexform.solrcore', $this->siteLanguages[0]->getTypo3Language(), $beLabels).' (PID '.$this->pid.')'); |
|
| 319 | 319 | $indexName = Solr::createCore(''); |
| 320 | 320 | if (!empty($indexName)) { |
| 321 | 321 | $newRecord->setIndexName($indexName); |
@@ -355,7 +355,7 @@ discard block |
||
| 355 | 355 | $data['tx_dlf_structures'][uniqid('NEW')] = [ |
| 356 | 356 | 'pid' => $this->pid, |
| 357 | 357 | 'toplevel' => $values['toplevel'], |
| 358 | - 'label' => $this->getLLL('structure.' . $indexName, $this->siteLanguages[0]->getTypo3Language(), $structureLabels), |
|
| 358 | + 'label' => $this->getLLL('structure.'.$indexName, $this->siteLanguages[0]->getTypo3Language(), $structureLabels), |
|
| 359 | 359 | 'index_name' => $indexName, |
| 360 | 360 | 'oai_name' => $values['oai_name'], |
| 361 | 361 | 'thumbnail' => 0, |
@@ -380,7 +380,7 @@ discard block |
||
| 380 | 380 | 'pid' => $this->pid, |
| 381 | 381 | 'sys_language_uid' => $siteLanguage->getLanguageId(), |
| 382 | 382 | 'l18n_parent' => $id, |
| 383 | - 'label' => $this->getLLL('structure.' . $indexName, $siteLanguage->getTypo3Language(), $structureLabels), |
|
| 383 | + 'label' => $this->getLLL('structure.'.$indexName, $siteLanguage->getTypo3Language(), $structureLabels), |
|
| 384 | 384 | ]; |
| 385 | 385 | } |
| 386 | 386 | |
@@ -475,7 +475,7 @@ discard block |
||
| 475 | 475 | } elseif (isset($langArray['default'][$index][0]['target'])) { |
| 476 | 476 | return $langArray['default'][$index][0]['target']; |
| 477 | 477 | } else { |
| 478 | - return 'Missing translation for ' . $index; |
|
| 478 | + return 'Missing translation for '.$index; |
|
| 479 | 479 | } |
| 480 | 480 | } |
| 481 | 481 | |
@@ -490,7 +490,7 @@ discard block |
||
| 490 | 490 | */ |
| 491 | 491 | private function getRecords(string $recordType): array |
| 492 | 492 | { |
| 493 | - $filePath = Environment::getPublicPath() . '/typo3conf/ext/dlf/Resources/Private/Data/' . $recordType . 'Defaults.json'; |
|
| 493 | + $filePath = Environment::getPublicPath().'/typo3conf/ext/dlf/Resources/Private/Data/'.$recordType.'Defaults.json'; |
|
| 494 | 494 | |
| 495 | 495 | $resourceFactory = GeneralUtility::makeInstance(ResourceFactory::class); |
| 496 | 496 | $fileObject = $resourceFactory->getFileObjectFromCombinedIdentifier($filePath); |
@@ -227,7 +227,7 @@ discard block |
||
| 227 | 227 | // in which case metadata of toplevel entry isn't yet filled. |
| 228 | 228 | if (empty($document['metadata'])) { |
| 229 | 229 | $document['metadata'] = $this->fetchToplevelMetadataFromSolr([ |
| 230 | - 'query' => 'uid:' . $document['uid'], |
|
| 230 | + 'query' => 'uid:'.$document['uid'], |
|
| 231 | 231 | 'start' => 0, |
| 232 | 232 | 'rows' => 1, |
| 233 | 233 | 'sort' => ['score' => 'desc'], |
@@ -238,7 +238,7 @@ discard block |
||
| 238 | 238 | if (empty($document['title']) && $document['partOf'] > 0) { |
| 239 | 239 | $superiorTitle = AbstractDocument::getTitle($document['partOf'], true); |
| 240 | 240 | if (!empty($superiorTitle)) { |
| 241 | - $document['title'] = '[' . $superiorTitle . ']'; |
|
| 241 | + $document['title'] = '['.$superiorTitle.']'; |
|
| 242 | 242 | } |
| 243 | 243 | } |
| 244 | 244 | } |
@@ -373,13 +373,13 @@ discard block |
||
| 373 | 373 | // Set search query. |
| 374 | 374 | if ( |
| 375 | 375 | !empty($this->searchParams['fulltext']) |
| 376 | - || preg_match('/' . $fields['fulltext'] . ':\((.*)\)/', trim($this->searchParams['query'] ?? ''), $matches) |
|
| 376 | + || preg_match('/'.$fields['fulltext'].':\((.*)\)/', trim($this->searchParams['query'] ?? ''), $matches) |
|
| 377 | 377 | ) { |
| 378 | 378 | // If the query already is a fulltext query e.g using the facets |
| 379 | 379 | $this->searchParams['query'] = empty($matches[1]) ? $this->searchParams['query'] : $matches[1]; |
| 380 | 380 | // Search in fulltext field if applicable. Query must not be empty! |
| 381 | 381 | if (!empty($this->searchParams['query'])) { |
| 382 | - $query = $fields['fulltext'] . ':(' . Solr::escapeQuery(trim($this->searchParams['query'])) . ')'; |
|
| 382 | + $query = $fields['fulltext'].':('.Solr::escapeQuery(trim($this->searchParams['query'])).')'; |
|
| 383 | 383 | } |
| 384 | 384 | $params['fulltext'] = true; |
| 385 | 385 | } else { |
@@ -402,9 +402,9 @@ discard block |
||
| 402 | 402 | in_array($this->searchParams['extOperator'][$i], $allowedOperators) |
| 403 | 403 | ) { |
| 404 | 404 | if (!empty($query)) { |
| 405 | - $query .= ' ' . $this->searchParams['extOperator'][$i] . ' '; |
|
| 405 | + $query .= ' '.$this->searchParams['extOperator'][$i].' '; |
|
| 406 | 406 | } |
| 407 | - $query .= Indexer::getIndexFieldName($this->searchParams['extField'][$i], $this->settings['storagePid']) . ':(' . Solr::escapeQuery($this->searchParams['extQuery'][$i]) . ')'; |
|
| 407 | + $query .= Indexer::getIndexFieldName($this->searchParams['extField'][$i], $this->settings['storagePid']).':('.Solr::escapeQuery($this->searchParams['extQuery'][$i]).')'; |
|
| 408 | 408 | } |
| 409 | 409 | } |
| 410 | 410 | } |
@@ -413,7 +413,7 @@ discard block |
||
| 413 | 413 | // Add filter query for date search |
| 414 | 414 | if (!empty($this->searchParams['dateFrom']) && !empty($this->searchParams['dateTo'])) { |
| 415 | 415 | // combine dateFrom and dateTo into range search |
| 416 | - $params['filterquery'][]['query'] = '{!join from=' . $fields['uid'] . ' to=' . $fields['uid'] . '}'. $fields['date'] . ':[' . $this->searchParams['dateFrom'] . ' TO ' . $this->searchParams['dateTo'] . ']'; |
|
| 416 | + $params['filterquery'][]['query'] = '{!join from='.$fields['uid'].' to='.$fields['uid'].'}'.$fields['date'].':['.$this->searchParams['dateFrom'].' TO '.$this->searchParams['dateTo'].']'; |
|
| 417 | 417 | } |
| 418 | 418 | |
| 419 | 419 | // Add filter query for faceting. |
@@ -430,12 +430,12 @@ discard block |
||
| 430 | 430 | ) { |
| 431 | 431 | // Search in document and all subordinates (valid for up to three levels of hierarchy). |
| 432 | 432 | $params['filterquery'][]['query'] = '_query_:"{!join from=' |
| 433 | - . $fields['uid'] . ' to=' . $fields['partof'] . '}' |
|
| 434 | - . $fields['uid'] . ':{!join from=' . $fields['uid'] . ' to=' . $fields['partof'] . '}' |
|
| 435 | - . $fields['uid'] . ':' . $this->searchParams['documentId'] . '"' . ' OR {!join from=' |
|
| 436 | - . $fields['uid'] . ' to=' . $fields['partof'] . '}' |
|
| 437 | - . $fields['uid'] . ':' . $this->searchParams['documentId'] . ' OR ' |
|
| 438 | - . $fields['uid'] . ':' . $this->searchParams['documentId']; |
|
| 433 | + . $fields['uid'].' to='.$fields['partof'].'}' |
|
| 434 | + . $fields['uid'].':{!join from='.$fields['uid'].' to='.$fields['partof'].'}' |
|
| 435 | + . $fields['uid'].':'.$this->searchParams['documentId'].'"'.' OR {!join from=' |
|
| 436 | + . $fields['uid'].' to='.$fields['partof'].'}' |
|
| 437 | + . $fields['uid'].':'.$this->searchParams['documentId'].' OR ' |
|
| 438 | + . $fields['uid'].':'.$this->searchParams['documentId']; |
|
| 439 | 439 | } |
| 440 | 440 | |
| 441 | 441 | // if collections are given, we prepare the collection query string |
@@ -455,8 +455,8 @@ discard block |
||
| 455 | 455 | if ($this->listedMetadata) { |
| 456 | 456 | foreach ($this->listedMetadata as $metadata) { |
| 457 | 457 | if ($metadata->getIndexStored() || $metadata->getIndexIndexed()) { |
| 458 | - $listMetadataRecord = $metadata->getIndexName() . '_' . ($metadata->getIndexTokenized() ? 't' : 'u') . ($metadata->getIndexStored() ? 's' : 'u') . ($metadata->getIndexIndexed() ? 'i' : 'u'); |
|
| 459 | - $params['fields'] .= ',' . $listMetadataRecord; |
|
| 458 | + $listMetadataRecord = $metadata->getIndexName().'_'.($metadata->getIndexTokenized() ? 't' : 'u').($metadata->getIndexStored() ? 's' : 'u').($metadata->getIndexIndexed() ? 'i' : 'u'); |
|
| 459 | + $params['fields'] .= ','.$listMetadataRecord; |
|
| 460 | 460 | $params['listMetadataRecords'][$metadata->getIndexName()] = $listMetadataRecord; |
| 461 | 461 | } |
| 462 | 462 | } |
@@ -531,8 +531,8 @@ discard block |
||
| 531 | 531 | if ($this->searchParams['fulltext'] == '1') { |
| 532 | 532 | $searchResult['snippet'] = $doc['snippet']; |
| 533 | 533 | $searchResult['highlight'] = $doc['highlight']; |
| 534 | - $searchResult['highlight_word'] = preg_replace('/^;|;$/', '', // remove ; at beginning or end |
|
| 535 | - preg_replace('/;+/', ';', // replace any multiple of ; with a single ; |
|
| 534 | + $searchResult['highlight_word'] = preg_replace('/^;|;$/', '', // remove ; at beginning or end |
|
| 535 | + preg_replace('/;+/', ';', // replace any multiple of ; with a single ; |
|
| 536 | 536 | preg_replace('/[{~\d*}{\s+}{^=*\d+.*\d*}`~!@#$%\^&*()_|+-=?;:\'",.<>\{\}\[\]\\\]/', ';', $this->searchParams['query']))); // replace search operators and special characters with ; |
| 537 | 537 | } |
| 538 | 538 | $documents[$doc['uid']]['searchResults'][] = $searchResult; |
@@ -556,7 +556,7 @@ discard block |
||
| 556 | 556 | |
| 557 | 557 | // Fetch metadata for the current batch |
| 558 | 558 | $metadataOf = $this->fetchToplevelMetadataFromSolr([ |
| 559 | - 'query' => 'partof:' . $doc['uid'], |
|
| 559 | + 'query' => 'partof:'.$doc['uid'], |
|
| 560 | 560 | 'start' => $start, |
| 561 | 561 | 'rows' => min($batchSize, $totalChildren - $start), |
| 562 | 562 | ]); |
@@ -608,8 +608,8 @@ discard block |
||
| 608 | 608 | if ($this->listedMetadata) { |
| 609 | 609 | foreach ($this->listedMetadata as $metadata) { |
| 610 | 610 | if ($metadata->getIndexStored() || $metadata->getIndexIndexed()) { |
| 611 | - $listMetadataRecord = $metadata->getIndexName() . '_' . ($metadata->getIndexTokenized() ? 't' : 'u') . ($metadata->getIndexStored() ? 's' : 'u') . ($metadata->getIndexIndexed() ? 'i' : 'u'); |
|
| 612 | - $params['fields'] .= ',' . $listMetadataRecord; |
|
| 611 | + $listMetadataRecord = $metadata->getIndexName().'_'.($metadata->getIndexTokenized() ? 't' : 'u').($metadata->getIndexStored() ? 's' : 'u').($metadata->getIndexIndexed() ? 'i' : 'u'); |
|
| 612 | + $params['fields'] .= ','.$listMetadataRecord; |
|
| 613 | 613 | $params['listMetadataRecords'][$metadata->getIndexName()] = $listMetadataRecord; |
| 614 | 614 | } |
| 615 | 615 | } |
@@ -660,7 +660,7 @@ discard block |
||
| 660 | 660 | $cache = null; |
| 661 | 661 | // Calculate cache identifier. |
| 662 | 662 | if ($enableCache === true) { |
| 663 | - $cacheIdentifier = Helper::digest($solr->core . print_r($parameters, true)); |
|
| 663 | + $cacheIdentifier = Helper::digest($solr->core.print_r($parameters, true)); |
|
| 664 | 664 | $cache = GeneralUtility::makeInstance(CacheManager::class)->getCache('tx_dlf_solr'); |
| 665 | 665 | } |
| 666 | 666 | $resultSet = [ |
@@ -678,8 +678,8 @@ discard block |
||
| 678 | 678 | if ($this->indexedMetadata) { |
| 679 | 679 | foreach ($this->indexedMetadata as $metadata) { |
| 680 | 680 | if ($metadata->getIndexIndexed()) { |
| 681 | - $listMetadataRecord = $metadata->getIndexName() . '_' . ($metadata->getIndexTokenized() ? 't' : 'u') . ($metadata->getIndexStored() ? 's' : 'u') . 'i'; |
|
| 682 | - $queryFields .= $listMetadataRecord . '^' . $metadata->getIndexBoost() . ' '; |
|
| 681 | + $listMetadataRecord = $metadata->getIndexName().'_'.($metadata->getIndexTokenized() ? 't' : 'u').($metadata->getIndexStored() ? 's' : 'u').'i'; |
|
| 682 | + $queryFields .= $listMetadataRecord.'^'.$metadata->getIndexBoost().' '; |
|
| 683 | 683 | } |
| 684 | 684 | } |
| 685 | 685 | } |
@@ -765,24 +765,24 @@ discard block |
||
| 765 | 765 | foreach ($this->collections as $collection) { |
| 766 | 766 | // check for virtual collections query string |
| 767 | 767 | if ($collection->getIndexSearch()) { |
| 768 | - $virtualCollectionsQueryString .= empty($virtualCollectionsQueryString) ? '(' . $collection->getIndexSearch() . ')' : ' OR (' . $collection->getIndexSearch() . ')'; |
|
| 768 | + $virtualCollectionsQueryString .= empty($virtualCollectionsQueryString) ? '('.$collection->getIndexSearch().')' : ' OR ('.$collection->getIndexSearch().')'; |
|
| 769 | 769 | } else { |
| 770 | - $collectionsQueryString .= empty($collectionsQueryString) ? '"' . $collection->getIndexName() . '"' : ' OR "' . $collection->getIndexName() . '"'; |
|
| 770 | + $collectionsQueryString .= empty($collectionsQueryString) ? '"'.$collection->getIndexName().'"' : ' OR "'.$collection->getIndexName().'"'; |
|
| 771 | 771 | } |
| 772 | 772 | } |
| 773 | 773 | |
| 774 | 774 | // distinguish between simple collection browsing and actual searching within the collection(s) |
| 775 | 775 | if (!empty($collectionsQueryString)) { |
| 776 | 776 | if (empty($query)) { |
| 777 | - $collectionsQueryString = '(collection_faceting:(' . $collectionsQueryString . ') AND toplevel:true AND partof:0)'; |
|
| 777 | + $collectionsQueryString = '(collection_faceting:('.$collectionsQueryString.') AND toplevel:true AND partof:0)'; |
|
| 778 | 778 | } else { |
| 779 | - $collectionsQueryString = '(collection_faceting:(' . $collectionsQueryString . '))'; |
|
| 779 | + $collectionsQueryString = '(collection_faceting:('.$collectionsQueryString.'))'; |
|
| 780 | 780 | } |
| 781 | 781 | } |
| 782 | 782 | |
| 783 | 783 | // virtual collections might query documents that are neither toplevel:true nor partof:0 and need to be searched separately |
| 784 | 784 | if (!empty($virtualCollectionsQueryString)) { |
| 785 | - $virtualCollectionsQueryString = '(' . $virtualCollectionsQueryString . ')'; |
|
| 785 | + $virtualCollectionsQueryString = '('.$virtualCollectionsQueryString.')'; |
|
| 786 | 786 | } |
| 787 | 787 | |
| 788 | 788 | // combine both query strings into a single filterquery via OR if both are given, otherwise pass either of those |
@@ -860,7 +860,7 @@ discard block |
||
| 860 | 860 | private function translateLanguageCode(&$doc): void |
| 861 | 861 | { |
| 862 | 862 | if (array_key_exists('language', $doc['metadata'])) { |
| 863 | - foreach($doc['metadata']['language'] as $indexName => $language) { |
|
| 863 | + foreach ($doc['metadata']['language'] as $indexName => $language) { |
|
| 864 | 864 | $doc['metadata']['language'][$indexName] = Helper::getLanguageName($language); |
| 865 | 865 | } |
| 866 | 866 | } |
@@ -114,7 +114,7 @@ discard block |
||
| 114 | 114 | $this->initializeRepositories((int) $input->getOption('pid')); |
| 115 | 115 | |
| 116 | 116 | if ($this->storagePid == 0) { |
| 117 | - $io->error('ERROR: No valid PID (' . $this->storagePid . ') given.'); |
|
| 117 | + $io->error('ERROR: No valid PID ('.$this->storagePid.') given.'); |
|
| 118 | 118 | return BaseCommand::FAILURE; |
| 119 | 119 | } |
| 120 | 120 | |
@@ -129,13 +129,13 @@ discard block |
||
| 129 | 129 | if (empty($solrCoreUid) || !in_array($solrCoreUid, $allSolrCores)) { |
| 130 | 130 | $outputSolrCores = []; |
| 131 | 131 | foreach ($allSolrCores as $indexName => $uid) { |
| 132 | - $outputSolrCores[] = $uid . ' : ' . $indexName; |
|
| 132 | + $outputSolrCores[] = $uid.' : '.$indexName; |
|
| 133 | 133 | } |
| 134 | 134 | if (empty($outputSolrCores)) { |
| 135 | - $io->error('ERROR: No valid Solr core ("' . $input->getOption('solr') . '") given. No valid cores found on PID ' . $this->storagePid . ".\n"); |
|
| 135 | + $io->error('ERROR: No valid Solr core ("'.$input->getOption('solr').'") given. No valid cores found on PID '.$this->storagePid.".\n"); |
|
| 136 | 136 | return BaseCommand::FAILURE; |
| 137 | 137 | } else { |
| 138 | - $io->error('ERROR: No valid Solr core ("' . $input->getOption('solr') . '") given. ' . "Valid cores are (<uid>:<index_name>):\n" . implode("\n", $outputSolrCores) . "\n"); |
|
| 138 | + $io->error('ERROR: No valid Solr core ("'.$input->getOption('solr').'") given. '."Valid cores are (<uid>:<index_name>):\n".implode("\n", $outputSolrCores)."\n"); |
|
| 139 | 139 | return BaseCommand::FAILURE; |
| 140 | 140 | } |
| 141 | 141 | } |
@@ -165,7 +165,7 @@ discard block |
||
| 165 | 165 | ->setLimit((int) $input->getOption('index-limit')) |
| 166 | 166 | ->setOffset((int) $input->getOption('index-begin')) |
| 167 | 167 | ->execute(); |
| 168 | - $io->writeln($input->getOption('index-limit') . ' documents starting from ' . $input->getOption('index-begin') . ' will be indexed.'); |
|
| 168 | + $io->writeln($input->getOption('index-limit').' documents starting from '.$input->getOption('index-begin').' will be indexed.'); |
|
| 169 | 169 | } else { |
| 170 | 170 | // Get all documents. |
| 171 | 171 | $documents = $this->documentRepository->findAll(); |
@@ -187,7 +187,7 @@ discard block |
||
| 187 | 187 | ) { |
| 188 | 188 | $documents = $this->documentRepository->findAllByCollectionsLimited($collections, (int) $input->getOption('index-limit'), (int) $input->getOption('index-begin')); |
| 189 | 189 | |
| 190 | - $io->writeln($input->getOption('index-limit') . ' documents starting from ' . $input->getOption('index-begin') . ' will be indexed.'); |
|
| 190 | + $io->writeln($input->getOption('index-limit').' documents starting from '.$input->getOption('index-begin').' will be indexed.'); |
|
| 191 | 191 | } else { |
| 192 | 192 | // Get all documents of given collections. |
| 193 | 193 | $documents = $this->documentRepository->findAllByCollectionsLimited($collections, 0); |
@@ -201,15 +201,15 @@ discard block |
||
| 201 | 201 | $doc = AbstractDocument::getInstance($document->getLocation(), ['storagePid' => $this->storagePid], true); |
| 202 | 202 | |
| 203 | 203 | if ($doc === null) { |
| 204 | - $io->warning('WARNING: Document "' . $document->getLocation() . '" could not be loaded. Skip to next document.'); |
|
| 204 | + $io->warning('WARNING: Document "'.$document->getLocation().'" could not be loaded. Skip to next document.'); |
|
| 205 | 205 | continue; |
| 206 | 206 | } |
| 207 | 207 | |
| 208 | 208 | if ($dryRun) { |
| 209 | - $io->writeln('DRY RUN: Would index ' . ($id + 1) . '/' . count($documents) . ' with UID "' . $document->getUid() . '" ("' . $document->getLocation() . '") on PID ' . $this->storagePid . ' and Solr core ' . $solrCoreUid . '.'); |
|
| 209 | + $io->writeln('DRY RUN: Would index '.($id + 1).'/'.count($documents).' with UID "'.$document->getUid().'" ("'.$document->getLocation().'") on PID '.$this->storagePid.' and Solr core '.$solrCoreUid.'.'); |
|
| 210 | 210 | } else { |
| 211 | 211 | if ($io->isVerbose()) { |
| 212 | - $io->writeln(date('Y-m-d H:i:s') . ' Indexing ' . ($id + 1) . '/' . count($documents) . ' with UID "' . $document->getUid() . '" ("' . $document->getLocation() . '") on PID ' . $this->storagePid . ' and Solr core ' . $solrCoreUid . '.'); |
|
| 212 | + $io->writeln(date('Y-m-d H:i:s').' Indexing '.($id + 1).'/'.count($documents).' with UID "'.$document->getUid().'" ("'.$document->getLocation().'") on PID '.$this->storagePid.' and Solr core '.$solrCoreUid.'.'); |
|
| 213 | 213 | } |
| 214 | 214 | $document->setCurrentDocument($doc); |
| 215 | 215 | // save to database |
@@ -111,7 +111,7 @@ discard block |
||
| 111 | 111 | $this->initializeRepositories((int) $input->getOption('pid')); |
| 112 | 112 | |
| 113 | 113 | if ($this->storagePid == 0) { |
| 114 | - $io->error('ERROR: No valid PID (' . $this->storagePid . ') given.'); |
|
| 114 | + $io->error('ERROR: No valid PID ('.$this->storagePid.') given.'); |
|
| 115 | 115 | return BaseCommand::FAILURE; |
| 116 | 116 | } |
| 117 | 117 | |
@@ -129,13 +129,13 @@ discard block |
||
| 129 | 129 | if (empty($solrCoreUid) || !in_array($solrCoreUid, $allSolrCores)) { |
| 130 | 130 | $outputSolrCores = []; |
| 131 | 131 | foreach ($allSolrCores as $indexName => $uid) { |
| 132 | - $outputSolrCores[] = $uid . ' : ' . $indexName; |
|
| 132 | + $outputSolrCores[] = $uid.' : '.$indexName; |
|
| 133 | 133 | } |
| 134 | 134 | if (empty($outputSolrCores)) { |
| 135 | - $io->error('ERROR: No valid Solr core ("' . $input->getOption('solr') . '") given. No valid cores found on PID ' . $this->storagePid . ".\n"); |
|
| 135 | + $io->error('ERROR: No valid Solr core ("'.$input->getOption('solr').'") given. No valid cores found on PID '.$this->storagePid.".\n"); |
|
| 136 | 136 | return BaseCommand::FAILURE; |
| 137 | 137 | } else { |
| 138 | - $io->error('ERROR: No valid Solr core ("' . $input->getOption('solr') . '") given. ' . "Valid cores are (<uid>:<index_name>):\n" . implode("\n", $outputSolrCores) . "\n"); |
|
| 138 | + $io->error('ERROR: No valid Solr core ("'.$input->getOption('solr').'") given. '."Valid cores are (<uid>:<index_name>):\n".implode("\n", $outputSolrCores)."\n"); |
|
| 139 | 139 | return BaseCommand::FAILURE; |
| 140 | 140 | } |
| 141 | 141 | } |
@@ -155,7 +155,7 @@ discard block |
||
| 155 | 155 | return BaseCommand::FAILURE; |
| 156 | 156 | } |
| 157 | 157 | if (!GeneralUtility::isValidUrl($baseUrl)) { |
| 158 | - $io->error('ERROR: No valid OAI Base URL set for library with given UID ("' . $input->getOption('lib') . '").'); |
|
| 158 | + $io->error('ERROR: No valid OAI Base URL set for library with given UID ("'.$input->getOption('lib').'").'); |
|
| 159 | 159 | return BaseCommand::FAILURE; |
| 160 | 160 | } else { |
| 161 | 161 | try { |
@@ -197,7 +197,7 @@ discard block |
||
| 197 | 197 | } |
| 198 | 198 | } |
| 199 | 199 | if (empty($set)) { |
| 200 | - $io->error('ERROR: OAI interface does not provide a set with given setSpec ("' . $input->getOption('set') . '").'); |
|
| 200 | + $io->error('ERROR: OAI interface does not provide a set with given setSpec ("'.$input->getOption('set').'").'); |
|
| 201 | 201 | return BaseCommand::FAILURE; |
| 202 | 202 | } |
| 203 | 203 | } |
@@ -215,7 +215,7 @@ discard block |
||
| 215 | 215 | } |
| 216 | 216 | |
| 217 | 217 | // Process all identifiers. |
| 218 | - $baseLocation = $baseUrl . (parse_url($baseUrl, PHP_URL_QUERY) ? '&' : '?'); |
|
| 218 | + $baseLocation = $baseUrl.(parse_url($baseUrl, PHP_URL_QUERY) ? '&' : '?'); |
|
| 219 | 219 | foreach ($identifiers as $identifier) { |
| 220 | 220 | // Build OAI GetRecord URL... |
| 221 | 221 | $params = [ |
@@ -223,13 +223,13 @@ discard block |
||
| 223 | 223 | 'metadataPrefix' => 'mets', |
| 224 | 224 | 'identifier' => (string) $identifier->identifier |
| 225 | 225 | ]; |
| 226 | - $docLocation = $baseLocation . http_build_query($params); |
|
| 226 | + $docLocation = $baseLocation.http_build_query($params); |
|
| 227 | 227 | // ...index the document... |
| 228 | 228 | $document = null; |
| 229 | 229 | $doc = AbstractDocument::getInstance($docLocation, ['storagePid' => $this->storagePid], true); |
| 230 | 230 | |
| 231 | 231 | if ($doc === null) { |
| 232 | - $io->warning('WARNING: Document "' . $docLocation . '" could not be loaded. Skip to next document.'); |
|
| 232 | + $io->warning('WARNING: Document "'.$docLocation.'" could not be loaded. Skip to next document.'); |
|
| 233 | 233 | continue; |
| 234 | 234 | } |
| 235 | 235 | |
@@ -246,10 +246,10 @@ discard block |
||
| 246 | 246 | $document->setSolrcore($solrCoreUid); |
| 247 | 247 | |
| 248 | 248 | if ($dryRun) { |
| 249 | - $io->writeln('DRY RUN: Would index ' . $document->getUid() . ' ("' . $document->getLocation() . '") on PID ' . $this->storagePid . ' and Solr core ' . $solrCoreUid . '.'); |
|
| 249 | + $io->writeln('DRY RUN: Would index '.$document->getUid().' ("'.$document->getLocation().'") on PID '.$this->storagePid.' and Solr core '.$solrCoreUid.'.'); |
|
| 250 | 250 | } else { |
| 251 | 251 | if ($io->isVerbose()) { |
| 252 | - $io->writeln(date('Y-m-d H:i:s') . ' Indexing ' . $document->getUid() . ' ("' . $document->getLocation() . '") on PID ' . $this->storagePid . ' and Solr core ' . $solrCoreUid . '.'); |
|
| 252 | + $io->writeln(date('Y-m-d H:i:s').' Indexing '.$document->getUid().' ("'.$document->getLocation().'") on PID '.$this->storagePid.' and Solr core '.$solrCoreUid.'.'); |
|
| 253 | 253 | } |
| 254 | 254 | $document->setCurrentDocument($doc); |
| 255 | 255 | // save to database |
@@ -276,6 +276,6 @@ discard block |
||
| 276 | 276 | */ |
| 277 | 277 | protected function handleOaiError(BaseoaipmhException $exception, SymfonyStyle $io): void |
| 278 | 278 | { |
| 279 | - $io->error('ERROR: Trying to retrieve data from OAI interface resulted in error:' . "\n " . $exception->getMessage()); |
|
| 279 | + $io->error('ERROR: Trying to retrieve data from OAI interface resulted in error:'."\n ".$exception->getMessage()); |
|
| 280 | 280 | } |
| 281 | 281 | } |