$xt->assignbyref("page_summary_fields_avg", $page_summary_fields_avg); $xt->assignbyref("page_summary_fields_min", $page_summary_fields_min); $xt->assignbyref("page_summary_fields_max", $page_summary_fields_max); /* end this part */ $grid_row["data"] = &$rowinfo; } else { if (!postvalue("edit")) { $cross_array = array( "tables" => $rpt_array["tables"], "group_fields" => $rpt_array["group_fields"], "totals" => $rpt_array["totals"], "table_type" => $rpt_array["table_type"] ); $crosstableObj = new CrossTableReport($cross_array, $strSQL); if (postvalue("crosstable_refresh")) { $crosstableObj->ajax_refresh_crosstable(); exit(); } $xt->assign("select_group_x", "<select id=select_group_x onchange=\"refresh_group('" . postvalue("rname") . "', '" . $reportFilename . "');\">" . $crosstableObj->getGroupFields("x") . "</select>"); $xt->assign("select_group_y", "<select id=select_group_y onchange=\"refresh_group('" . postvalue("rname") . "', '" . $reportFilename . "');\">" . $crosstableObj->getGroupFields("y") . "</select>"); $grid_row["data"] = $crosstableObj->getCrossTableData(); $arr_res = $crosstableObj->getValuesControl(); $res = $arr_res[0]; $first_field = $arr_res[1]; if ($res) { $xt->assign("data_value", true); $xt->assign("select_data", "<select name=select_data id=select_data onchange='refresh_crosstable(true);return false;'>" . $res . "</select>"); $xt->assign("group_func", $crosstableObj->getRadioGroupFunctions());
/** * Get data for crosstab and assign with xt * @param &Array _options */ public function setCrosstabData(&$_options) { include_once getabspath("classes/crosstable_report.php"); $cross_array = array(); $cross_array["fromWizard"] = true; $cross_array["table_type"] = "project"; $cross_array["tables"][] = $this->tName; $cross_array["sessionPrefix"] = $this->sessionPrefix; if ($this->mode == REPORT_DASHBOARD) { $cross_array["dashBased"] = true; $cross_array["dashTName"] = $this->dashTName; } foreach ($_options["repGroupFields"] as $ind => $value) { $cross_array["group_fields"][$ind]["name"] = $value["strGroupField"]; $cross_array["group_fields"][$ind]["int_type"] = $value["groupInterval"]; $t_axis = "all"; if ($value["crossTabAxis"] == 0) { $t_axis = "x"; } elseif ($value["crossTabAxis"] == 1) { $t_axis = "y"; } $cross_array["group_fields"][$ind]["group_type"] = $t_axis; } $sum_x = $_options['bReportHorizontalSummary']; $sum_y = $_options['bReportVerticalSummary']; $lastPos = count($cross_array["group_fields"]); $cross_array["group_fields"][$lastPos]["sum_total"] = $sum_x || $sum_y; $cross_array["group_fields"][$lastPos]["sum_x"] = $sum_x; $cross_array["group_fields"][$lastPos]["sum_y"] = $sum_y; foreach ($_options["fieldsArr"] as $ind => $value) { $cross_array["totals"][$value["name"]]["name"] = $value["name"]; $cross_array["totals"][$value["name"]]["label"] = $value["label"]; $cross_array["totals"][$value["name"]]["max"] = $value["totalMax"]; $cross_array["totals"][$value["name"]]["min"] = $value["totalMin"]; $cross_array["totals"][$value["name"]]["sum"] = $value["totalSum"]; $cross_array["totals"][$value["name"]]["avg"] = $value["totalAvg"]; } $strSQL = $this->getBasicCrossTableSQL(); $crosstableObj = new CrossTableReport($cross_array, $strSQL); if ($_options["crosstable_refresh"]) { $crosstableObj->ajax_refresh_crosstable(); exit; } $this->crossTableCommonAssign($crosstableObj, $sum_x || $sum_y); }