Skip to content
Extraits de code Groupes Projets
Controller.php 2,56 ko
Newer Older
  • Learn to ignore specific revisions
  • mattab's avatar
    mattab a validé
    <?php
    /**
    
     * Piwik - free/libre analytics platform
    
    mattab's avatar
    mattab a validé
     *
     * @link http://piwik.org
     * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
     *
     */
    
    namespace Piwik\Plugins\Events;
    
    mattab's avatar
    mattab a validé
    
    use Piwik\View;
    
    /**
    
     * Events controller
    
    mattab's avatar
    mattab a validé
     *
     */
    class Controller extends \Piwik\Plugin\Controller
    {
    
        public function index()
    
    mattab's avatar
    mattab a validé
        {
    
            $view = new View('@Events/index');
            $view->leftMenuReports = $this->getLeftMenuReports();
    
    mattab's avatar
    mattab a validé
            return $view->render();
        }
    
    
        private function getLeftMenuReports()
    
    mattab's avatar
    mattab a validé
        {
    
            $reports = new View\ReportsByDimension('Events');
            foreach(Events::getLabelTranslations() as $apiAction => $translations) {
                // 'getCategory' is the API method, but we are loading 'indexCategory' which displays <h2>
    
    mattab's avatar
    mattab a validé
                $count = 1;
                $controllerAction = str_replace("get", "index", $apiAction, $count);
    
                $params = array(
                    'secondaryDimension' => API::getInstance()->getDefaultSecondaryDimension($apiAction)
                );
                $reports->addReport('Events_TopEvents', $translations[0], 'Events.' . $controllerAction, $params);
    
            }
            return $reports->render();
    
    mattab's avatar
    mattab a validé
        }
    
    
        public function indexCategory()
    
    mattab's avatar
    mattab a validé
        {
    
            return $this->indexEvent(__FUNCTION__);
    
    mattab's avatar
    mattab a validé
        }
    
    
        public function indexAction()
    
    mattab's avatar
    mattab a validé
        {
    
            return $this->indexEvent(__FUNCTION__);
    
    mattab's avatar
    mattab a validé
        }
    
    
        public function indexName()
    
    mattab's avatar
    mattab a validé
        {
    
            return $this->indexEvent(__FUNCTION__);
    
    mattab's avatar
    mattab a validé
        }
    
    
        public function getActionFromCategoryId()
    
    mattab's avatar
    mattab a validé
        {
            return $this->renderReport(__FUNCTION__);
        }
    
    
        public function getNameFromCategoryId()
    
    mattab's avatar
    mattab a validé
        {
            return $this->renderReport(__FUNCTION__);
        }
    
    
        public function getCategoryFromActionId()
    
    mattab's avatar
    mattab a validé
        {
            return $this->renderReport(__FUNCTION__);
        }
    
    
        public function getNameFromActionId()
    
    mattab's avatar
    mattab a validé
        {
            return $this->renderReport(__FUNCTION__);
        }
    
    
        public function getActionFromNameId()
    
    mattab's avatar
    mattab a validé
        {
            return $this->renderReport(__FUNCTION__);
        }
    
    
        public function getCategoryFromNameId()
    
    mattab's avatar
    mattab a validé
        {
            return $this->renderReport(__FUNCTION__);
        }
    
    
        protected function indexEvent($controllerMethod)
    
    mattab's avatar
    mattab a validé
        {
    
    mattab's avatar
    mattab a validé
            $count = 1;
            $apiMethod = str_replace('index', 'get', $controllerMethod, $count);
    
            $events = new Events;
    
            $title = $events->getReportTitleTranslation($apiMethod);
    
    
            if (method_exists($this, $apiMethod)) {
                $content = $this->$apiMethod();
            } else {
                $content = $this->renderReport($apiMethod);
            }
    
    
            return View::singleReport(
    
    mattab's avatar
    mattab a validé
        }
    }