68 lines
1.6 KiB
PHP
68 lines
1.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file classes/plugins/ReportPlugin.php
|
|
*
|
|
* Copyright (c) 2013-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 ReportPlugin
|
|
*
|
|
* @ingroup plugins
|
|
*
|
|
* @brief Abstract class for report plugins
|
|
*/
|
|
|
|
namespace PKP\plugins;
|
|
|
|
use PKP\core\PKPApplication;
|
|
use PKP\core\PKPRequest;
|
|
use PKP\linkAction\LinkAction;
|
|
use PKP\linkAction\request\RedirectAction;
|
|
|
|
abstract class ReportPlugin extends Plugin
|
|
{
|
|
//
|
|
// Public methods.
|
|
//
|
|
/**
|
|
* @copydoc Plugin::getActions()
|
|
*/
|
|
public function getActions($request, $actionArgs)
|
|
{
|
|
$dispatcher = $request->getDispatcher();
|
|
return array_merge(
|
|
$this->getEnabled() ? [
|
|
new LinkAction(
|
|
'settings',
|
|
new RedirectAction($dispatcher->url(
|
|
$request,
|
|
PKPApplication::ROUTE_PAGE,
|
|
null,
|
|
'stats',
|
|
'reports',
|
|
'report',
|
|
['pluginName' => $this->getName()]
|
|
)),
|
|
__('manager.statistics.reports'),
|
|
null
|
|
)
|
|
] : [],
|
|
parent::getActions($request, $actionArgs)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Displays the report
|
|
*
|
|
* @param array $args
|
|
* @param PKPRequest $request
|
|
*/
|
|
abstract public function display($args, $request);
|
|
}
|
|
|
|
if (!PKP_STRICT_MODE) {
|
|
class_alias('\PKP\plugins\ReportPlugin', '\ReportPlugin');
|
|
}
|