Open Journal Systems  3.3.0
MetadataPlugin.inc.php
1 <?php
2 
17 import('lib.pkp.classes.plugins.Plugin');
18 
19 // Define the well-known file name for controlled vocabulary data.
20 define('METADATA_PLUGIN_VOCAB_DATAFILE', 'controlledVocabs.xml');
21 
22 abstract class MetadataPlugin extends Plugin {
23 
24  //
25  // Override public methods from Plugin
26  //
30  function register($category, $path, $mainContextId = null) {
31  if (!parent::register($category, $path, $mainContextId)) return false;
32  $this->addLocaleData();
33  return true;
34  }
35 
43  // Search the well-known locations for vocabulary data files. If
44  // one is found then return it.
45  $pluginPath = $this->getPluginPath();
46  $wellKnownVocabLocations = array(
47  './'.$pluginPath.'/schema/'.METADATA_PLUGIN_VOCAB_DATAFILE,
48  './lib/pkp/'.$pluginPath.'/schema/'.METADATA_PLUGIN_VOCAB_DATAFILE
49  );
50 
51  $controlledVocabFiles = parent::getInstallControlledVocabFiles();
52  foreach ($wellKnownVocabLocations as $wellKnownVocabLocation) {
53  if (file_exists($wellKnownVocabLocation)) $controlledVocabFiles[] = $wellKnownVocabLocation;
54  }
55  return $controlledVocabFiles;
56  }
57 
64  abstract function supportsFormat($format);
65 
73  abstract function getSchemaObject($format);
74 }
75 
76 
MetadataPlugin
Abstract class for metadata plugins.
Definition: MetadataPlugin.inc.php:22
MetadataPlugin\getSchemaObject
getSchemaObject($format)
Plugin\$pluginPath
$pluginPath
Definition: Plugin.inc.php:56
Plugin
Abstract class for plugins.
Definition: Plugin.inc.php:51
Plugin\getPluginPath
getPluginPath()
Definition: Plugin.inc.php:330
MetadataPlugin\supportsFormat
supportsFormat($format)
Plugin\addLocaleData
addLocaleData($locale=null)
Definition: Plugin.inc.php:454
MetadataPlugin\getInstallControlledVocabFiles
getInstallControlledVocabFiles()
Definition: MetadataPlugin.inc.php:42