first commit
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file plugins/oaiMetadataFormats/marc/OAIMetadataFormat_MARC.php
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2003-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* @class OAIMetadataFormat_MARC
|
||||
*
|
||||
* @ingroup oai_format
|
||||
*
|
||||
* @see OAI
|
||||
*
|
||||
* @brief OAI metadata format class -- MARC.
|
||||
*/
|
||||
|
||||
namespace APP\plugins\oaiMetadataFormats\marc;
|
||||
|
||||
use APP\template\TemplateManager;
|
||||
use PKP\core\PKPString;
|
||||
use PKP\i18n\LocaleConversion;
|
||||
use PKP\oai\OAIMetadataFormat;
|
||||
use PKP\plugins\PluginRegistry;
|
||||
|
||||
class OAIMetadataFormat_MARC extends OAIMetadataFormat
|
||||
{
|
||||
/**
|
||||
* @see OAIMetadataFormat#toXml
|
||||
*
|
||||
* @param null|mixed $format
|
||||
*/
|
||||
public function toXml($record, $format = null)
|
||||
{
|
||||
$article = $record->getData('article');
|
||||
$journal = $record->getData('journal');
|
||||
|
||||
$templateMgr = TemplateManager::getManager();
|
||||
$templateMgr->assign([
|
||||
'journal' => $journal,
|
||||
'article' => $article,
|
||||
'issue' => $record->getData('issue'),
|
||||
'section' => $record->getData('section')
|
||||
]);
|
||||
|
||||
$subjects = array_merge_recursive(
|
||||
stripAssocArray((array) $article->getDiscipline(null)),
|
||||
stripAssocArray((array) $article->getSubject(null))
|
||||
);
|
||||
|
||||
$templateMgr->assign([
|
||||
'subject' => isset($subjects[$journal->getPrimaryLocale()]) ? $subjects[$journal->getPrimaryLocale()] : '',
|
||||
'abstract' => PKPString::html2text($article->getAbstract($article->getLocale())),
|
||||
'language' => LocaleConversion::get3LetterIsoFromLocale($article->getLocale())
|
||||
]);
|
||||
|
||||
$plugin = PluginRegistry::getPlugin('oaiMetadataFormats', 'OAIFormatPlugin_MARC');
|
||||
return $templateMgr->fetch($plugin->getTemplateResource('record.tpl'));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user