| Server IP : 10.10.92.66 / Your IP : 104.23.197.230 Web Server : Apache/2.4.52 (Ubuntu) System : Linux jurnalpolinema 5.15.0-177-generic #187-Ubuntu SMP Sat Apr 11 22:54:33 UTC 2026 x86_64 User : jurnal ( 1001) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/jurnal/public_html/lib/pkp/classes/plugins/ |
Upload File : |
<?php
/**
* @file classes/plugins/MetadataPlugin.inc.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 MetadataPlugin
* @ingroup plugins
*
* @brief Abstract class for metadata plugins
*/
import('lib.pkp.classes.plugins.Plugin');
// Define the well-known file name for controlled vocabulary data.
define('METADATA_PLUGIN_VOCAB_DATAFILE', 'controlledVocabs.xml');
abstract class MetadataPlugin extends Plugin {
//
// Override public methods from Plugin
//
/**
* @copydoc Plugin::register()
*/
function register($category, $path, $mainContextId = null) {
if (!parent::register($category, $path, $mainContextId)) return false;
$this->addLocaleData();
return true;
}
/**
* This implementation looks for files that contain controlled
* vocabulary data. It can discover and return more than one file.
* @see Plugin::getInstallControlledVocabFiles()
* @return array|null
*/
function getInstallControlledVocabFiles() {
// Search the well-known locations for vocabulary data files. If
// one is found then return it.
$pluginPath = $this->getPluginPath();
$wellKnownVocabLocations = array(
'./'.$pluginPath.'/schema/'.METADATA_PLUGIN_VOCAB_DATAFILE,
'./lib/pkp/'.$pluginPath.'/schema/'.METADATA_PLUGIN_VOCAB_DATAFILE
);
$controlledVocabFiles = parent::getInstallControlledVocabFiles();
foreach ($wellKnownVocabLocations as $wellKnownVocabLocation) {
if (file_exists($wellKnownVocabLocation)) $controlledVocabFiles[] = $wellKnownVocabLocation;
}
return $controlledVocabFiles;
}
/**
* Get a unique id for this metadata format
*
* @param $format string The format to check for support.
* @return string
*/
abstract function supportsFormat($format);
/**
* Instantiate and return the schema object for this metadata format
*
* @param $format string The format to return the schema object for in case
* the plugin supports multiple formats.
* @return mixed
*/
abstract function getSchemaObject($format);
}