| Server IP : 195.130.67.5 / Your IP : 216.73.216.231 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/Topogeo/ojs/classes/plugins/ |
Upload File : |
<?php
/**
* @file classes/plugins/ReportPlugin.inc.php
*
* Copyright (c) 2003-2012 John Willinsky
* Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
*
* @class ReportPlugin
* @ingroup plugins
*
* @brief Abstract class for report plugins
*/
// $Id$
import('classes.plugins.Plugin');
class ReportPlugin extends Plugin {
function ReportPlugin() {
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
* Conference Manager's Reports page, for example.
* @return String
*/
function getDisplayName() {
assert(false); // Should always be overridden
}
/**
* Get a description of the plugin.
*/
function getDescription() {
assert(false); // Should always be overridden
}
/**
* Set the page's breadcrumbs, given the plugin's tree of items
* to append.
* @param $crumbs Array ($url, $name, $isTranslated)
* @param $subclass boolean
*/
function setBreadcrumbs($crumbs = array(), $isSubclass = false) {
$templateMgr =& TemplateManager::getManager();
$pageCrumbs = array(
array(
Request::url(null, 'user'),
'navigation.user'
),
array(
Request::url(null, 'manager'),
'user.role.manager'
),
array (
Request::url(null, 'manager', 'reports'),
'manager.statistics.reports'
)
);
if ($isSubclass) $pageCrumbs[] = array(
Request::url(null, 'manager', 'reports', array('plugin', $this->getName())),
$this->getDisplayName(),
true
);
$templateMgr->assign('pageHierarchy', array_merge($pageCrumbs, $crumbs));
}
/**
* Display the import/export plugin UI.
* @param $args Array The array of arguments the user supplied.
*/
function display(&$args) {
$templateManager =& TemplateManager::getManager();
$templateManager->register_function('plugin_url', array(&$this, 'smartyPluginUrl'));
}
/**
* Display verbs for the management interface.
*/
function getManagementVerbs() {
return array(
array(
'reports',
__('manager.statistics.reports')
)
);
}
/**
* Perform management functions
*/
function manage($verb, $args) {
if ($verb === 'reports') {
Request::redirect(null, 'manager', 'report', $this->getName());
}
return false;
}
/**
* Extend the {url ...} smarty to support reporting plugins.
*/
function smartyPluginUrl($params, &$smarty) {
$path = array('plugin', $this->getName());
if (is_array($params['path'])) {
$params['path'] = array_merge($path, $params['path']);
} elseif (!empty($params['path'])) {
$params['path'] = array_merge($path, array($params['path']));
} else {
$params['path'] = $path;
}
return $smarty->smartyUrl($params, $smarty);
}
}
?>