function generate_report_plot($reportclass, $return = false) { global $CFG; $output = ''; $components = cr_unserialize($reportclass->config->components); $seriesvalues = (isset($components['plot']['elements'])) ? $components['plot']['elements'] : array(); /* * To select the type of reports (Default,Highcharts,NVD3...) */ switch (get_config('block_cobalt_reports', 'reportchartui')) { case 'highcharts': require_once $CFG->dirroot . '/blocks/cobalt_reports/components/highcharts/graphicalreport.php'; $highcharts = new highreports(); $highcharts->add_highcharts_js(); if (!empty($seriesvalues)) { $series = array(); foreach ($seriesvalues as $g) { switch ($g['pluginname']) { case 'pie': $output .= $highcharts->piechart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config); break; case 'line': $output .= $highcharts->lbchart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config, 'line', $blockinstanceid, $reportclass->finalreport->table->head); break; case 'bar': $output .= $highcharts->lbchart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config, 'bar', $blockinstanceid, $reportclass->finalreport->table->head); break; } } } break; case 'd3': require_once $CFG->dirroot . '/blocks/cobalt_reports/components/nvd3/nvd3graphs.php'; $nvd = new nvd3(); $nvd->add_nvd3_js(); if (!empty($seriesvalues)) { $series = array(); foreach ($seriesvalues as $g) { switch ($g['pluginname']) { case 'pie': $output .= $nvd->piechart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config); break; case 'multibar': $output .=$nvd->multichart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config->name); break; case 'bar': $output .= $nvd->multibarchart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config, $reportclass->finalreport->table->head); break; } } } break; case 'default': $graphs = $reportclass->get_graphs($reportclass->finalreport->table->data); if ($graphs) { foreach ($graphs as $g) { $output .= '<div class="centerpara">'; $output .= ' <img src="' . $g . '" alt="' . $reportclass->config->name . '"><br />'; $output .= '</div>'; } } break; } if ($return) { return $output; } echo $output; return true; }
function generate_dashboardreport($reportclass, $reporttype, $blockinstanceid) { global $CFG, $PAGE; $html = ''; $reportclass->create_report($blockinstanceid); $output = ''; $renderer = $PAGE->get_renderer('block_cobalt_reports'); if ($reporttype === 'table') { $html .= cr_print_table($reportclass->finalreport->table, true); $html .= $renderer->add_jsordering($reportclass, true, $blockinstanceid); } else { $components = cr_unserialize($reportclass->config->components); $seriesvalues = (isset($components['plot']['elements'])) ? $components['plot']['elements'] : array(); switch (get_config('block_cobalt_reports', 'reportchartui')) { case 'highcharts': require_once $CFG->dirroot . '/blocks/cobalt_reports/components/highcharts/graphicalreport.php'; $highcharts = new highreports(); foreach ($seriesvalues as $g) { $g['formdata']->showlegend = 0; if ($g['pluginname'] === $reporttype) { switch ($g['pluginname']) { case 'pie': $html .= $highcharts->piechart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config, $blockinstanceid); break; case 'line': $html .= $highcharts->lbchart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config, 'line', $blockinstanceid, $reportclass->finalreport->table->head); break; case 'bar': $html .= $highcharts->lbchart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config, 'bar', $blockinstanceid, $reportclass->finalreport->table->head); break; } } } break; case 'd3': require_once $CFG->dirroot . '/blocks/cobalt_reports/components/nvd3/nvd3graphs.php'; $nvd = new nvd3(); foreach ($seriesvalues as $g) { $g['formdata']->showlegend = 0; if ($g['pluginname'] === $reporttype) { switch ($g['pluginname']) { case 'pie': $html .= $nvd->piechart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config); break; case 'bar': $html .= $nvd->multibarchart($reportclass->finalreport->table->data, $g['formdata'], $reportclass->config, $reportclass->finalreport->table->head); break; } } } break; case 'default': if (!empty($seriesvalues)) { $series = array(); foreach ($seriesvalues as $g) { if ($g['pluginname'] === $reporttype && $g['pluginname'] !== 'bar') { require_once($CFG->dirroot . '/blocks/cobalt_reports/components/plot/' . $g['pluginname'] . '/plugin.class.php'); $classname = 'plugin_' . $g['pluginname']; $class = new $classname($reportclass->config); $reporturi = $class->execute($g['id'], $g['formdata'], $reportclass->finalreport->table->data); } } } $output .= '<div class="centerpara">'; $output .= ' <img src="' . $reporturi . '" alt="' . $reportclass->config->name . '"><br />'; $output .= '</div>'; if (isset($reporturi)) $html .=$output; else $html .= ''; break; } } return $html; }