$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());
Example #2
0
 /**
  * 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);
 }