public static function ReportGrouping(Vtiger_Request $request, $viewer) { //error_reporting(63);ini_set("display_errors",1); //global $adb;$adb->setDebug(true); $moduleName = $request->getModule(); $record = $request->get('record'); $R_Data = $request->getAll(); $viewer->assign("MODULE", $moduleName); $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record); if ($request->has("primarymodule") && !$request->isEmpty("primarymodule")) { $primary_moduleid = $request->get("primarymodule"); $primary_module = vtlib_getModuleNameById($primary_moduleid); } else { $primary_module = $reportModel->getPrimaryModule(); $primary_moduleid = $reportModel->getPrimaryModuleId(); } // $primarymodule = $reportModel->getPrimaryModule(); // $primarymoduleid = $reportModel->getPrimaryModuleId(); $reportModel->module_list = $reportModel->report->module_list; $primary_df_arr = getPrimaryTLStdFilter($primary_module, $this); $date_options = array(); if (!empty($primary_df_arr)) { foreach ($primary_df_arr as $val_arr) { foreach ($val_arr as $val_dtls) { $date_options[] = $val_dtls["value"]; } } } $date_options_json = Zend_JSON::encode($date_options); $viewer->assign("date_options_json", $date_options_json); $timelinecolumn = $reportModel->getTimeLineColumnHTML(); $viewer->assign("timelinecolumn", $timelinecolumn); $Report_Informations = array(); $secondarymodule = ''; $secondarymodules = array(); if ($record != "") { $Report_Informations = $reportModel->getReportInformations(); if ($request->has('summaries_limit') && !$request->isEmpty('summaries_limit')) { $summaries_limit = $request->get("summaries_limit"); } else { $summaries_limit = $Report_Informations["summaries_limit"]; } } else { $summaries_limit = "20"; } $viewer->assign("SUMMARIES_LIMIT", $summaries_limit); if ($primary_module != "") { $reportModel->getPriModuleColumnsList($primary_module); foreach ($reportModel->report->related_modules[$primary_module] as $key => $secmodid) { $rp = $reportModel->report->getSecModuleColumnsList($secmodid["id"]); if (!in_array($secmodid["id"], $reportModel->report->relatedmodulesarray)) { $reportModel->report->relatedmodulesarray[] = $secmodid["id"]; } } } for ($tc_i = 1; $tc_i < 4; $tc_i++) { $timelinecol = $selected_timeline_column = ""; if ($request->has("group{$tc_i}") && !$request->isEmpty("group{$tc_i}")) { $group = $request->get("group{$tc_i}"); $selected_timeline_column = $request->get("timeline_column{$tc_i}"); } else { $group = $Report_Informations["Group{$tc_i}"]; $selected_timeline_column = $Report_Informations["timeline_columnstr{$tc_i}"]; } if (isset($selected_timeline_column) && !in_array($selected_timeline_column, array("", "none", "@vlv@"))) { $timelinecol = $reportModel->getTimeLineColumnHTML($tc_i, $selected_timeline_column); $viewer->assign("timelinecolumn" . $tc_i . "_html", $timelinecol); } $RG_BLOCK = getPrimaryColumns_GroupingHTML($primary_module, $group, $reportModel->report); if (!empty($reportModel->report->relatedmodulesarray)) { foreach ($reportModel->report->relatedmodulesarray as $secmodid) { $secmodule_arr = explode("x", $secmodid); $module_id = $secmodule_arr[0]; $field_id = isset($secmodule_arr[1]) && $secmodule_arr[1] != "" ? $secmodule_arr[1] : ""; if ($field_id != "MIF") { // getSecondaryColumns_GroupingHTML($moduleid, $selected = "", $ogReport = "") -> return $shtml; $RG_BLOCK .= getSecondaryColumns_GroupingHTML($secmodid, $group, $reportModel->report); } } } // ITS4YOU-UP SlOl |24.8.2015 11:09 // ITS4YOU-END $viewer->assign("RG_BLOCK{$tc_i}", $RG_BLOCK); if ($tc_i > 1) { if ($request->has("timeline_type{$tc_i}") && !$request->isEmpty("timeline_type{$tc_i}")) { $timeline_type = $request->get("timeline_type{$tc_i}"); } else { $timeline_type = $Report_Informations["timeline_type{$tc_i}"]; } $viewer->assign("timeline_type{$tc_i}", $timeline_type); } } //ITS4YouReports::sshow($RG_BLOCK); for ($sci = 1; $sci < 4; $sci++) { if ($request->has("sort{$sci}") && !$request->isEmpty("sort{$sci}")) { $sortorder = $request->get("sort{$sci}"); } else { $sortorder = $Report_Informations["Sort" . $sci]; } $sa = $sd = ""; if ($sortorder == "Descending") { $sd = " selected='selected' "; } elseif ($sortorder == "Ascending") { $ss = " selected='selected' "; } /* $shtml = '<input type="radio" id="Sort'.$sci.'a" name="Sort'.$sci.'" value="Ascending" '.$sa.'>'.vtranslate('Ascending').' <input type="radio" id="Sort'.$sci.'d" name="Sort'.$sci.'" value="Descending" '.$sd.'>'.vtranslate('Descending'); */ $shtml = '<select id="Sort' . $sci . '" name="Sort' . $sci . '" class="txtBox" style="float:left;width:8em;margin:auto;" > <option value="Ascending" ' . $sa . ' >' . vtranslate('Ascending', $moduleName) . '</option> <option value="Descending" ' . $sd . ' >' . vtranslate('Descending', $moduleName) . '</option> </select>'; $viewer->assign("ASCDESC" . $sci, $shtml); } $module_id = $primary_moduleid; $modulename_prefix = ""; $module_array["module"] = $primary_module; $module_array["id"] = $module_id; $selectedmodule = $module_array["id"]; $modulename = $module_array["module"]; $modulename_lbl = getTranslatedString($modulename, $modulename); $availModules[$module_array["id"]] = $modulename_lbl; $modulename_id = $module_array["id"]; if (isset($selectedmodule)) { $secondarymodule_arr = $reportModel->getReportRelatedModules($module_array["id"]); $reportModel->getSecModuleColumnsList($selectedmodule); $RG_BLOCK4 = sgetSummariesHTMLOptions($module_array["id"], $module_id); $available_modules[] = array("id" => $module_id, "name" => $modulename_lbl, "checked" => "checked"); foreach ($secondarymodule_arr as $key => $value) { $exploded_mid = explode("x", $value["id"]); if (strtolower($exploded_mid[1]) != "mif") { $available_modules[] = array("id" => $value["id"], "name" => "- " . $value["name"], "checked" => ""); } } $viewer->assign("RG_BLOCK4", $RG_BLOCK4); } $viewer->assign("SummariesModules", $available_modules); $SumOptions = sgetSummariesOptions($selectedmodule); if (empty($SumOptions)) { $SumOptions = getTranslatedString("NO_SUMMARIES_COLUMNS", $currentModule); } $SPSumOptions[$module_array["id"]][$module_array["id"]] = $SumOptions; $viewer->assign("SUMOPTIONS", $SPSumOptions); if ($request->has("selectedSummariesString")) { $selectedSummariesString = $request->get("selectedSummariesString"); //$selectedSummariesString = str_replace("@AMPKO@", "&", $selectedSummariesString); $selectedSummariesString = str_replace("&", "@AMPKO@", $selectedSummariesString); $selectedSummariesArr = explode(";", $selectedSummariesString); $summaries_orderby = vtlib_purify($request->get("summaries_orderby")); $RG_BLOCK6 = sgetSelectedSummariesHTMLOptions($selectedSummariesArr, $summaries_orderby); } else { if (!empty($Report_Informations["summaries_columns"])) { foreach ($Report_Informations["summaries_columns"] as $key => $summaries_columns_arr) { $selectedSummariesArr[] = $summaries_columns_arr["columnname"]; } if ($selectedSummariesString != "") { $selectedSummariesString = implode(";", $selectedSummariesString); } } $summaries_orderby = ""; if (isset($Report_Informations["summaries_orderby_columns"][0]) && $Report_Informations["summaries_orderby_columns"][0] != "") { $summaries_orderby = $Report_Informations["summaries_orderby_columns"][0]; } $RG_BLOCK6 = sgetSelectedSummariesHTMLOptions($selectedSummariesArr, $summaries_orderby); } // sum_group_columns for group filters start $sm_arr = sgetSelectedSummariesOptions($selectedSummariesArr); $sm_str = ""; if (!empty($sm_arr)) { foreach ($sm_arr as $key => $opt_arr) { if ($sm_str != "") { $sm_str .= "(|@!@|)"; } $sm_str .= $opt_arr["value"] . "(|@|)" . $opt_arr["text"]; } } $viewer->assign("sum_group_columns", $sm_str); // sum_group_columns for group filters end $viewer->assign("selectedSummariesString", $selectedSummariesString); $viewer->assign("RG_BLOCK6", $RG_BLOCK6); $RG_BLOCKx2 = array(); $all_fields_str = ""; foreach ($SPSumOptions as $module_key => $SumOptions) { $RG_BLOCKx2 = ""; $r_modulename = vtlib_getModuleNameById($module_key); $r_modulename_lbl = getTranslatedString($r_modulename, $r_modulename); foreach ($SumOptions as $SumOptions_key => $SumOptions_value) { if (is_array($SumOptions_value)) { foreach ($SumOptions_value as $optgroup => $optionsdata) { if ($RG_BLOCKx2 != "") { $RG_BLOCKx2 .= "(|@!@|)"; } $RG_BLOCKx2 .= $optgroup; $RG_BLOCKx2 .= "(|@|)"; $RG_BLOCKx2 .= Zend_JSON::encode($optionsdata); } } else { $RG_BLOCKx2 .= $SumOptions_value; $RG_BLOCKx2 .= "(|@|)"; $optionsdata[] = array("value" => "none", "text" => getTranslatedString("LBL_NONE", $currentModule)); $RG_BLOCKx2 .= Zend_JSON::encode($optionsdata); } $all_fields_str .= $module_key . "(!#_ID@ID_#!)" . $r_modulename_lbl . "(!#_ID@ID_#!)" . $RG_BLOCKx2; } } $viewer->assign("ALL_FIELDS_STRING", $all_fields_str); // ITS4YOU-END 5. 3. 2014 14:50:47 SUMMARIES END if ($request->has("summaries_orderby") && !$request->isEmpty("summaries_orderby")) { $summaries_orderby = $request->get("summaries_orderby"); $summaries_orderby_type = $request->get("summaries_orderby_type"); } elseif (isset($Report_Informations["summaries_orderby_columns"]) && !empty($Report_Informations["summaries_orderby_columns"])) { $summaries_orderby = $Report_Informations["summaries_orderby_columns"][0]["column"]; $summaries_orderby_type = $Report_Informations["summaries_orderby_columns"][0]["type"]; } else { $summaries_orderby = "none"; $summaries_orderby_type = "ASC"; } $viewer->assign("summaries_orderby", $summaries_orderby); $viewer->assign("summaries_orderby_type", $summaries_orderby_type); return $viewer->view('ReportGrouping.tpl', $moduleName, true); }
$BLOCK1 .= getSecondaryColumns_GroupingHTML($oReport->secmodule, $list_array[0]); $report_group->assign("BLOCK1", $BLOCK1); $BLOCK2 = getPrimaryColumns_GroupingHTML($oReport->primodule, $list_array[1]); $BLOCK2 .= getSecondaryColumns_GroupingHTML($oReport->secmodule, $list_array[1]); $report_group->assign("BLOCK2", $BLOCK2); $BLOCK3 = getPrimaryColumns_GroupingHTML($oReport->primodule, $list_array[2]); $BLOCK3 .= getSecondaryColumns_GroupingHTML($oReport->secmodule, $list_array[2]); $report_group->assign("BLOCK3", $BLOCK3); $sortorder = $oReport->ascdescorder; } else { $primarymodule = vtlib_purify($_REQUEST["primarymodule"]); $BLOCK1 = getPrimaryColumns_GroupingHTML($primarymodule); $ogReport = new Reports(); if (!empty($ogReport->related_modules[$primarymodule])) { foreach ($ogReport->related_modules[$primarymodule] as $key => $value) { $BLOCK1 .= getSecondaryColumns_GroupingHTML($_REQUEST["secondarymodule_" . $value]); } } $report_group->assign("BLOCK1", $BLOCK1); $report_group->assign("BLOCK2", $BLOCK1); $report_group->assign("BLOCK3", $BLOCK1); } /** Function to get the combo values for the Primary module Columns * @ param $module(module name) :: Type String * @ param $selected (<selected or ''>) :: Type String * This function generates the combo values for the columns for the given module * and return a HTML string */ function getPrimaryColumns_GroupingHTML($module, $selected = "") { global $ogReport, $app_list_strings, $current_language;