[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
14082024
/
Data
/
htdocs
/
htdocs
/
ojs
/
248
/
classes
/
plugins
/
[
Home
]
File: GatewayPlugin.inc.php
<?php /** * @file classes/plugins/GatewayPlugin.inc.php * * Copyright (c) 2013-2019 Simon Fraser University * Copyright (c) 2003-2019 John Willinsky * Distributed under the GNU GPL v2. For full terms see the file docs/COPYING. * * @class GatewayPlugin * @ingroup plugins * * @brief Abstract class for gateway plugins */ import('classes.plugins.Plugin'); class GatewayPlugin extends Plugin { function GatewayPlugin() { parent::Plugin(); } /** * Get the name of this plugin. The name must be unique within * its category. * @return String name of plugin */ function getName() { assert(false); // Should always be overridden } /** * Get the display name of this plugin. This name is displayed on the * Journal Manager's plugin management page, for example. * @return String */ function getDisplayName() { // This name should never be displayed because child classes // will override this method. return 'Abstract Gateway Plugin'; } /** * Get a description of the plugin. */ function getDescription() { return 'This is the GatewayPlugin base class. Its functions can be overridden by subclasses to provide import/export functionality for various formats.'; } /** * Display verbs for the management interface. */ function getManagementVerbs() { $verbs = array(); if ($this->getEnabled()) { $verbs[] = array( 'disable', __('manager.plugins.disable') ); } else { $verbs[] = array( 'enable', __('manager.plugins.enable') ); } return $verbs; } /** * Determine whether or not this plugin is enabled. */ function getEnabled() { $journal =& Request::getJournal(); if (!$journal) return false; return $this->getSetting($journal->getId(), 'enabled'); } /** * Set the enabled/disabled state of this plugin */ function setEnabled($enabled) { $journal =& Request::getJournal(); if ($journal) { $this->updateSetting( $journal->getId(), 'enabled', $enabled?true:false ); return true; } return false; } /** * Perform management functions */ function manage($verb, $args) { $templateManager =& TemplateManager::getManager(); $templateManager->register_function('plugin_url', array(&$this, 'smartyPluginUrl')); switch ($verb) { case 'enable': $this->setEnabled(true); break; case 'disable': $this->setEnabled(false); break; } return false; } /** * Handle fetch requests for this plugin. * @param $args array * @param $request object */ function fetch($args, $request) { // Subclasses should override this function. return false; } } ?>