| Server IP : 89.117.53.150 / Your IP : 216.73.216.11 Web Server : Apache System : Linux server2.hostofiraq.site 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64 User : iscmbt-kufa-atu ( 1014) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/iscmbt-kufa-atu/public_html/iscmbt/plugins/oaiMetadataFormats/marc/ |
Upload File : |
<?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'));
}
}