public function compGraphOptionGeoDistrict() { /* District */ $monthval = array("JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"); $post = $this->form_values; $products = $post['products']; $year1 = $post['yearcomp']; $provinces = $post['all_provinces']; $districts = $post['all_districts']; $optvals = $post['optvals']; $period = new Model_Period(); $period->form_values = array('id' => $post['period']); $months = $period->getPeriodById(); $rep_option = new Model_ReportOptions(); $rep_option->form_values = array('stakeholder' => 1, 'report_id' => $post['indicators'], 'report_comp' => $optvals); $query = $rep_option->getReportDataSql(); $title = $query->getReportTitleSql(); $location = new Model_Locations(); $loc_name = array(); if (!empty($provinces)) { $location->form_values = array("pk_id" => $provinces); $province_name = $location->getLocationName(); } foreach ($districts as $dist_id) { $location->form_values = array("pk_id" => $dist_id); $loc_name[] = $location->getLocationName(); } $location_name = implode(",", $loc_name); for ($k = 0; $k < sizeof($products); $k++) { $product_obj = new Model_ItemPackSizes(); $product_obj->form_values['pk_id'] = $products[$k]; $product_name = $product_obj->getProductName(); list($indicator, $compare_options) = explode("-", str_replace("Report", "Graph", str_replace("Province", "Provincial", $title))); $graph_caption = $indicator . " of " . $product_name; if ($optvals == 1) { $graph_subcaption = $compare_options; } elseif ($optvals == 2) { $graph_subcaption = "Provincial " . $compare_options . " for " . $location_name; } elseif ($optvals == 3) { $graph_subcaption = "District " . $compare_options . " for " . $location_name; } elseif ($optvals == 7) { $graph_subcaption = "" . $compare_options . " for " . $location_name; } elseif ($optvals == 8) { $graph_subcaption = "" . $compare_options . " for " . $province_name . "(" . $location_name . ")"; } $xmlstore = "<chart exportEnabled='1' labelDisplay='rotate' slantLabels='1' yAxisMaxValue='100' exportAction='Download' caption='" . $graph_caption . "' subCaption='" . $graph_subcaption . "' exportFileName='" . $title . " - " . date('Y-m-d H:i:s') . " - " . $location_name . " - " . $product_name . "' yAxisName='Doses' numberSuffix='' showValues='1' formatNumberScale='0' theme='fint'>"; $xmlstore .= "<categories>"; for ($i = $months->getBeginMonth(); $i <= $months->getEndMonth(); $i++) { $month_name = $monthval[$i - 1]; $xmlstore .= "<category label='{$month_name}' />"; for ($j = 0; $j < sizeof($districts); $j++) { $location_obj = new Model_Locations(); $location_obj->form_values['product_id'] = $districts[$j]; $loc_name = $location_obj->getLocationById(); $sql = "select " . str_replace("\$i", $i, $query->getReportDataSql()) . " as xyz from dual "; $sql = str_replace("\$year1", $year1, $sql); $sql = str_replace("'\$products[\$k]'", "'" . $products[$j] . "'", $sql); $sql = str_replace("\$seluser", 1, $sql); $sql = str_replace("\$provinces[0]", $provinces, $sql); $sql = str_replace("\$dists[\$j]", $districts[$j], $sql); $dbg_sql .= $sql . '<br>'; //echo $sql."; "; $str_sql = $this->_em->getConnection()->prepare($sql); $str_sql->execute(); $row = $str_sql->fetchAll(); if (!empty($row)) { $res = explode('*', $row[0]['xyz']); $row_data = $res[$query->getReportDataPosition()] / 1; $filedata1[$loc_name][$monthval[$i - 1]] = $row_data; } } } //exit; //echo "<pre>"; //print_r($filedata1); //exit; $xmlstore .= "</categories>"; foreach ($filedata1 as $key1 => $value1) { $xmlstore .= "<dataset seriesName='{$key1}'>"; foreach ($value1 as $val2) { $xmlstore .= "<set value='" . $val2 . "' />"; } $xmlstore .= "</dataset>"; } $xmlstore .= "</chart>"; $xmlstore_array[] = $xmlstore; } //var_dump($xmlstore_array); //exit; return $xmlstore_array; }