Merge pull request #504 from albig/fix-oai-typo3-87

Fix OAI Plugin for TYPO3 8.7LTS
This commit is contained in:
Sebastian Meyer 2020-04-22 11:34:10 +02:00 committed by GitHub
commit b1131bfd9e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 5 deletions

View File

@ -422,9 +422,8 @@ class OaiPmh extends \Kitodo\Dlf\Common\AbstractPlugin
->select('tx_dlf_tokens.options AS options')
->from('tx_dlf_tokens')
->where(
$queryBuilder->expr()->eq('tx_dlf_tokens.ident', 'oai'),
$queryBuilder->expr()->eq('tx_dlf_tokens.token', $queryBuilder->expr()->literal($this->piVars['resumptionToken'])),
Helper::whereExpression('tx_dlf_structures')
$queryBuilder->expr()->eq('tx_dlf_tokens.ident', $queryBuilder->createNamedParameter('oai')),
$queryBuilder->expr()->eq('tx_dlf_tokens.token', $queryBuilder->expr()->literal($this->piVars['resumptionToken']))
)
->setMaxResults(1)
->execute();
@ -777,7 +776,7 @@ class OaiPmh extends \Kitodo\Dlf\Common\AbstractPlugin
->where(
$queryBuilder->expr()->in('tx_dlf_collections.sys_language_uid', [-1, 0]),
$queryBuilder->expr()->eq('tx_dlf_collections.pid', intval($this->conf['pages'])),
$queryBuilder->expr()->neq('tx_dlf_collections.oai_name', ''),
$queryBuilder->expr()->neq('tx_dlf_collections.oai_name', $queryBuilder->createNamedParameter('')),
$where,
Helper::whereExpression('tx_dlf_collections')
)
@ -790,7 +789,7 @@ class OaiPmh extends \Kitodo\Dlf\Common\AbstractPlugin
return $this->error('noSetHierarchy');
}
$ListSets = $this->oai->createElementNS('http://www.openarchives.org/OAI/2.0/', 'ListSets');
while ($resArray = $result->fetch()) {
foreach ($allResults as $resArray) {
$set = $this->oai->createElementNS('http://www.openarchives.org/OAI/2.0/', 'set');
$set->appendChild($this->oai->createElementNS('http://www.openarchives.org/OAI/2.0/', 'setSpec', htmlspecialchars($resArray['oai_name'], ENT_NOQUOTES, 'UTF-8')));
$set->appendChild($this->oai->createElementNS('http://www.openarchives.org/OAI/2.0/', 'setName', htmlspecialchars($resArray['label'], ENT_NOQUOTES, 'UTF-8')));