protected function getArrayFromDataTable($table) { $renderer = new Piwik_DataTable_Renderer_Php(); $renderer->setRenderSubTables($this->isRenderSubtables()); $renderer->setSerialize(false); $renderer->setTable($table); return $renderer->flatRender(); }
/** * @group Core * @group DataTable * @group DataTable_Renderer * @group DataTable_Renderer_PHP */ public function testPHPTest1() { $dataTable = $this->_getDataTableTest(); $render = new Piwik_DataTable_Renderer_Php(); $render->setTable($dataTable); $render->setRenderSubTables(true); $expected = serialize(array(0 => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9, 'url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), 1 => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90, 'url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png', 'idsubdatatable' => 2, 'subtable' => array(0 => array('label' => 'sub1', 'count' => 1, 'bool' => false), 1 => array('label' => 'sub2', 'count' => 2, 'bool' => true))))); $rendered = $render->render(null); $this->assertEquals($expected, $rendered); }
protected function renderTable($table) { $renderer = new Piwik_DataTable_Renderer_Php(); $renderer->setTable($table); $renderer->setRenderSubTables($this->isRenderSubtables()); $renderer->setSerialize(false); $renderer->setHideIdSubDatableFromResponse($this->hideIdSubDatatable); $array = $renderer->flatRender(); if (!is_array($array)) { $array = array('value' => $array); } // decode all entities $callback = create_function('&$value,$key', 'if(is_string($value)){$value = html_entity_decode($value, ENT_QUOTES, "UTF-8");}'); array_walk_recursive($array, $callback); $str = Piwik_Common::json_encode($array); return $this->jsonpWrap($str); }
protected function renderTable($table) { $renderer = new Piwik_DataTable_Renderer_Php(); $renderer->setTable($table); $renderer->setRenderSubTables($this->isRenderSubtables()); $renderer->setSerialize(false); $array = $renderer->flatRender(); if (!is_array($array)) { $array = array('value' => $array); } $str = json_encode($array); if (($jsonCallback = Piwik_Common::getRequestVar('jsoncallback', false)) !== false) { if (preg_match('/^[0-9a-zA-Z]*$/', $jsonCallback) > 0) { $str = $jsonCallback . "(" . $str . ")"; } } return $str; }