getModule();
$record = $request->get('record');
$R_Data = $request->getAll();
$viewer->assign("MODULE", $moduleName);
$reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
if ($request->has("reportname")) {
$reportname = $request->get("reportname");
} else {
$reportname = $reportModel->getName();
}
$viewer->assign("REPORTNAME", $reportname);
if ($request->has("reportdesc")) {
$reportdesc = $request->get("reportdesc");
} else {
$reportdesc = $reportModel->getDesc();
}
$viewer->assign("REPORTDESC", $reportdesc);
$viewer->assign("REP_MODULE", $reportModel->getPrimaryModule());
$viewer->assign("PRIMARYMODULES", $reportModel->getPrimaryModules());
$viewer->assign("REP_FOLDERS", $reportModel->getReportFolders());
return $viewer->view('ReportsStep1.tpl', $moduleName, true);
}
public static function ReportGrouping(Vtiger_Request $request, $viewer) {
$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();
if (is_numeric($primary_module)) {
$primary_moduleid = $primary_module;
$primary_module = vtlib_getModuleNameById($primary_moduleid);
} else {
$primary_moduleid = getTabid($primary_module);
}
}
$selectedSummariesString = '';
$reportModel->module_list = $reportModel->report->module_list;
$primary_df_arr = getPrimaryTLStdFilter($primary_module, $reportModel->report);
$date_options = [];
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 = [];
$secondarymodule = '';
$secondarymodules = [];
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, ["", "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);
}
}
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 = '';
$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[] = ["id" => $module_id, "name" => $modulename_lbl, "checked" => "checked"];
//$secondarymodule_arrOfModule = $secondarymodule_arr[$modulename];
//foreach ($secondarymodule_arrOfModule as $key => $value) {
foreach ($secondarymodule_arr as $key => $value) {
$exploded_mid = explode("x", $value["id"]);
if (strtolower($exploded_mid[1]) != "mif") {
if (!$reportModel->report->in_multiarray($value["id"], $available_modules, "id")) {
$available_modules[] = ["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", 'ITS4YouReports');
}
$SPSumOptions[$module_array["id"]][$module_array["id"]] = $SumOptions;
$viewer->assign("SUMOPTIONS", $SPSumOptions);
$summaries_orderby = "";
if ($request->has("selectedSummariesString")) {
$selectedSummariesString = $request->get("selectedSummariesString");
$selectedSummariesString = str_replace("&", "@AMPKO@", $selectedSummariesString);
$selectedSummariesArr = explode(";", $selectedSummariesString);
$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);
}
}
$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 = [];
$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[] = ["value" => "none", "text" => getTranslatedString("LBL_NONE", 'ITS4YouReports')];
$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);
if ('summaries_matrix' === $Report_Informations['reporttype']
|| 'summaries_matrix' === $request->get('reporttype')) {
$viewer->assign('ALLOW_COLS', true);
}
return $viewer->view('ReportGrouping.tpl', $moduleName, true);
}
public static function ReportColumns(Vtiger_Request $request, $viewer) {
$adb = PearDatabase::getInstance();
$moduleName = $request->getModule();
$timelinecolumns = '';
$R_Data = $request->getAll();
$record = $request->get('record');
$reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
$primary_moduleid = $reportModel->getPrimaryModuleId();
$primary_module = $reportModel->getPrimaryModule();
$sortorder = "ASC";
if ($record != '') {
$BLOCK1 = getPrimaryColumnsHTML($primary_module);
$related_modules = $reportModel->getReportRelatedModules($primary_moduleid);
$selectedColumnsArray = $reportModel->getSelectedColumnListArray($record);
$BLOCK2 = $reportModel->getSelectedColumnsList($selectedColumnsArray);
$viewer->assign("BLOCK1", $BLOCK1);
$viewer->assign("BLOCK2", $BLOCK2);
// ITS4YOU-UP SlOl 13. 5. 2016 7:29:00 - sortcolsequence
$sreportsortsql = "SELECT sortcolsequence, columnname, sortorder FROM its4you_reports4you_sortcol WHERE reportid =? AND sortcolid = 4 ORDER BY sortcolsequence ASC";
$result_sort = $adb->pquery($sreportsortsql, [$record]);
$num_rows = $adb->num_rows($result_sort);
$BLOCKS3 = $BLOCKS_ORDER3 = [];
$scolrow_n = $sc_i = 1;
if ($num_rows > 0) {
$sarray = $reportModel->getSelectedColumnListArray($record);
$BLOCK3 = $reportModel->getSelectedColumnsList($sarray);
while ($sc_row = $adb->fetchByAssoc($result_sort)) {
$BLOCKS3[$sc_i] = $reportModel->getSelectedColumnsList($sarray, $sc_row["columnname"]);
$BLOCKS_ORDER3[$sc_i] = $sc_row["sortorder"];
$sc_i++;
}
$scolrow_n = ITS4YouReports_Functions_Helper::count($BLOCKS3);
} else {
$BLOCK3 = $BLOCK2;
}
$viewer->assign("BLOCK3", $BLOCK3);
$viewer->assign("BLOCKS3", $BLOCKS3);
$viewer->assign("BLOCKS_ORDER3", $BLOCKS_ORDER3);
$viewer->assign("scolrow_n", $scolrow_n);
// ITS4YOU-END
$BLOCK4 = "";
$viewer->assign("BLOCK4", $BLOCK4);
$columns_limit = $reportModel->report->reportinformations["columns_limit"];
} else {
$BLOCK1 = getPrimaryColumnsHTML($primary_module);
if (!empty($related_modules[$primary_module])) {
foreach ($related_modules[$primary_module] as $key => $value) {
$BLOCK1 .= $reportModel->getSecondaryColumnsHTML($R_Data["secondarymodule_" . $value]);
}
}
$viewer->assign("BLOCK1", $BLOCK1);
$columns_limit = "20";
}
$viewer->assign("COLUMNS_LIMIT", $columns_limit);
$timelinecolumns .= '' . vtranslate('TL_DAYS') . ' ';
$timelinecolumns .= '' . vtranslate('TL_WEEKS') . ' ';
$timelinecolumns .= '' . vtranslate('TL_MONTHS') . ' ';
$timelinecolumns .= '' . vtranslate('TL_YEARS') . ' ';
$timelinecolumns .= '' . vtranslate('TL_QUARTERS') . ' ';
$viewer->assign("TIMELINE_FIELDS", $timelinecolumns);
// ITS4YOU-CR SlOl 19. 2. 2014 16:30:20
$SPSumOptions = $availModules = [];
$RC_BLOCK0 = "";
$viewer->assign("availModules", $availModules);
$viewer->assign("ALL_FIELDS_STRING", $RC_BLOCK0);
// ITS4YOU-END 19. 2. 2014 16:30:23
return $viewer->view('ReportColumns.tpl', $moduleName, true);
}
public static function ReportColumnsTotal(Vtiger_Request $request, $viewer) {
$adb = PearDatabase::getInstance();
$moduleName = $request->getModule();
$layout = Vtiger_Viewer::getDefaultLayoutName();
$R_Data = $request->getAll();
$record = $request->get('record');
$viewer->assign("MODULE", $moduleName);
$reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
$Report_Informations = $reportModel->getReportInformations();
$LBL_INFORMATIONS_4YOU = vtranslate("LBL_STEP6_INFO", $moduleName);
$viewer->assign("LBL_INFORMATIONS_4YOU", $LBL_INFORMATIONS_4YOU);
$Objects = [];
$curl_array = [];
if (isset($R_Data["curl"])) {
$curl = $R_Data["curl"];
$curl_array = explode('$_@_$', $curl);
$selectedColumnsString = str_replace("@AMPKO@", "&", $R_Data["selectedColumnsStr"]);
$R_Objects = explode("<_@!@_>", $selectedColumnsString);
} else {
$curl_array = $reportModel->getSelectedColumnsToTotal($record);
$curl = implode('$_@_$', $curl_array);
$selectedColumnsString = str_replace("@AMPKO@", "&", $Report_Informations["selectedColumnsString"]);
$default_charset = vglobal("default_charset");
$R_Objects = explode(";", html_entity_decode($selectedColumnsString, ENT_QUOTES, $default_charset));
}
$viewer->assign("CURL", $curl);
$Objects = sgetNewColumnstoTotalHTMLScript($R_Objects);
$reportModel->setColumnsSummary($Objects);
$BLOCK1 = $reportModel->sgetNewColumntoTotalSelected($record, $R_Objects, $curl_array);
$viewer->assign("RECORDID", $record);
$viewer->assign("BLOCK1", $BLOCK1);
$viewer->assign("display_over", $Report_Informations["display_over"]);
$viewer->assign("display_under", $Report_Informations["display_under"]);
//added to avoid displaying "No data avaiable to total" when using related modules in report.
$rows_count = 0;
$rows_count = ITS4YouReports_Functions_Helper::count($BLOCK1);
$viewer->assign("ROWS_COUNT", $rows_count);
if($layout == "v7"){
$cc_populated = false;
if ($request->has("cc_populated")) {
$viewer->assign("ACT_MODE", $request->get('mode'));
$columns_options = ITS4YouReports::getColumnsOptions($request);
$viewer->assign("COLUMNS_OPTIONS", $columns_options);
$cc_populated = $request->get("cc_populated");
if (!empty($record)) {
$viewer->assign("CUSTOM_CALCULATIONS", $reportModel->report->reportinformations["cc_array"]);
}
}
$viewer->assign("cc_populated", $cc_populated);
} else {
$viewer->assign("cc_populated",$request->get('cc_populated'));
if($record=="" && $request->has("cc_populated")!=true){
$viewer->assign("ACT_MODE",$request->get('mode'));
$columns_options = ITS4YouReports::getColumnsOptions($request);
$viewer->assign("COLUMNS_OPTIONS",$columns_options);
}
}
if ('v7'===$layout) {
$customCalculationsInfo = vtranslate('LBL_STEP61_INFO',$moduleName);
$breaks = array('
','
','
');
$customCalculationsInfo = str_replace($breaks, '', $customCalculationsInfo);
} else {
$customCalculationsInfo = vtranslate('LBL_STEP61_INFO',$moduleName);
}
$viewer->assign('CUSTOM_CALCULATIONS_INFO', $customCalculationsInfo);
return $viewer->view('ReportColumnsTotal.tpl', $moduleName, true);
}
// ITS4YOU-CR SlOl 16. 5. 2016 13:35:01
public static function ReportCustomCalculations(Vtiger_Request $request, $viewer) {
$layout = Vtiger_Viewer::getDefaultLayoutName();
$moduleName = $request->getModule();
$record = $request->get('record');
$reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
$columns_options = ITS4YouReports::getColumnsOptions($request);
$viewer->assign("COLUMNS_OPTIONS", $columns_options);
$custom_calculations = $reportModel->report->reportinformations["cc_array"];
$viewer->assign("CUSTOM_CALCULATIONS", $custom_calculations);
return $viewer->view('ReportCustomCalculations.tpl', $moduleName, true);
}
// ITS4YOU-END
public static function ReportLabels(Vtiger_Request $request, $viewer) {
$adb = PearDatabase::getInstance();
$moduleName = $request->getModule();
$curl = '';
$R_Data = $request->getAll();
$record = $request->get('record');
$viewer->assign("MODULE", $moduleName);
// ITS4YOU-CR SlOl 10. 9. 2013 16:13:47
$LBL_INFORMATIONS_4YOU = vtranslate("LBL_STEP7_INFO", $moduleName);
$viewer->assign("LBL_INFORMATIONS_4YOU", $LBL_INFORMATIONS_4YOU);
// ITS4YOU-END 10. 9. 2013 16:13:50
$reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
$Report_Informations = $reportModel->getReportInformations();
$Objects = [];
$selected_columns_array = $selectedSummaries_array = $curl_array = [];
// selected labels from url
$default_charset = vglobal("default_charset");
$lbl_url_string = html_entity_decode($R_Data["lblurl"], ENT_QUOTES, $default_charset);
$lbl_url_string = str_replace("@AMPKO@", "&", $lbl_url_string);
if ($lbl_url_string != "") {
$lbl_url_arr = explode('$_@_$', $lbl_url_string);
foreach ($lbl_url_arr as $key => $lbl_value) {
if (strpos($lbl_value, 'hidden_') === false) {
if (strpos($lbl_value, '_SC_lLbLl_') !== false) {
$temp = explode('_SC_lLbLl_', $lbl_value);
$temp_lbls = explode('_lLGbGLl_', $temp[1]);
$lbl_key = $temp_lbls[0];
$lbl_value = $temp_lbls[1];
$lbl_url_selected["SC"][$lbl_key] = $lbl_value;
}
if (strpos($lbl_value, '_SM_lLbLl_') !== false) {
$temp = explode('_SM_lLbLl_', $lbl_value);
$temp_lbls = explode('_lLGbGLl_', $temp[1]);
$lbl_key = $temp_lbls[0];
$lbl_value = $temp_lbls[1];
$lbl_url_selected["SM"][$lbl_key] = $lbl_value;
}
if (strpos($lbl_value, '_CT_lLbLl_') !== false) {
$temp = explode('_CT_lLbLl_', $lbl_value);
$temp_lbls = explode('_lLGbGLl_', $temp[1]);
$lbl_key = $temp_lbls[0];
$lbl_value = $temp_lbls[1];
$lbl_url_selected["CT"][$lbl_key] = $lbl_value;
}
}
}
}
// COLUMNS labeltype SC
if (isset($R_Data["selectedColumnsStr"])) {
$selectedColumnsString = html_entity_decode($R_Data["selectedColumnsStr"], ENT_QUOTES, $default_charset);
$selectedColumnsString = str_replace("@AMPKO@", "&", $selectedColumnsString);
$selected_columns_array = explode("<_@!@_>", $selectedColumnsString);
} else {
$selectedColumnsString = html_entity_decode($Report_Informations["selectedColumnsString"], ENT_QUOTES, $default_charset);
$selected_columns_array = explode(";", $selectedColumnsString);
}
for ($gi = 1; $gi < 4; $gi++) {
if ($request->has("group$gi") && !$request->isEmpty("group$gi")) {
$group_col = $request->get("group$gi");
if ($group_col != "") {
$selected_columns_array[] = $group_col;
}
}
}
//ITS4YouReports::sshow($lbl_url_selected);
$labels_html["SC"] = $reportModel->report->getLabelsHTML($selected_columns_array, "SC", $lbl_url_selected);
// SUMMARIES labeltype SM
if (isset($R_Data["selectedSummariesString"])) {
$selectedColumnsString = trim($R_Data["selectedSummariesString"], ";");
$selectedColumnsString = str_replace("@AMPKO@", "&", $selectedColumnsString);
$selectedSummaries_array = explode(";", $selectedColumnsString);
} else {
if (isset($Report_Informations["summaries_columns"])) {
foreach ($Report_Informations["summaries_columns"] as $key => $sum_arr) {
$selectedSummaries_array[] = $sum_arr["columnname"];
}
}
}
$labels_html["SM"] = $reportModel->report->getLabelsHTML($selectedSummaries_array, "SM", $lbl_url_selected);
$viewer->assign("labels_html", $labels_html);
$viewer->assign("LABELS", $curl);
$viewer->assign("RECORDID", $record);
$viewer->assign("display_over", $Report_Informations["display_over"]);
$viewer->assign("display_under", $Report_Informations["display_under"]);
//added to avoid displaying "No data avaiable to total" when using related modules in report.
$rows_count = ITS4YouReports_Functions_Helper::count($labels_html);
foreach ($labels_html as $key => $labels_type_arr) {
$rows_count += ITS4YouReports_Functions_Helper::count($labels_type_arr);
}
$viewer->assign("ROWS_COUNT", $rows_count);
return $viewer->view('ReportLabels.tpl', $moduleName, true);
}
public static function ReportFilters(Vtiger_Request $request, $viewer) {
global $default_charset;
require_once('modules/ITS4YouReports/FilterUtils.php');
$adb = PearDatabase::getInstance();
$moduleName = $request->getModule();
$R_Data = $request->getAll();
$record = $request->get('record');
$viewer->assign("MODULE", $moduleName);
$reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
$Report_Informations = $reportModel->getReportInformations();
$primary_module = $reportModel->getPrimaryModule();
$primary_moduleid = $reportModel->getPrimaryModuleId();
$current_user = Users_Record_Model::getCurrentUserModel();
$is_admin = is_admin($current_user);
$viewer->assign("DATEFORMAT", $current_user->date_format);
$viewer->assign('USER_DATE_FORMAT', $current_user->date_format);
$viewer->assign("JS_DATEFORMAT", parse_calendardate(vtranslate('NTC_DATE_FORMAT')));
// ITS4YOU-CR SlOl 10. 9. 2013 16:13:47
$LBL_INFORMATIONS_4YOU = vtranslate("LBL_STEP7_INFO", $moduleName);
$viewer->assign("LBL_INFORMATIONS_4YOU", $LBL_INFORMATIONS_4YOU);
// ITS4YOU-END 10. 9. 2013 16:13:50
$BLOCK1 = "";
$user_privileges_path = 'user_privileges/user_privileges_' . $current_user->id . '.php';
if (file_exists($user_privileges_path)) {
require($user_privileges_path);
}
$related_modules = $reportModel->getReportRelatedModulesList();
$advft_criteria = array();
if (!empty($record)) {
$reportModel->getSelectedStandardCriteria($record);
$stdselectedcolumn = $reportModel->getSTDSelectedColumn();
$relatedmodulesstring = $reportModel->getRelatedModulesString();
$BLOCK1 .= getITSPrimaryStdFilterHTML(ITS4YouReports::getStoredITS4YouReport(), $primary_module, $stdselectedcolumn);
$BLOCK1 .= getITSSecondaryStdFilterHTML(ITS4YouReports::getStoredITS4YouReport(), $relatedmodulesstring, $stdselectedcolumn);
//added to fix the ticket #5117
$selectedcolumnvalue = '"' . $stdselectedcolumn . '"';
if (!$is_admin && isset($stdselectedcolumn) && strpos($BLOCK1, $selectedcolumnvalue) === false) {
$viewer->assign("BLOCK1_STD", $BLOCK1);
}
$stdselectedfilter = $reportModel->getSTDSelectedFilter();
$startdate = $reportModel->getStartDate();
$enddate = $reportModel->getEndDate();
if ($startdate != "") {
$viewer->assign("STARTDATE_STD", getValidDisplayDate($startdate));
}
if ($enddate != "") {
$viewer->assign("ENDDATE_STD", getValidDisplayDate($enddate));
}
$reportModel->getGroupFilterList($record);
$reportModel->getAdvancedFilterList($record);
$advft_criteria = $reportModel->getSelectedAdvancedFilter($record);
} else {
$primary_module = $R_Data["reportmodule"];
$BLOCK1 .= getITSPrimaryStdFilterHTML(ITS4YouReports::getStoredITS4YouReport(), $primary_module);
if (!empty($related_modules[$primary_module])) {
foreach ($related_modules[$primary_module] as $key => $value) {
$BLOCK1 .= getITSSecondaryStdFilterHTML(ITS4YouReports::getStoredITS4YouReport(), $R_Data["secondarymodule_" . $value]);
}
}
$viewer->assign("BLOCK1_STD", $BLOCK1);
$stdselectedfilter = "";
}
$BLOCKCRITERIA = $reportModel->getSelectedStdFilterCriteria($stdselectedfilter);
$viewer->assign("BLOCKCRITERIA_STD", $BLOCKCRITERIA);
$BLOCKJS = $reportModel->getCriteriaJS();
$viewer->assign("BLOCKJS_STD", $BLOCKJS);
///AdvancedFilter.php
if('Detail' !== $R_Data['view']) {
$summaries_criteria = $reportModel->getSummariesCriteria();
$viewer->assign("SUMMARIES_CRITERIA", $summaries_criteria);
}
$viewer->assign("CRITERIA_GROUPS", $advft_criteria);
$viewer->assign("EMPTY_CRITERIA_GROUPS", empty($advft_criteria));
if ($record != "") {
$mode = 'edit';
} else {
$mode = 'create';
}
$viewer->assign('MODE', $mode);
$FILTER_OPTION = getAdvCriteriaHTML();
$viewer->assign("FOPTION", $FILTER_OPTION);
$secondarymodule = '';
$secondarymodules = [];
if (!empty($related_modules[$primary_module])) {
foreach ($related_modules[$primary_module] as $key => $value) {
if (isset($R_Data['secondarymodule_' . $value])) {
$secondarymodules [] = $R_Data['secondarymodule_' . $value['id']];
}
}
}
$reportModel->getPriModuleColumnsList($primary_module);
if (!empty($related_modules[$primary_module])) {
foreach ($related_modules[$primary_module] as $key => $value) {
$secondarymodules[] = $value['id'];
}
$secondary_modules_str = implode(":", $secondarymodules);
}
$reportModel->getSecModuleColumnsList($secondary_modules_str);
if ($mode != "ChangeSteps") {
$Options = getPrimaryColumns($Options, $reportModel->report->primarymodule, true, $reportModel->report);
$secondarymodules = [];
if (!empty($reportModel->report->related_modules[$reportModel->report->primarymodule])) {
foreach ($reportModel->report->related_modules[$reportModel->report->primarymodule] as $key => $value) {
$exploded_mid = explode("x", $value["id"]);
if (strtolower($exploded_mid[1]) != "mif") {
$secondarymodules[] = $value["id"];
}
}
}
$secondarymodules_str = implode(":", $secondarymodules);
$Options_sec = getSecondaryColumns([], $secondarymodules_str, $reportModel->report);
foreach ($Options_sec as $moduleid => $sec_options) {
$Options = array_merge($Options, $sec_options);
}
// ITS4YOU-CR SlOl 16. 9. 2015 10:49:04 OTHER COLUMNS
if (isset($R_Data["selectedColumnsStr"]) && $R_Data["selectedColumnsStr"] != "") {
$selectedColumnsStr = $R_Data["selectedColumnsStr"];
$selectedColumnsStringDecoded = html_entity_decode($selectedColumnsStr, ENT_QUOTES, $default_charset);
$selectedColumns_arr = explode("<_@!@_>", $selectedColumnsStringDecoded);
} else {
$selectedColumnsStr = $reportModel->report->reportinformations['selectedColumnsString'];
$selectedColumnsStringDecoded = html_entity_decode($selectedColumnsStr, ENT_QUOTES, $default_charset);
//$selectedColumnsStringDecoded = $selectedColumnsStr;
$selectedColumns_arr = explode(';', trim($selectedColumnsStringDecoded, ';'));
}
if (!empty($selectedColumns_arr)) {
$opt_label = vtranslate('LBL_Filter_SelectedColumnsGroup', 'ITS4YouReports');
foreach ($selectedColumns_arr as $sc_key => $sc_col_str) {
if ($sc_col_str != "") {
$in_options = false;
foreach ($Options as $opt_group => $opt_array) {
if ($reportModel->report->in_multiarray($sc_col_str, $opt_array, "value") === true) {
$in_options = true;
continue;
}
}
if ($in_options) {
continue;
} else {
$Options[$opt_label][] = ["value" => $sc_col_str, "text" => $reportModel->report->getColumnStr_Label($sc_col_str)];
}
}
}
}
// ITS4YOU-END
foreach ($Options AS $optgroup => $optionsdata) {
if ($COLUMNS_BLOCK_JSON != "") {
$COLUMNS_BLOCK_JSON .= "(|@!@|)";
}
$COLUMNS_BLOCK_JSON .= $optgroup;
$COLUMNS_BLOCK_JSON .= "(|@|)";
$COLUMNS_BLOCK_JSON .= Zend_JSON::encode($optionsdata);
}
$viewer->assign("COLUMNS_BLOCK_JSON", $COLUMNS_BLOCK_JSON);
$adv_sel_fields = $reportModel->getAdvSelFields();
$sel_fields = Zend_Json::encode($adv_sel_fields);
$viewer->assign("SEL_FIELDS", $sel_fields);
$default_charset = vglobal("default_charset");
$std_filter_columns = $reportModel->getStdFilterColumns();
$std_filter_columns_js = implode("<%jsstdjs%>", $std_filter_columns);
$std_filter_columns_js = html_entity_decode($std_filter_columns_js, ENT_QUOTES, $default_charset);
$viewer->assign("std_filter_columns", $std_filter_columns_js);
$Date_Filter_Values = $reportModel->getDateFilterValues();
// ITS4YOU-UP SlOl 19. 11. 2015 10:46:35
foreach ($Date_Filter_Values as $std_opt => $std_val) {
$Date_Filter_Values[$std_opt] = str_replace("\'", "`", vtranslate($std_val, $reportModel->report->currentModule));
}
// ITS4YOU-END
$std_filter_criteria = Zend_Json::encode($Date_Filter_Values);
$viewer->assign("std_filter_criteria", $std_filter_criteria);
}
$rel_fields = $reportModel->getAdvRelFields();
$viewer->assign("REL_FIELDS", Zend_Json::encode($rel_fields));
/*NEWS*/
$primary_module = $reportModel->report->primarymodule;
$primary_moduleid = $reportModel->report->primarymoduleid;
// NEW ADVANCE FILTERS START
$reportModel->report->getGroupFilterList($reportModel->report->record);
$reportModel->report->getAdvancedFilterList($reportModel->report->record);
if('Detail' !== $R_Data['view']) {
$reportModel->report->getSummariesFilterList($reportModel->report->record);
}
$sel_fields = Zend_Json::encode($reportModel->report->adv_sel_fields);
$viewer->assign("SEL_FIELDS", $sel_fields);
if (isset($_REQUEST["reload"])) {
$criteria_groups = $reportModel->report->getRequestCriteria($sel_fields);
} else {
$criteria_groups = $reportModel->report->advft_criteria;
}
$viewer->assign("CRITERIA_GROUPS", $criteria_groups);
$viewer->assign("EMPTY_CRITERIA_GROUPS", empty($criteria_groups));
$viewer->assign("SUMMARIES_CRITERIA", $reportModel->report->summaries_criteria);
$FILTER_OPTION = getAdvCriteriaHTML();
$viewer->assign("FOPTION", $FILTER_OPTION);
$COLUMNS_BLOCK_JSON = $reportModel->report->getAdvanceFilterOptionsJSON($primary_module);
$viewer->assign("COLUMNS_BLOCK", $COLUMNS_BLOCK);
if ($mode != "ajax") {
//echo "