Skip to content
Extraits de code Groupes Projets
JqplotGraph.php 1,35 ko
Newer Older
  • Learn to ignore specific revisions
  • <?php
    /**
     * Piwik - Open source web analytics
     *
     * @link http://piwik.org
     * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
     *
     * @category Piwik
     * @package Piwik
     */
    
    
    mattab's avatar
    mattab a validé
    namespace Piwik\Visualization;
    
    use Piwik\View;
    use Piwik\JqplotDataGenerator;
    
    use Piwik\DataTable;
    
    mattab's avatar
    mattab a validé
    
    
    /**
     * DataTable visualization that displays DataTable data in a JQPlot graph.
     */
    
    class JqplotGraph extends DataTableVisualization
    
    mattab's avatar
    mattab a validé
         *
    
         * @param DataTable $dataTable
    
         * @param array $properties View Properties.
    
         * @return string
    
         */
        public function render($dataTable, $properties)
        {
    
    mattab's avatar
    mattab a validé
            $view = new View("@CoreHome/_dataTableViz_jqplotGraph.twig");
    
            $view->properties = $properties;
            $view->dataTable = $dataTable;
            $view->data = $this->getGraphData($dataTable, $properties);
            return $view->render();
        }
    
        /**
         * Generats JQPlot graph data for a DataTable.
         */
        private function getGraphData($dataTable, $properties)
        {
            $properties = array_merge($properties, $properties['request_parameters_to_modify']);
    
    mattab's avatar
    mattab a validé
            $dataGenerator = JqplotDataGenerator::factory($properties['graph_type'], $properties);
    
    
            $jsonData = $dataGenerator->generate($dataTable);
            return str_replace(array("\r", "\n"), '', $jsonData);
        }
    }