Example #1
0
 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;
 }
Example #2
0
    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;
    }
Example #3
0
 /**
  * wrapper function to return the html code containing the chart in a div
  *
  * @param     string $name     name of the div
  *            string $xmlFile    location of the XML file
  *            string $style    optional additional styles for the div
  * @return    string returns the html code through smarty
  */
 function display($name, $xmlFile, $width = '320', $height = '480', $resize = false)
 {
     if (empty($name)) {
         $name = "unsavedReport";
     }
     parent::display($name, $xmlFile, $width, $height, $resize = false);
     return $this->ss->fetch('include/SugarCharts/nvd3/tpls/chart.tpl');
 }