Skip to content
Extraits de code Groupes Projets
Controller.php 3,03 ko
Newer Older
  • Learn to ignore specific revisions
  • <?php
    /**
     * Piwik - Open source web analytics
    
     * @link http://piwik.org
    
    robocoder's avatar
    robocoder a validé
     * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
    
    robocoder's avatar
    robocoder a validé
     * @category Piwik_Plugins
     * @package Piwik_Widgetize
    
     * @package Piwik_Widgetize
     */
    
    mattpiwik's avatar
     
    mattpiwik a validé
    class Piwik_Widgetize_Controller extends Piwik_Controller
    
        function index()
        {
            $view = Piwik_View::factory('index');
            $view->availableWidgets = Piwik_Common::json_encode(Piwik_GetWidgetsList());
            $this->setGeneralVariablesView($view);
            echo $view->render();
        }
    
        function testJsInclude1()
        {
            $view = Piwik_View::factory('test_jsinclude');
            $view->url1 = '?module=Widgetize&action=js&moduleToWidgetize=UserSettings&actionToWidgetize=getBrowser&idSite=1&period=day&date=yesterday';
            $view->url2 = '?module=Widgetize&action=js&moduleToWidgetize=API&actionToWidgetize=index&method=ExamplePlugin.getGoldenRatio&format=original';
            echo $view->render();
        }
    
        function testJsInclude2()
        {
            $view = Piwik_View::factory('test_jsinclude2');
            $view->url1 = '?module=Widgetize&action=js&moduleToWidgetize=UserSettings&actionToWidgetize=getBrowser&idSite=1&period=day&date=yesterday';
            $view->url2 = '?module=Widgetize&action=js&moduleToWidgetize=UserCountry&actionToWidgetize=getCountry&idSite=1&period=day&date=yesterday&viewDataTable=cloud&show_footer=0';
            $view->url3 = '?module=Widgetize&action=js&moduleToWidgetize=Referers&actionToWidgetize=getKeywords&idSite=1&period=day&date=yesterday&viewDataTable=table&show_footer=0';
            echo $view->render();
        }
    
        /**
         * Disabled for now, not obvious that this is useful (iframe sounds like a better solution)
         */
        private function js()
        {
            Piwik_API_Request::reloadAuthUsingTokenAuth();
            $controllerName = Piwik_Common::getRequestVar('moduleToWidgetize');
            $actionName = Piwik_Common::getRequestVar('actionToWidgetize');
            $parameters = array($fetch = true);
            $content = Piwik_FrontController::getInstance()->fetchDispatch($controllerName, $actionName, $parameters);
            $view = Piwik_View::factory('js');
            $content = str_replace(array("\t", "\n", "\r\n", "\r"), "", $content);
            $view->content = $content;
            echo $view->render();
        }
    
        function iframe()
        {
            Piwik_API_Request::reloadAuthUsingTokenAuth();
            $this->init();
            $controllerName = Piwik_Common::getRequestVar('moduleToWidgetize');
            $actionName = Piwik_Common::getRequestVar('actionToWidgetize');
            $parameters = array($fetch = true);
            $outputDataTable = Piwik_FrontController::getInstance()->fetchDispatch($controllerName, $actionName, $parameters);
            if ($controllerName == 'Dashboard' && $actionName == 'index') {
                $view = Piwik_View::factory('empty');
            } else {
                $view = Piwik_View::factory('iframe');
            }
            $this->setGeneralVariablesView($view);
            $view->setXFrameOptions('allow');
            $view->content = $outputDataTable;
            echo $view->render();
        }
    
    mattpiwik's avatar
    mattpiwik a validé
    }