Skip to content

Commit

Permalink
Update MetadataController with AbstractDocument usage
Browse files Browse the repository at this point in the history
  • Loading branch information
beatrycze-volk committed Sep 28, 2023
1 parent 28a365c commit f23f6c7
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions Classes/Controller/MetadataController.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
class MetadataController extends AbstractController
{
/**
* @var Doc
* @var AbstractDocument
*/
private $doc;
private $currentDocument;

/**
* @var CollectionRepository
Expand Down Expand Up @@ -92,14 +92,15 @@ public function mainAction()
$this->setDefault('displayIiifLinks', 1);
}

$this->doc = $this->document->getCurrentDocument();
$this->currentDocument = $this->document->getCurrentDocument();

$useOriginalIiifManifestMetadata = $this->settings['originalIiifMetadata'] == 1 && $this->doc instanceof IiifManifest;
$useOriginalIiifManifestMetadata = $this->settings['originalIiifMetadata'] == 1 && $this->currentDocument instanceof IiifManifest;
$metadata = $this->getMetadata();
$topLevelId = $this->currentDocument->toplevelId;
// Get titledata?
if (empty($metadata) || ($this->settings['rootline'] == 1 && $metadata[0]['_id'] != $this->doc->toplevelId)) {
$data = $useOriginalIiifManifestMetadata ? $this->doc->getManifestMetadata($this->doc->toplevelId, $this->settings['storagePid']) : $this->doc->getTitledata($this->settings['storagePid']);
$data['_id'] = $this->doc->toplevelId;
if (empty($metadata) || ($this->settings['rootline'] == 1 && $metadata[0]['_id'] != $topLevelId)) {
$data = $useOriginalIiifManifestMetadata ? $this->currentDocument->getManifestMetadata($topLevelId, $this->settings['storagePid']) : $this->currentDocument->getTitledata($this->settings['storagePid']);
$data['_id'] = $topLevelId;
array_unshift($metadata, $data);
}
if (empty($metadata)) {
Expand Down Expand Up @@ -267,7 +268,7 @@ private function buildUrlFromMetadata(array $metadata)

foreach ($metadata as $i => $section) {
if ($this->settings['linkTitle'] && $section['_id'] && isset($section['title']) && !empty($section['title'])) {
$details = $this->doc->getLogicalStructure($section['_id']);
$details = $this->currentDocument->getLogicalStructure($section['_id']);
$buildUrl[$i]['title'] = [
'id' => $this->document->getUid(),
'page' => (!empty($details['points']) ? intval($details['points']) : 1),
Expand Down Expand Up @@ -372,9 +373,10 @@ private function getMetadata()
if ($this->settings['rootline'] < 2) {
// Get current structure's @ID.
$ids = [];
if (!empty($this->doc->physicalStructure[$this->requestData['page']]) && !empty($this->doc->smLinks['p2l'][$this->doc->physicalStructure[$this->requestData['page']]])) {
foreach ($this->doc->smLinks['p2l'][$this->doc->physicalStructure[$this->requestData['page']]] as $logId) {
$count = $this->doc->getStructureDepth($logId);
$page = $this->currentDocument->physicalStructure[$this->requestData['page']];
if (!empty($page) && !empty($this->currentDocument->smLinks['p2l'][$page])) {
foreach ($this->currentDocument->smLinks['p2l'][$page] as $logId) {
$count = $this->currentDocument->getStructureDepth($logId);
$ids[$count][] = $logId;
}
}
Expand Down Expand Up @@ -407,12 +409,12 @@ private function getMetadata()
*/
private function getMetadataForIds($id, $metadata)
{
$useOriginalIiifManifestMetadata = $this->settings['originalIiifMetadata'] == 1 && $this->doc instanceof IiifManifest;
$useOriginalIiifManifestMetadata = $this->settings['originalIiifMetadata'] == 1 && $this->currentDocument instanceof IiifManifest;
foreach ($id as $sid) {
if ($useOriginalIiifManifestMetadata) {
$data = $this->doc->getManifestMetadata($sid, $this->settings['storagePid']);
$data = $this->currentDocument->getManifestMetadata($sid, $this->settings['storagePid']);
} else {
$data = $this->doc->getMetadata($sid, $this->settings['storagePid']);
$data = $this->currentDocument->getMetadata($sid, $this->settings['storagePid']);
}
if (!empty($data)) {
$data['_id'] = $sid;
Expand Down

0 comments on commit f23f6c7

Please sign in to comment.