51 lines
1.4 KiB
PHP
51 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
/*
|
||
|
* @copyright Copyright (C) 2005-2010 Keyboard Monkeys Ltd. http://www.kb-m.com
|
||
|
* @license http://creativecommons.org/licenses/BSD/ BSD License
|
||
|
* @author Keyboard Monkey Ltd
|
||
|
* @since CommunityID 0.9
|
||
|
* @package CommunityID
|
||
|
* @packager Keyboard Monkeys
|
||
|
*/
|
||
|
|
||
|
class Stats_ReportsController extends CommunityID_Controller_Action
|
||
|
{
|
||
|
public function indexAction()
|
||
|
{
|
||
|
$statPlugin = $this->_getPlugin();
|
||
|
$statPlugin->setTemplateVars();
|
||
|
|
||
|
$pluginView = clone $this->view;
|
||
|
$pluginView->plugin = $statPlugin;
|
||
|
$pluginView->setScriptPath(APP_DIR . Stats_Model_Report::STATS_PLUGIN_DIR);
|
||
|
$this->view->reportTitle = $statPlugin->getTitle();
|
||
|
$this->view->content = $pluginView->render($statPlugin->getClassName().'.phtml');
|
||
|
}
|
||
|
|
||
|
public function graphAction()
|
||
|
{
|
||
|
$this->_helper->viewRenderer->setNeverRender(true);
|
||
|
$this->_helper->layout->disableLayout();
|
||
|
$statPlugin = $this->_getPlugin();
|
||
|
$statPlugin->renderGraph();
|
||
|
}
|
||
|
|
||
|
private function _getPlugin()
|
||
|
{
|
||
|
$reportName = $this->_getParam('report');
|
||
|
|
||
|
try {
|
||
|
$statPlugin = Stats_Model_Report::getReportInstance($reportName);
|
||
|
} catch (Monkeys_AccessDeniedException $ex) {
|
||
|
throw new Exception("Unable to open Stats plugin: $entry");
|
||
|
}
|
||
|
|
||
|
$statPlugin->setControllerAction($this);
|
||
|
$statPlugin->setView($this->view);
|
||
|
|
||
|
return $statPlugin;
|
||
|
}
|
||
|
}
|
||
|
|