public function process(Vtiger_Request $request) { PDFMaker_Debugger_Model::GetInstance()->Init(); $PDFMaker = new PDFMaker_PDFMaker_Model(); if ($PDFMaker->CheckPermissions("DELETE") == false) { $PDFMaker->DieDuePermission(); } $adb = PearDatabase::getInstance(); $id_array = array(); if ($request->has('templateid') && !$request->isEmpty('templateid')) { $templateid = $request->get('templateid'); $checkSql = "select module from vtiger_pdfmaker where templateid=?"; $checkRes = $adb->pquery($checkSql, array($templateid)); $checkRow = $adb->fetchByAssoc($checkRes); //if we are trying to delete template that is not allowed for current user then die because user should not be able to see the template //$PDFMaker->CheckTemplatePermissions($checkRow["module"], $templateid); $Template_Permissions_Data = $PDFMaker->returnTemplatePermissionsData($checkRow["module"], $templateid); if ($Template_Permissions_Data["delete"] === false) { $this->DieDuePermission(); } $sql = "delete from vtiger_pdfmaker where templateid=?"; $adb->pquery($sql, array($templateid)); $sql = "delete from vtiger_pdfmaker_settings where templateid=?"; $adb->pquery($sql, array($templateid)); } else { $idlist = $request->get('idlist'); $id_array = explode(';', $idlist); $checkSql = "select templateid, module from vtiger_pdfmaker where templateid IN (" . generateQuestionMarks($id_array) . ")"; $checkRes = $adb->pquery($checkSql, $id_array); $checkArr = array(); while ($checkRow = $adb->fetchByAssoc($checkRes)) { $checkArr[$checkRow["templateid"]] = $checkRow["module"]; } for ($i = 0; $i < count($id_array) - 1; $i++) { //if we are trying to delete template that is not allowed for current user then die because user should not be able to see the template //$PDFMaker->CheckTemplatePermissions($checkArr[$id_array[$i]], $id_array[$i]); $Template_Permissions_Data = $PDFMaker->returnTemplatePermissionsData($checkArr[$id_array[$i]], $id_array[$i]); if ($Template_Permissions_Data["delete"] === false) { $this->DieDuePermission(); } $sql = "delete from vtiger_pdfmaker where templateid=?"; $adb->pquery($sql, array($id_array[$i])); $sql = "delete from vtiger_pdfmaker_settings where templateid=?"; $adb->pquery($sql, array($id_array[$i])); } } $ajaxDelete = $request->get('ajaxDelete'); $listViewUrl = "index.php?module=PDFMaker&view=List"; if ($ajaxDelete) { $response = new Vtiger_Response(); $response->setResult($listViewUrl); return $response; } else { header("Location: {$listViewUrl}"); } }
public static function ReportLabels(Vtiger_Request $request, $viewer) { $adb = PearDatabase::getInstance(); $moduleName = $request->getModule(); $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 = array(); $selected_columns_array = $selectedSummaries_array = $curl_array = 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 = count($labels_html); foreach ($labels_html as $key => $labels_type_arr) { $rows_count += count($labels_type_arr); } $viewer->assign("ROWS_COUNT", $rows_count); return $viewer->view('ReportLabels.tpl', $moduleName, true); }
public function process(Vtiger_Request $request) { $log = vglobal('log'); $log->debug('Start ' . __CLASS__ . ':' . __FUNCTION__); $db = PearDatabase::getInstance(); $qualifiedModule = $request->getModule(false); $moduleModel = Settings_CurrencyUpdate_Module_Model::getCleanInstance(); $currentUser = Users_Record_Model::getCurrentUserModel(); // synchronise bank list $moduleModel->refreshBanks(); $downloadBtn = !$request->isEmpty('download') ? $request->get('download') : false; $date = !$request->isEmpty('duedate') ? Vtiger_Datetime_UIType::getDBInsertedValue($request->get('duedate')) : false; $dateCur = ''; if ($date) { // if its future date change it to present one if (strtotime($date) > strtotime(date('Y-m-d'))) { $date = date('Y-m-d'); } $dateCur = $date; } else { $dateCur = date('Y-m-d'); } // take currency rates for yesterday if (strcmp(date('Y-m-d'), $dateCur) == 0) { $dateCur = strtotime("-1 day", strtotime($dateCur)); $dateCur = date('Y-m-d', $dateCur); } $dateCur = Vtiger_Functions::getLastWorkingDay($dateCur); // get currency if not already archived if ($downloadBtn) { $moduleModel->fetchCurrencyRates($dateCur); } $selectBankId = $moduleModel->getActiveBankId(); $history = $moduleModel->getRatesHistory($selectBankId, $dateCur, $request); $bankTab = array(); $bankSQL = "SELECT * FROM yetiforce_currencyupdate_banks"; $bankResult = $db->query($bankSQL, true); $i = 0; while ($row = $db->fetchByAssoc($bankResult)) { $bankTab[$i]['id'] = $row['id']; $bankName = $row['bank_name']; $bankTab[$i]['bank_name'] = $bankName; $bankTab[$i]['active'] = $row['active']; $i++; } // number of currencies $curr_num = $moduleModel->getCurrencyNum(); // get info about main currency $mainCurrencyInfo = Vtiger_Functions::getDefaultCurrencyInfo(); $viewer = $this->getViewer($request); $viewer->assign('QUALIFIED_MODULE', $qualifiedModule); $viewer->assign('USER_MODEL', $currentUser); $viewer->assign('MODULE_MODEL', $moduleModel); $viewer->assign('MODULENAME', 'CurrencyUpdate'); $viewer->assign('DATE', $request->has('duedate') ? Vtiger_Date_UIType::getDisplayValue($dateCur) : ''); $viewer->assign('CURRNUM', $curr_num); $viewer->assign('BANK', $bankTab); $viewer->assign('HISTORIA', $history); $viewer->assign('MAINCURR', $mainCurrencyInfo); $viewer->assign('SUPPORTED_CURRENCIES', $moduleModel->getSupportedCurrencies()); $viewer->assign('UNSUPPORTED_CURRENCIES', $moduleModel->getUnSupportedCurrencies()); $viewer->view('Index.tpl', $qualifiedModule); $log->debug('End ' . __CLASS__ . ':' . __FUNCTION__); }
/** * Function saves a Report */ function save() { $adb = PearDatabase::getInstance(); $currentUser = Users_Record_Model::getCurrentUserModel(); $export_sql = false; //$export_sql = true; $export_to_file = false; //$export_to_file = true; $debug_save = false; //$debug_save = true; $request = new Vtiger_Request($_REQUEST, $_REQUEST); $request_data = $request->getAll(); if ($export_sql) { ITS4YouReports::sshow($_REQUEST); //exit; } $reportid = $this->getId(); $r4u_sesstion_name = ITS4YouReports::getITS4YouReportStoreName(); $r4u_sesstion_unset = ITS4YouReports::unsetITS4YouReportsSerialize($r4u_sesstion_name); if ($debug_save) { echo "<pre>UNSET Session: "; print_r($r4u_sesstion_unset); echo "</pre>"; } $ITS4YouReports = ITS4YouReports::getStoredITS4YouReport(); $std_filter_columns = $ITS4YouReports->getStdFilterColumns(); //<<<<<<<report>>>>>>>>> global $default_charset; $reportname = $request->get('reportname'); $reportname = html_entity_decode($reportname, ENT_QUOTES, $default_charset); $reportdescription = $request->get("reportdesc"); $reportdescription = html_entity_decode($reportdescription, ENT_QUOTES, $default_charset); $reporttype = $request->get("reporttype"); $folderid = $request->get("reportfolder"); $isDuplicate = $request->get("isDuplicate"); //<<<<<<<report>>>>>>>>> //<<<<<<<selectcolumn>>>>>>>>> $selectedcolumnstring = $request->get("selectedColumnsString"); $selectedcolumnstring = str_replace("@AMPKO@", "&", $selectedcolumnstring); $saveselectedcolumns = explode(";", trim($selectedcolumnstring, ";")); $selectedcolumns = array(); foreach ($saveselectedcolumns as $sc) { $selectedcolumns[] = $sc; } //<<<<<<<selectcolumn>>>>>>>>> //<<<<<<<selectedSummaries>>>>>>>>> $selectedSummariesString = $request->get("selectedSummariesString"); $selectedSummariesString = str_replace("@AMPKO@", "&", $selectedSummariesString); $selectedSummaries_array = explode(";", trim($selectedSummariesString, ";")); $selectedSummaries = array(); foreach ($selectedSummaries_array as $sm) { $selectedSummaries[] = $sm; } //<<<<<<<selectedSummaries>>>>>>>>> //<<<<<<<SummariesOrderBy>>>>>>>>> $summaries_orderby = $request->get("summaries_orderby_columnString"); $summaries_orderby_type = $request->get("summaries_orderby_type"); //<<<<<<<SummariesOrderBy>>>>>>>>> // ITS4YOU-CR SlOl 13. 3. 2014 10:17:31 $lbl_array = array(); $lbl_url_string = $request->get("labels_to_go"); $lbl_url_string = str_replace("@AMPKO@", "&", $lbl_url_string); $lbl_url_string = urldecode($lbl_url_string); $lbl_url_string = html_entity_decode($lbl_url_string, ENT_QUOTES, $default_charset); if ($lbl_url_string != "") { $lbl_url_arr = explode('$_@_$', $lbl_url_string); foreach ($lbl_url_arr as $key => $lbl_value) { 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_array["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_array["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_array["CT"][$lbl_key] = $lbl_value; } } } // ITS4YOU-END 13. 3. 2014 10:17:32 //<<<<<<<reportsortcol>>>>>>>>> $sort_by1 = decode_html($request->get("Group1")); $sort_order1 = $request->get("Sort1"); $sort_by2 = decode_html($request->get("Group2")); $sort_order2 = $request->get("Sort2"); $sort_by3 = decode_html($request->get("Group3")); $sort_order3 = $request->get("Sort3"); $timeline_type2 = $request->get("timeline_type2"); $timeline_type3 = $request->get("timeline_type3"); if ($request->has("TimeLineColumn_Group1") && !$request->isEmpty("TimeLineColumn_Group1") && $sort_by1 != "none") { $TimeLineColumn_Group1 = $request->get("TimeLineColumn_Group1"); $TimeLineColumn_Group1_arr = explode("@vlv@", $TimeLineColumn_Group1); $TimeLineColumn_str1 = $TimeLineColumn_Group1_arr[0]; $TimeLineColumn_frequency1 = $TimeLineColumn_Group1_arr[1]; } if ($request->has("TimeLineColumn_Group2") && !$request->isEmpty("TimeLineColumn_Group2") && $sort_by2 != "none") { $TimeLineColumn_Group2 = $request->get("TimeLineColumn_Group2"); $TimeLineColumn_Group2_arr = explode("@vlv@", $TimeLineColumn_Group2); $TimeLineColumn_str2 = $TimeLineColumn_Group2_arr[0]; $TimeLineColumn_frequency2 = $TimeLineColumn_Group2_arr[1]; } if ($request->has("TimeLineColumn_Group3") && !$request->isEmpty("TimeLineColumn_Group3") && $sort_by3 != "none") { $TimeLineColumn_Group3 = $request->get("TimeLineColumn_Group3"); $TimeLineColumn_Group3_arr = explode("@vlv@", $TimeLineColumn_Group3); $TimeLineColumn_str3 = $TimeLineColumn_Group3_arr[0]; $TimeLineColumn_frequency3 = $TimeLineColumn_Group3_arr[1]; } $sort_by_column = decode_html($request->get("SortByColumn")); $sort_order_column = $request->get("SortOrderColumn"); //<<<<<<<reportsortcol>>>>>>>>> //<<<<<<<reportmodules>>>>>>>>> $pmodule = $request->get("primarymodule"); $smodule = trim($request->get("secondarymodule"), ":"); //<<<<<<<reportmodules>>>>>>>>> //<<<<<<<shared entities>>>>>>>>> $sharetype = $request->get("sharing"); $shared_entities = $request->get("sharingSelectedColumnsString"); //<<<<<<<shared entities>>>>>>>>> //<<<<<<<columnstototal>>>>>>>>>> if ($request->has("curl_to_go") && !$request->isEmpty("curl_to_go")) { $columnstototal = explode('$_@_$', $request->get("curl_to_go")); } //<<<<<<<columnstototal>>>>>>>>> //<<<<<<<advancedfilter>>>>>>>>check $json = new Zend_Json(); $std_filter_columns = $ITS4YouReports->getStdFilterColumns(); $advft_criteria_groups = $request->get('advft_criteria_groups'); $new_criteria_groups = $gi_change = array(); if (!empty($advft_criteria_groups)) { $new_gi = 1; foreach ($advft_criteria_groups as $advftg_i => $advftg_array) { if (!empty($advftg_array)) { $gi_change[$advftg_i] = $new_gi; $new_criteria_groups[$new_gi] = $advftg_array; $new_gi++; } } } $advft_criteria_groups = $new_criteria_groups; //advft_criteria_groups = $json->decode($advft_criteria_groups); $new_advft_criteria = array(); $advft_criteria = $request->get('advft_criteria'); if (!empty($advft_criteria)) { $new_i = 0; foreach ($advft_criteria as $advft_i => $advft_array) { if (!empty($advft_array)) { $advft_array["groupid"] = $gi_change[$advft_array["groupid"]]; $new_advft_criteria[$new_i] = $advft_array; $new_i++; } } } $advft_criteria = $new_advft_criteria; //$advft_criteria = $json->decode($advft_criteria); //<<<<<<<advancedfilter>>>>>>>> //<<<<<<<groupconditioncolumn>>>>>>>> $groupft_criteria = $request->get('groupft_criteria'); //$groupft_criteria = $json->decode($groupft_criteria); //<<<<<<<groupconditioncolumn>>>>>>>> //<<<<<<<limit>>>>>>>> $limit = $summaries_limit = 0; if ($request->has("columns_limit") && !$request->isEmpty("columns_limit")) { $limit = $request->get("columns_limit"); } if ($request->has("summaries_limit") && !$request->isEmpty("summaries_limit")) { $summaries_limit = $request->get("summaries_limit"); } //<<<<<<<limit>>>>>>>> //<<<<<<<scheduled report>>>>>>>> $isReportScheduled = $request->get('isReportScheduled'); $scheduledFormat = ""; $r_key_arr = array(); if ($isReportScheduled == 'on' || $isReportScheduled == '1') { foreach ($request_data as $r_key => $r_val) { if (strpos($r_key, "scheduledReportFormat_") !== false) { $r_key_arr[] = substr($r_key, 22); } } } if (!empty($r_key_arr)) { $scheduledFormat = implode(";", $r_key_arr); } $selectedRecipients = $request->get('selectedRecipientsString'); $selectedRecipients = Zend_JSON::encode($selectedRecipients); //$scheduledFormat = $request->get('scheduledReportFormat'); $scheduledInterval = $request->get('scheduledIntervalString'); $scheduledInterval = Zend_JSON::encode($scheduledInterval); //<<<<<<<scheduled report>>>>>>>> // ITS4YOU-CR SlOl 20. 3. 2014 12:02:47 for ($tg_i = 1; $tg_i < 4; $tg_i++) { if ($request->has("TimeLineColumn_Group{$tg_i}") && !$request->isEmpty("TimeLineColumn_Group{$tg_i}") && $request->get("TimeLineColumn_Group{$tg_i}") != "none") { $tg_col_str = $request->get("TimeLineColumn_Group{$tg_i}"); $tg_col_arr = explode("@vlv@", $tg_col_str); $timelinecols_arr[$tg_i] = $tg_col_str; $timelinecols_frequency[$tg_i] = $tg_col_arr[1]; } } // ITS4YOU-END 20. 3. 2014 12:02:48 // ITS4YOU-CR SlOl | 2.7.2014 15:18 // // chartType1 data_series1 if ($request->has("chartType1") && !$request->isEmpty("chartType1")) { $charttitle = $request->get("charttitle"); $x_group = $request->get("x_group"); $charts = array(); for ($chi = 1; $chi < 4; $chi++) { // charttype dataseries charttitle chart_seq x_group if ($request->has("chartType{$chi}") && !$request->isEmpty("chartType{$chi}")) { $charttype = $request->get("chartType{$chi}"); if ($charttype != "none") { $ch_params = array("charttype" => $charttype, "dataseries" => $request->get("data_series{$chi}"), "charttitle" => $charttitle, "chart_seq" => $chi, "x_group" => $x_group); $charts[$chi] = $ch_params; } else { break; } } else { break; } } } /* if ($request->has("chartType") && !$request->isEmpty("chartType")) { $chartType = $request->get("chartType"); if ($chartType != "" && $chartType != "none") { $data_series = $request->get("data_series"); $charttitle = $request->get("charttitle"); } } */ // ITS4YOU-END 2.7.2014 15:18 // ITS4YOU-CR SlOl | 20.8.2015 11:30 if ($reporttype == "custom_report") { $customSql = ITS4YouReports::validateCustomSql($request->get("reportcustomsql")); } // ITS4YOU-END 20.8.2015 11:30 if ($reportid != "" && $isDuplicate != "true") { $d_selectedcolumns = "DELETE FROM its4you_reports4you_selectcolumn WHERE its4you_reports4you_selectcolumn.queryid = ?"; $d_columnsqlresult = $adb->pquery($d_selectedcolumns, array($reportid)); if (!empty($selectedcolumns)) { for ($i = 0; $i < count($selectedcolumns); $i++) { if (!empty($selectedcolumns[$i])) { $icolumnsql = "INSERT INTO its4you_reports4you_selectcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) VALUES (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $i, decode_html($selectedcolumns[$i])); $params_tofile = array("@reportid", $i, decode_html($selectedcolumns[$i])); $report_array['its4you_reports4you_selectcolumn'][] = $params_tofile; $icolumnsqlresult = $adb->pquery($icolumnsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } // ITS4YOU-CR SlOl 7. 3. 2014 11:24:46 Summaries Save $d_selectedSummaries = "DELETE FROM its4you_reports4you_summaries WHERE reportsummaryid = ?"; $d_Summariessqlqfresult = $adb->pquery($d_selectedSummaries, array($reportid)); if (!empty($selectedSummaries)) { for ($i = 0; $i < count($selectedSummaries); $i++) { if (!empty($selectedSummaries[$i])) { $iSmmariessql = "INSERT INTO its4you_reports4you_summaries (reportsummaryid,summarytype,columnname) VALUES (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $i, decode_html($selectedSummaries[$i])); $params_tofile = array("@reportid", $i, decode_html($selectedSummaries[$i])); $report_array['its4you_reports4you_summaries'][] = $params_tofile; $iSummariessqlresult = $adb->pquery($iSmmariessql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } // ITS4YOU-END 7. 3. 2014 11:24:48 // ITS4YOU-CR SlOl 24. 3. 2014 8:52:40 $d_selected_s_orderby = "DELETE FROM its4you_reports4you_summaries_orderby WHERE reportid = ?"; $d_selected_s_orderbyresult = $adb->pquery($d_selected_s_orderby, array($reportid)); if ($summaries_orderby != "" && $summaries_orderby_type != "") { $d_selected_s_orderby_sql = "INSERT INTO its4you_reports4you_summaries_orderby (reportid,columnindex,summaries_orderby,summaries_orderby_type) VALUES (?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, 0, $summaries_orderby, $summaries_orderby_type); $params_tofile = array("@reportid", 0, $summaries_orderby, $summaries_orderby_type); $report_array['its4you_reports4you_summaries_orderby'] = $params_tofile; $d_selected_s_orderby_result = $adb->pquery($d_selected_s_orderby_sql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } // ITS4YOU-END 24. 3. 2014 8:52:42 // ITS4YOU-CR SlOl 13. 3. 2014 11:34:24 $d_selectedLabels = "DELETE FROM its4you_reports4you_labels WHERE reportid = ?"; $d_Labelssqlqfresult = $adb->pquery($d_selectedLabels, array($reportid)); if (!empty($lbl_array)) { foreach ($lbl_array as $type => $type_array) { foreach ($type_array as $column_str => $column_lbl) { $iLabelssql = "INSERT INTO its4you_reports4you_labels (reportid,type,columnname,columnlabel) VALUES (?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $type, $column_str, $column_lbl); $params_tofile = array("@reportid", $type, $column_str, $column_lbl); $report_array['its4you_reports4you_labels'][] = $params_tofile; $iLabelssqlresult = $adb->pquery($iLabelssql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } $d_selectedqfcolumns = "DELETE FROM its4you_reports4you_selectqfcolumn WHERE queryid = ?"; $d_columnsqlqfresult = $adb->pquery($d_selectedqfcolumns, array($reportid)); if (!empty($selectedqfcolumns)) { for ($i = 0; $i < count($selectedqfcolumns); $i++) { if (!empty($selectedqfcolumns[$i])) { $icolumnsql = "INSERT INTO its4you_reports4you_selectqfcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) VALUES (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $i, decode_html($selectedqfcolumns[$i])); $params_tofile = array("@reportid", $i, decode_html($selectedqfcolumns[$i])); $report_array['its4you_reports4you_selectqfcolumn'][] = $params_tofile; $icolumnsqlresult = $adb->pquery($icolumnsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } $d_shared = "DELETE FROM its4you_reports4you_sharing WHERE reports4youid = ?"; $d_sharedresult = $adb->pquery($d_shared, array($reportid)); if ($shared_entities != "") { if ($sharetype == "share") { $selectedsharecolumn = explode("|", $shared_entities); for ($i = 0; $i < count($selectedsharecolumn) - 1; $i++) { $temp = split("::", $selectedsharecolumn[$i]); $icolumnsql = "INSERT INTO its4you_reports4you_sharing (reports4youid,shareid,setype) VALUES (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $temp[1], $temp[0]); $params_tofile = array("@reportid", $temp[1], $temp[0]); $report_array['its4you_reports4you_sharing'][] = $params_tofile; $icolumnsqlresult = $adb->pquery($icolumnsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } if ($reportid != "") { $ireportsql = "UPDATE its4you_reports4you SET reports4youname=?, description=?, folderid=?, reporttype=?, columns_limit=?, summaries_limit=? WHERE reports4youid=?"; $ireportparams = array($reportname, $reportdescription, $folderid, $reporttype, $limit, $summaries_limit, $reportid); $params_tofile = array("@reportid", $reportname, $reportdescription, $folderid, $reporttype, 0, $limit, $summaries_limit); // ITS4YOU-END $export_sql === true ? $adb->setDebug(true) : ""; $report_array['its4you_reports4you'] = $params_tofile; $ireportresult = $adb->pquery($ireportsql, $ireportparams); $export_sql === true ? $adb->setDebug(false) : ""; if ($ireportresult != false) { if ($reporttype != "custom_report") { //<<<<reportmodules>>>>>>> $d_modules = "DELETE FROM its4you_reports4you_modules WHERE reportmodulesid = ?"; $d_modulesresult = $adb->pquery($d_modules, array($reportid)); $ireportmodulesql = "INSERT INTO its4you_reports4you_modules (REPORTMODULESID,PRIMARYMODULE,SECONDARYMODULES) VALUES (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $pmodule, $smodule); $params_tofile = array("@reportid", $pmodule, $smodule); $report_array['its4you_reports4you_modules'] = $params_tofile; $ireportmoduleresult = $adb->pquery($ireportmodulesql, $params); $export_sql === true ? $adb->setDebug(false) : ""; //<<<<reportmodules>>>>>>> //<<<<step3 its4you_reports4you_sortcol>>>>>>> $d_sortcol1 = "DELETE FROM its4you_reports4you_sortcol WHERE reportid = ? AND sortcolid=?"; $d_sortcol1_result = $adb->pquery($d_sortcol1, array($reportid, 1)); if ($sort_by1 != "") { $sort_by1sql = "INSERT INTO its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_columnstr,timeline_columnfreq) VALUES (?,?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array(1, $reportid, $sort_by1, $sort_order1, $TimeLineColumn_str1, $TimeLineColumn_frequency1); $params_tofile = array(1, "@reportid", $sort_by1, $sort_order1, "rows", $TimeLineColumn_str1, $TimeLineColumn_frequency1); $report_array['its4you_reports4you_sortcol'][] = $params_tofile; $sort_by1result = $adb->pquery($sort_by1sql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } $d_sortcol2 = "DELETE FROM its4you_reports4you_sortcol WHERE reportid = ? AND sortcolid=?"; $d_sortcol2_result = $adb->pquery($d_sortcol2, array($reportid, 2)); if ($sort_by2 != "") { $sort_by2sql = "INSERT INTO its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_type,timeline_columnstr,timeline_columnfreq) VALUES (?,?,?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array(2, $reportid, $sort_by2, $sort_order2, $timeline_type2, $TimeLineColumn_str2, $TimeLineColumn_frequency2); $params_tofile = array(2, "@reportid", $sort_by2, $sort_order2, $timeline_type2, $TimeLineColumn_str2, $TimeLineColumn_frequency2); $report_array['its4you_reports4you_sortcol'][] = $params_tofile; $sort_by2result = $adb->pquery($sort_by2sql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } $d_sortcol3 = "DELETE FROM its4you_reports4you_sortcol WHERE reportid = ? AND sortcolid=?"; $d_sortcol3_result = $adb->pquery($d_sortcol3, array($reportid, 3)); if ($sort_by3 != "") { $sort_by3sql = "INSERT INTO its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_type,timeline_columnstr,timeline_columnfreq) VALUES (?,?,?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array(3, $reportid, $sort_by3, $sort_order3, $timeline_type3, $TimeLineColumn_str3, $TimeLineColumn_frequency3); $params_tofile = array(3, "@reportid", $sort_by3, $sort_order3, $timeline_type3, $TimeLineColumn_str3, $TimeLineColumn_frequency3); $report_array['its4you_reports4you_sortcol'][] = $params_tofile; $sort_by3result = $adb->pquery($sort_by3sql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } $d_sortcol4 = "DELETE FROM its4you_reports4you_sortcol WHERE reportid = ? AND sortcolid=?"; $d_sortcol4_result = $adb->pquery($d_sortcol4, array($reportid, 4)); if ($sort_by_column != "") { $sort_by_columnsql = "INSERT INTO its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) VALUES (?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array(4, $reportid, $sort_by_column, $sort_order_column); $params_tofile = array(4, "@reportid", $sort_by_column, $sort_order_column, "", "", ""); $report_array['its4you_reports4you_sortcol'][] = $params_tofile; ${$sort_by_columnresult} = $adb->pquery($sort_by_columnsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } //<<<<step3 its4you_reports4you_sortcol>>>>>>> //<<<<step5 standarfilder>>>>>>> $d_datefilter = "DELETE FROM its4you_reports4you_datefilter WHERE datefilterid = ?"; $d_datefilter_result = $adb->pquery($d_datefilter, array($reportid)); $ireportmodulesql = "INSERT INTO its4you_reports4you_datefilter (DATEFILTERID,DATECOLUMNNAME,DATEFILTER,STARTDATE,ENDDATE) VALUES (?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $stdDateFilterField, $stdDateFilter, $startdate, $enddate); $params_tofile = array("@reportid", $stdDateFilterField, $stdDateFilter, $startdate, $enddate); $report_array['its4you_reports4you_datefilter'] = $params_tofile; $ireportmoduleresult = $adb->pquery($ireportmodulesql, $params); $export_sql === true ? $adb->setDebug(false) : ""; //<<<<step5 standarfilder>>>>>>> //<<<<step4 columnstototal>>>>>>> $d_summary = "DELETE FROM its4you_reports4you_summary WHERE reportsummaryid = ?"; $d_summary_result = $adb->pquery($d_summary, array($reportid)); for ($i = 0; $i < count($columnstototal); $i++) { $ireportsummarysql = "INSERT INTO its4you_reports4you_summary (REPORTSUMMARYID,SUMMARYTYPE,COLUMNNAME) VALUES (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $i, $columnstototal[$i]); $params_tofile = array("@reportid", $i, $columnstototal[$i]); $report_array['its4you_reports4you_summary'][] = $params_tofile; $ireportsummaryresult = $adb->pquery($ireportsummarysql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } //<<<<step4 columnstototal>>>>>>> //<<<<step5 advancedfilter>>>>>>> $default_charset = vglobal("default_charset"); $this->saveAdvancedFilters($advft_criteria, $advft_criteria_groups, $std_filter_columns, $export_sql); $d_adv_criteria = "DELETE FROM its4you_reports4you_relcriteria_summaries WHERE reportid = ?"; $d_adv_criteria_result = $adb->pquery($d_adv_criteria, array($reportid)); foreach ($groupft_criteria as $column_index => $column_condition) { if (empty($column_condition)) { continue; } $adv_filter_column = $column_condition["columnname"]; $adv_filter_comparator = $column_condition["comparator"]; $adv_filter_value = $column_condition["value"]; $adv_filter_column_condition = $column_condition["column_condition"]; $adv_filter_groupid = $column_condition["groupid"]; $column_info = explode(":", $adv_filter_column); $temp_val = explode(",", $adv_filter_value); if (($column_info[4] == 'D' || $column_info[4] == 'T' && $column_info[1] != 'time_start' && $column_info[1] != 'time_end' || $column_info[4] == 'DT') && ($column_info[4] != '' && $adv_filter_value != '')) { $val = array(); for ($x = 0; $x < count($temp_val); $x++) { if (trim($temp_val[$x]) != '') { $date = new DateTimeField(trim($temp_val[$x])); if ($column_info[4] == 'D') { $val[$x] = DateTimeField::convertToDBFormat(trim($temp_val[$x])); } elseif ($column_info[4] == 'DT') { $val[$x] = $date->getDBInsertDateTimeValue(); } else { $val[$x] = $date->getDBInsertTimeValue(); } } } $adv_filter_value = implode(",", $val); } $irelcriteriasql = "INSERT INTO its4you_reports4you_relcriteria_summaries(reportid,COLUMNINDEX,COLUMNNAME,COMPARATOR,VALUE,GROUPID,COLUMN_CONDITION) VALUES (?,?,?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $column_index, $adv_filter_column, $adv_filter_comparator, $adv_filter_value, $adv_filter_groupid, $adv_filter_column_condition); $params_tofile = array("@reportid", $column_index, $adv_filter_column, $adv_filter_comparator, $adv_filter_value, $adv_filter_groupid, $adv_filter_column_condition); $report_array['its4you_reports4you_relcriteria_summaries'][] = $params_tofile; $irelcriteriaresult = $adb->pquery($irelcriteriasql, $params); $export_sql === true ? $adb->setDebug(false) : ""; // Update the condition expression for the group to which the condition column belongs $groupConditionExpression = ''; if (!empty($advft_criteria_groups[$adv_filter_groupid]["conditionexpression"])) { $groupConditionExpression = $advft_criteria_groups[$adv_filter_groupid]["conditionexpression"]; } $groupConditionExpression = $groupConditionExpression . ' ' . $column_index . ' ' . $adv_filter_column_condition; $advft_criteria_groups[$adv_filter_groupid]["conditionexpression"] = $groupConditionExpression; } //<<<<step5 advancedfilter>>>>>>> } $owner = vtlib_purify($_REQUEST["template_owner"]); $sharingtype = vtlib_purify($_REQUEST["sharing"]); if ($owner != "" && $owner != "") { $limitsql = "UPDATE its4you_reports4you_settings SET owner=?, sharingtype=? WHERE reportid=?"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($owner, $sharingtype, $reportid); $params_tofile = array("@reportid", $owner, $sharingtype); $report_array['its4you_reports4you_settings'] = $params_tofile; $limitresult = $adb->pquery($limitsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } //<<<<step7 scheduledReport>>>>>>> if ($isReportScheduled == 'off' || $isReportScheduled == '0' || $isReportScheduled == '') { $deleteScheduledReportSql = "DELETE FROM its4you_reports4you_scheduled_reports WHERE reportid=?"; $adb->pquery($deleteScheduledReportSql, array($reportid)); } else { $checkScheduledResult = $adb->pquery('SELECT 1 FROM its4you_reports4you_scheduled_reports WHERE reportid=?', array($reportid)); if ($adb->num_rows($checkScheduledResult) > 0) { $scheduledReportSql = 'UPDATE its4you_reports4you_scheduled_reports SET recipients=?,schedule=?,format=? WHERE reportid=?'; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($selectedRecipients, $scheduledInterval, $scheduledFormat, $reportid); $params_tofile = array("@reportid", $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s")); $report_array['its4you_reports4you_scheduled_reports'] = $params_tofile; $adb->pquery($scheduledReportSql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } else { $scheduleReportSql = 'INSERT INTO its4you_reports4you_scheduled_reports (reportid,recipients,schedule,format,next_trigger_time) VALUES (?,?,?,?,?)'; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s")); $params_tofile = array("@reportid", $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s")); $report_array['its4you_reports4you_scheduled_reports'] = $params_tofile; $adb->pquery($scheduleReportSql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } //<<<<step7 scheduledReport>>>>>>> if ($reporttype != "custom_report") { //<<<<step12 Report Charts >>>>>>> $deleteChartsSql = "DELETE FROM its4you_reports4you_charts WHERE reports4youid=?"; $adb->pquery($deleteChartsSql, array($reportid)); if (!empty($charts)) { foreach ($charts as $chi => $ch_params) { $ChartsSql = 'INSERT INTO its4you_reports4you_charts (reports4youid,charttype,dataseries,charttitle,chart_seq,x_group) VALUES (?,?,?,?,?,?)'; $ch_params_tofile = array_merge(array("reports4youid" => "@reportid"), $ch_params); $ch_params = array_merge(array($reportid), $ch_params); $export_sql === true ? $adb->setDebug(true) : ""; $report_array['its4you_reports4you_charts'][] = $ch_params_tofile; $adb->pquery($ChartsSql, array($ch_params)); $export_sql === true ? $adb->setDebug(false) : ""; } } /* if ($chartType != "" && $chartType != "none") { $ChartsSql = 'INSERT INTO its4you_reports4you_charts (reports4youid,charttype,dataseries,charttitle) VALUES (?,?,?,?)'; $export_sql === true ? $adb->setDebug(true) : ""; $adb->pquery($ChartsSql, array($reportid, $chartType, $data_series, $charttitle)); $export_sql === true ? $adb->setDebug(false) : ""; } */ //<<<<step12 Report Charts >>>>>>> } //<<<<step13 Custom Report SQL >>>>>>> if ($reporttype == "custom_report") { $deleteCustomSql = "DELETE FROM its4you_reports4you_customsql WHERE reports4youid=?"; $adb->pquery($deleteCustomSql, array($reportid)); $CustomSqlQry = 'INSERT INTO its4you_reports4you_customsql (reports4youid,custom_sql) VALUES (?,?)'; $params = array($reportid, $customSql); $params_tofile = array("@reportid", $customSql); $report_array['its4you_reports4you_customsql'] = $params_tofile; $export_sql === true ? $adb->setDebug(true) : ""; $adb->pquery($CustomSqlQry, array($params)); $export_sql === true ? $adb->setDebug(false) : ""; } //<<<<step13 Custom Report SQL >>>>>>> } else { $errormessage = "<font color='red'><B>Error Message<ul>\n <li><font color='red'>Error while inserting the record</font>\n </ul></B></font> <br>"; echo $errormessage; die; } } if ($export_sql === true) { ITS4YouReports::sshow("EDIT"); } } else { $genQueryId = $adb->getUniqueID("its4you_reports4you_selectquery"); if ($genQueryId < 1) { $adb->pquery("DELETE FROM its4you_reports4you_selectquery_seq ", array()); $adb->pquery("SELECT @max_reportid:=max(reports4youid)+1 FROM `its4you_reports4you`;", array()); $adb->pquery("INSERT INTO its4you_reports4you_selectquery_seq (id) VALUES (@max_reportid); ", array()); $genQueryId = $adb->getUniqueID("its4you_reports4you_selectquery"); } $reportid = $genQueryId; $this->setId($reportid); if ($genQueryId != "") { $iquerysql = "insert into its4you_reports4you_selectquery (QUERYID,STARTINDEX,NUMOFOBJECTS) values (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, 0, 0); $params_tofile = array("@reportid", 0, 0); $report_array['its4you_reports4you_selectquery'] = $params_tofile; $iquerysqlresult = $adb->pquery($iquerysql, $params); $export_sql === true ? $adb->setDebug(false) : ""; if ($iquerysqlresult != false) { //<<<<step2 vtiger_rep4u_selectcolumn>>>>>>>> if (!empty($selectedcolumns)) { for ($i = 0; $i < count($selectedcolumns); $i++) { if (!empty($selectedcolumns[$i])) { $icolumnsql = "insert into its4you_reports4you_selectcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) values (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, $i, decode_html($selectedcolumns[$i])); $params_tofile = array("@reportid", $i, decode_html($selectedcolumns[$i])); $report_array['its4you_reports4you_selectcolumn'][] = $params_tofile; $icolumnsqlresult = $adb->pquery($icolumnsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } //<<<< its4you_reports4you_summaries>>>>>>>> if (!empty($selectedSummaries)) { for ($i = 0; $i < count($selectedSummaries); $i++) { if (!empty($selectedSummaries[$i])) { $iSmmariessql = "INSERT INTO its4you_reports4you_summaries (reportsummaryid,summarytype,columnname) VALUES (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, $i, decode_html($selectedSummaries[$i])); $params_tofile = array("@reportid", $i, decode_html($selectedSummaries[$i])); $report_array['its4you_reports4you_summaries'][] = $params_tofile; $iSummariessqlresult = $adb->pquery($iSmmariessql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } if ($summaries_orderby != "" && $summaries_orderby_type != "") { $d_selected_s_orderby_sql = "INSERT INTO its4you_reports4you_summaries_orderby (reportid,columnindex,summaries_orderby,summaries_orderby_type) VALUES (?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, 0, $summaries_orderby, $summaries_orderby_type); $params_tofile = array("@reportid", 0, $summaries_orderby, $summaries_orderby_type); $report_array['its4you_reports4you_summaries_orderby'] = $params_tofile; $d_selected_s_orderby_result = $adb->pquery($d_selected_s_orderby_sql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } if (!empty($lbl_array)) { foreach ($lbl_array as $type => $type_array) { foreach ($type_array as $column_str => $column_lbl) { $iLabelssql = "INSERT INTO its4you_reports4you_labels (reportid,type,columnname,columnlabel) VALUES (?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, $type, $column_str, $column_lbl); $params_tofile = array("@reportid", $type, $column_str, $column_lbl); $report_array['its4you_reports4you_labels'][] = $params_tofile; $iLabelssqlresult = $adb->pquery($iLabelssql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } if (!empty($selectedqfcolumns)) { for ($i = 0; $i < count($selectedqfcolumns); $i++) { if (!empty($selectedqfcolumns[$i])) { $icolumnsql = "insert into its4you_reports4you_selectqfcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) values (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, $i, decode_html($selectedqfcolumns[$i])); $params_tofile = array("@reportid", $i, decode_html($selectedqfcolumns[$i])); $report_array['its4you_reports4you_selectqfcolumn'][] = $params_tofile; $icolumnsqlresult = $adb->pquery($icolumnsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } if ($shared_entities != "") { if ($sharetype == "share") { $selectedsharecolumn = explode("|", $shared_entities); for ($i = 0; $i < count($selectedsharecolumn) - 1; $i++) { $temp = split("::", $selectedsharecolumn[$i]); $icolumnsql = "INSERT INTO its4you_reports4you_sharing (reports4youid,shareid,setype) VALUES (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $temp[1], $temp[0]); $params_tofile = array("@reportid", $temp[1], $temp[0]); $report_array['its4you_reports4you_sharing'][] = $params_tofile; $icolumnsqlresult = $adb->pquery($icolumnsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } } if ($genQueryId != "") { $ireportsql = "insert into its4you_reports4you (reports4youid,reports4youname,description,folderid,reporttype,columns_limit,summaries_limit) values (?,?,?,?,?,?,?)"; $ireportparams = array($genQueryId, $reportname, $reportdescription, $folderid, $reporttype, $limit, $summaries_limit); $params_tofile = array("@reportid", $reportname, $reportdescription, $folderid, $reporttype, 0, $limit, $summaries_limit); // ITS4YOU-END $export_sql === true ? $adb->setDebug(true) : ""; $report_array['its4you_reports4you'] = $params_tofile; $ireportresult = $adb->pquery($ireportsql, $ireportparams); $export_sql === true ? $adb->setDebug(false) : ""; if ($ireportresult != false) { if ($reporttype != "custom_report") { //<<<<reportmodules>>>>>>> $ireportmodulesql = "insert into its4you_reports4you_modules (REPORTMODULESID,PRIMARYMODULE,SECONDARYMODULES) values (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, $pmodule, $smodule); $params_tofile = array("@reportid", $pmodule, $smodule); $report_array['its4you_reports4you_modules'] = $params_tofile; $ireportmoduleresult = $adb->pquery($ireportmodulesql, $params); $export_sql === true ? $adb->setDebug(false) : ""; //<<<<reportmodules>>>>>>> //<<<<step3 its4you_reports4you_sortcol>>>>>>> if ($sort_by1 != "") { $sort_by1sql = "insert into its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_columnstr,timeline_columnfreq) values (?,?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array(1, $genQueryId, $sort_by1, $sort_order1, $TimeLineColumn_str1, $TimeLineColumn_frequency1); $params_tofile = array(1, "@reportid", $sort_by1, $sort_order1, "rows", $TimeLineColumn_str1, $TimeLineColumn_frequency1); $report_array['its4you_reports4you_sortcol'][] = $params_tofile; $sort_by1result = $adb->pquery($sort_by1sql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } if ($sort_by2 != "") { $sort_by2sql = "insert into its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_type,timeline_columnstr,timeline_columnfreq) values (?,?,?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array(2, $genQueryId, $sort_by2, $sort_order2, $timeline_type2, $TimeLineColumn_str2, $TimeLineColumn_frequency2); $params_tofile = array(2, "@reportid", $sort_by2, $sort_order2, $timeline_type2, $TimeLineColumn_str2, $TimeLineColumn_frequency2); $report_array['its4you_reports4you_sortcol'][] = $params_tofile; $sort_by2result = $adb->pquery($sort_by2sql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } if ($sort_by3 != "") { $sort_by3sql = "insert into its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_type,timeline_columnstr,timeline_columnfreq) values (?,?,?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array(3, $genQueryId, $sort_by3, $sort_order3, $timeline_type3, $TimeLineColumn_str3, $TimeLineColumn_frequency3); $params_tofile = array(3, "@reportid", $sort_by3, $sort_order3, $timeline_type3, $TimeLineColumn_str3, $TimeLineColumn_frequency3); $report_array['its4you_reports4you_sortcol'][] = $params_tofile; $sort_by3result = $adb->pquery($sort_by3sql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } if ($sort_by_column != "") { $sort_by_columnsql = "insert into its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) values (?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array(4, $genQueryId, $sort_by_column, $sort_order_column); $params_tofile = array(4, "@reportid", $sort_by_column, $sort_order_column, "", "", ""); $report_array['its4you_reports4you_sortcol'][] = $params_tofile; $sort_by_columnresult = $adb->pquery($sort_by_columnsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } //<<<<step3 its4you_reports4you_sortcol>>>>>>> //<<<<step5 standarfilder>>>>>>> $ireportmodulesql = "insert into its4you_reports4you_datefilter (DATEFILTERID,DATECOLUMNNAME,DATEFILTER,STARTDATE,ENDDATE) values (?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, $stdDateFilterField, $stdDateFilter, $startdate, $enddate); $params_tofile = array("@reportid", $stdDateFilterField, $stdDateFilter, $startdate, $enddate); $report_array['its4you_reports4you_datefilter'] = $params_tofile; $ireportmoduleresult = $adb->pquery($ireportmodulesql, $params); $export_sql === true ? $adb->setDebug(false) : ""; //<<<<step5 standarfilder>>>>>>> //<<<<step4 columnstototal>>>>>>> for ($i = 0; $i < count($columnstototal); $i++) { $ireportsummarysql = "insert into its4you_reports4you_summary (REPORTSUMMARYID,SUMMARYTYPE,COLUMNNAME) values (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, $i, $columnstototal[$i]); $params_tofile = array("@reportid", $i, $columnstototal[$i]); $report_array['its4you_reports4you_summary'][] = $params_tofile; $ireportsummaryresult = $adb->pquery($ireportsummarysql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } //<<<<step4 columnstototal>>>>>>> //<<<<step5 advancedfilter>>>>>>> // DOKONC SAVE TO FILE OLDO $this->saveAdvancedFilters($advft_criteria, $advft_criteria_groups, $std_filter_columns, $export_sql); foreach ($groupft_criteria as $column_index => $column_condition) { if (empty($column_condition)) { continue; } $adv_filter_column = $column_condition["columnname"]; $adv_filter_comparator = $column_condition["comparator"]; $adv_filter_value = $column_condition["value"]; $adv_filter_column_condition = $column_condition["column_condition"]; $adv_filter_groupid = $column_condition["groupid"]; $column_info = explode(":", $adv_filter_column); $temp_val = explode(",", $adv_filter_value); if (($column_info[4] == 'D' || $column_info[4] == 'T' && $column_info[1] != 'time_start' && $column_info[1] != 'time_end' || $column_info[4] == 'DT') && ($column_info[4] != '' && $adv_filter_value != '')) { $val = array(); for ($x = 0; $x < count($temp_val); $x++) { if (trim($temp_val[$x]) != '') { $date = new DateTimeField(trim($temp_val[$x])); if ($column_info[4] == 'D') { $val[$x] = DateTimeField::convertToDBFormat(trim($temp_val[$x])); } elseif ($column_info[4] == 'DT') { $val[$x] = $date->getDBInsertDateTimeValue(); } else { $val[$x] = $date->getDBInsertTimeValue(); } } } $adv_filter_value = implode(",", $val); } $irelcriteriasql = "INSERT INTO its4you_reports4you_relcriteria_summaries(reportid,COLUMNINDEX,COLUMNNAME,COMPARATOR,VALUE,GROUPID,COLUMN_CONDITION) VALUES (?,?,?,?,?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $column_index, $adv_filter_column, $adv_filter_comparator, $adv_filter_value, $adv_filter_groupid, $adv_filter_column_condition); $params_tofile = array("@reportid", $column_index, $adv_filter_column, $adv_filter_comparator, $adv_filter_value, $adv_filter_groupid, $adv_filter_column_condition); $report_array['its4you_reports4you_relcriteria_summaries'][] = $params_tofile; $irelcriteriaresult = $adb->pquery($irelcriteriasql, $params); $export_sql === true ? $adb->setDebug(false) : ""; // Update the condition expression for the group to which the condition column belongs $groupConditionExpression = ''; if (!empty($advft_criteria_groups[$adv_filter_groupid]["conditionexpression"])) { $groupConditionExpression = $advft_criteria_groups[$adv_filter_groupid]["conditionexpression"]; } $groupConditionExpression = $groupConditionExpression . ' ' . $column_index . ' ' . $adv_filter_column_condition; $advft_criteria_groups[$adv_filter_groupid]["conditionexpression"] = $groupConditionExpression; } //<<<<step5 advancedfilter>>>>>>> } //<<<<step6 sharing >>>>>>> $owner = vtlib_purify($_REQUEST["template_owner"]); $sharingtype = vtlib_purify($_REQUEST["sharing"]); if ($owner != "" && $owner != "") { $limitsql = "insert into its4you_reports4you_settings (reportid,owner,sharingtype) VALUES (?,?,?)"; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($genQueryId, $owner, $sharingtype); $params_tofile = array("@reportid", $owner, $sharingtype); $report_array['its4you_reports4you_settings'] = $params_tofile; $limitresult = $adb->pquery($limitsql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } //<<<<step6 sharing >>>>>>> //<<<<step7 scheduledReport>>>>>>> if ($isReportScheduled == 'off' || $isReportScheduled == '0' || $isReportScheduled == '') { $deleteScheduledReportSql = "DELETE FROM its4you_reports4you_scheduled_reports WHERE reportid=?"; $adb->pquery($deleteScheduledReportSql, array($reportid)); } else { $checkScheduledResult = $adb->pquery('SELECT 1 FROM its4you_reports4you_scheduled_reports WHERE reportid=?', array($reportid)); if ($adb->num_rows($checkScheduledResult) > 0) { $scheduledReportSql = 'UPDATE its4you_reports4you_scheduled_reports SET recipients=?,schedule=?,format=? WHERE reportid=?'; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($selectedRecipients, $scheduledInterval, $scheduledFormat, $reportid); $params_tofile = array("@reportid", $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s")); $report_array['its4you_reports4you_scheduled_reports'] = $params_tofile; $adb->pquery($scheduledReportSql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } else { $scheduleReportSql = 'INSERT INTO its4you_reports4you_scheduled_reports (reportid,recipients,schedule,format,next_trigger_time) VALUES (?,?,?,?,?)'; $export_sql === true ? $adb->setDebug(true) : ""; $params = array($reportid, $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s")); $params_tofile = array("@reportid", $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s")); $report_array['its4you_reports4you_scheduled_reports'] = $params_tofile; $adb->pquery($scheduleReportSql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } if ($reporttype != "custom_report") { //<<<<step12 Report Charts >>>>>>> $deleteChartsSql = "DELETE FROM its4you_reports4you_charts WHERE reports4youid=?"; $adb->pquery($deleteChartsSql, array($reportid)); /* if ($chartType != "" && $chartType != "none") { $ChartsSql = 'INSERT INTO its4you_reports4you_charts (reports4youid,charttype,dataseries,charttitle) VALUES (?,?,?,?)'; $export_sql === true ? $adb->setDebug(true) : ""; $adb->pquery($ChartsSql, array($reportid, $chartType, $data_series, $charttitle)); $export_sql === true ? $adb->setDebug(false) : ""; } */ if (!empty($charts)) { foreach ($charts as $chi => $ch_params) { $ChartsSql = 'INSERT INTO its4you_reports4you_charts (reports4youid,charttype,dataseries,charttitle,chart_seq,x_group) VALUES (?,?,?,?,?,?)'; $ch_params = array_merge(array($reportid), $ch_params); $ch_params_tofile = array_merge(array("@reportid"), $ch_params); $export_sql === true ? $adb->setDebug(true) : ""; $params = array($ch_params); $report_array['its4you_reports4you_charts'][] = array($ch_params_tofile); $adb->pquery($ChartsSql, $params); $export_sql === true ? $adb->setDebug(false) : ""; } } //<<<<step12 Report Charts >>>>>>> } //<<<<step13 Custom Report SQL >>>>>>> if ($reporttype == "custom_report") { $CustomSqlQry = 'INSERT INTO its4you_reports4you_customsql (reports4youid,custom_sql) VALUES (?,?)'; $params = array($reportid, $customSql); $params_tofile = array("@reportid", $customSql); $report_array['its4you_reports4you_customsql'] = $params_tofile; $export_sql === true ? $adb->setDebug(true) : ""; $adb->pquery($CustomSqlQry, array($params)); $export_sql === true ? $adb->setDebug(false) : ""; } //<<<<step13 Custom Report SQL >>>>>>> } else { $errormessage = "<font color='red'><B>Error Message<ul>\n <li><font color='red'>Error while inserting the record</font>\n </ul></B></font> <br>"; echo $errormessage; die; } } } else { $errormessage = "<font color='red'><B>Error Message<ul>\n <li><font color='red'>Error while inserting the record (QUERYID)</font>\n </ul></B></font> <br>"; echo $errormessage; die; } } if ($export_sql === true && $isDuplicate != "true") { ITS4YouReports::sshow("EDIT"); } elseif ($export_sql === true) { ITS4YouReports::sshow("DUPLICATE"); } } if ($export_to_file === true) { $report_array_json = Zend_JSON::encode($report_array); // ITS4YouReports::sshow($report_array['its4you_reports4you_charts']); // ITS4YouReports::sshow($report_array_json); $fileReportContent = "<?php " . '$report_array_json = ' . "'" . $report_array_json . "'; "; $file_path = "test/ITS4YouReports/ITS4YouReports_" . $this->getId() . ".php"; $exportOfReport = fopen($file_path, 'w'); fwrite($exportOfReport, $fileReportContent); fclose($exportOfReport); echo "DONE {$file_path}"; exit; } if ($export_sql === true) { exit; } return true; // ini_set("display_errors", 1);error_reporting(63); }
public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $requestAll = $request->getAll(); $record = $requestAll["record"]; if ($record != "") { $mode = "edit"; } else { $mode = "create"; } global $default_charset; $reportModel = new ITS4YouReports_Record_Model(); $reportModel->setModule("ITS4YouReports"); if (!empty($record) && !$request->get('isDuplicate')) { $reportModel->setId($record); } //$reporttype = $request->get('reporttype'); //if(empty($reporttype)) $reporttype='tabular'; $reportModel->set('reportname', $requestAll['reportname']); $reportModel->set('folderid', $requestAll['reportfolder']); $reportModel->set('description', $requestAll['reports_description']); //$reportModel->set('reporttype', $reporttype); $reportModel->setPrimaryModule($requestAll['primarymodule']); $reportModel->set('template_owner', $requestAll['template_owner']); $reportModel->set('sharing', $requestAll['sharing']); //$secondaryModules = $request->get('secondary_modules'); //$secondaryModules = implode(':', $secondaryModules); //$reportModel->setSecondaryModule($secondaryModules); $saveselectedcolumns = explode(";", trim($requestAll['selectedColumnsString'], ";")); $reportModel->set('selectedFields', $saveselectedcolumns); $selectedSummaries_array = explode(";", trim($requestAll['selectedSummariesString'], ";")); $reportModel->set('selectedSummaries', $selectedSummaries_array); $reportModel->set('summaries_orderby', $requestAll['summaries_orderby_columnString']); $reportModel->set('summaries_orderby_type', $requestAll['summaries_orderby_type']); $lbl_array = array(); $lbl_url_string = $requestAll['labels_to_go']; $lbl_url_string = urldecode($lbl_url_string); $lbl_url_string = html_entity_decode($lbl_url_string, 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, '_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_array["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_array["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_array["CT"][$lbl_key] = $lbl_value; } } } $reportModel->set('lbl_array', $lbl_array); for ($gi = 1; $gi < 4; $gi++) { $reportModel->set('sort_by' . $gi, $requestAll['Group' . $gi]); $reportModel->set('sort_order' . $gi, $requestAll['Sort' . $gi]); } $reportModel->set('timeline_type2', $requestAll['timeline_type2']); $reportModel->set('timeline_type3', $requestAll['timeline_type3']); for ($tgi = 1; $tgi < 4; $tgi++) { if ($request->has('TimeLineColumn_Group' . $tgi) && !$request->isEmpty('TimeLineColumn_Group' . $tgi) && $requestAll['Group' . $tgi] != "none") { $TimeLineColumn_Group = $requestAll['TimeLineColumn_Group' . $tgi]; $TimeLineColumn_Group_arr = explode("@vlv@", $TimeLineColumn_Group); $TimeLineColumn_str = $TimeLineColumn_Group_arr[0]; $TimeLineColumn_frequency = $TimeLineColumn_Group_arr[1]; $reportModel->set('TimeLineColumn_str' . $tgi, $TimeLineColumn_str); $reportModel->set('TimeLineColumn_frequency' . $tgi, $TimeLineColumn_frequency); } } $reportModel->set('SortByColumn', $requestAll['SortByColumn']); $reportModel->set('SortOrderColumn', $requestAll['SortOrderColumn']); $pmodule = $requestAll['primarymodule']; $reportModel->set('pmodule', $pmodule); $smodule = trim($requestAll['secondarymodule'], ":"); $reportModel->set('smodule', $smodule); $reportModel->set('sharetype', $requestAll['sharing']); $reportModel->set('shared_entities', $requestAll['sharingSelectedColumnsString']); $columnstototal = explode('$_@_$', $requestAll["curl_to_go"]); $reportModel->set('columnstototal', $columnstototal); $json = new Zend_Json(); //$std_filter_columns = $ITS4YouReports->getStdFilterColumns(); $advft_criteria = $requestAll['advft_criteria']; $advft_criteria = $json->decode($advft_criteria); $reportModel->set('advft_criteria', $advft_criteria); $advft_criteria_groups = $requestAll['advft_criteria_groups']; $advft_criteria_groups = $json->decode($advft_criteria_groups); $reportModel->set('advft_criteria_groups', $advft_criteria_groups); $groupft_criteria = $requestAll['groupft_criteria']; $groupft_criteria = $json->decode($groupft_criteria); $reportModel->set('groupft_criteria', $groupft_criteria); $reportModel->set('limit', $requestAll['limit']); $reportModel->set('summaries_limit', $requestAll['summaries_limit']); $reportModel->set('isReportScheduled', $requestAll['isReportScheduled']); $reportModel->set('selectedRecipientsString', $requestAll['selectedRecipientsString']); $reportModel->set('scheduledReportFormat', $requestAll['scheduledReportFormat']); $reportModel->set('scheduledIntervalString', $requestAll['scheduledIntervalString']); $chartType = $requestAll["chartType"]; $reportModel->set('chartType', $chartType); if ($chartType != "" && $chartType != "none") { $data_series = $requestAll["data_series"]; $reportModel->set('data_series', $data_series); $charttitle = $requestAll["charttitle"]; $reportModel->set('charttitle', $charttitle); } $reportModel->save(); //Scheduled Reports /* $scheduleReportModel = new Reports_ScheduleReports_Model(); $scheduleReportModel->set('scheduleid', $request->get('schtypeid')); $scheduleReportModel->set('schtime', $request->get('schtime')); $scheduleReportModel->set('schdate', $request->get('schdate')); $scheduleReportModel->set('schdayoftheweek', $request->get('schdayoftheweek')); $scheduleReportModel->set('schdayofthemonth', $request->get('schdayofthemonth')); $scheduleReportModel->set('schannualdates', $request->get('schannualdates')); $scheduleReportModel->set('reportid', $reportModel->getId()); $scheduleReportModel->set('recipients', $request->get('recipients')); $scheduleReportModel->set('isReportScheduled', $request->get('enable_schedule')); $scheduleReportModel->set('specificemails', $request->get('specificemails')); $scheduleReportModel->saveScheduleReport(); */ //END if ($requestAll["SaveType"] == "Save") { $loadUrl = $reportModel->getListViewUrl(); } else { $loadUrl = $reportModel->getDetailViewUrl(); } header("Location: {$loadUrl}"); }
public function getStoredITS4YouReport() { $r4u_sesstion_name = ITS4YouReports::getITS4YouReportStoreName(); $request = new Vtiger_Request($_REQUEST, $_REQUEST); // used to unlink sessioned reports ! if ($request->has("refresh") && $request->get('refresh') === "true") { ITS4YouReports::sshow(ITS4YouReports::unsetITS4YouReportsSerialize($r4u_sesstion_name)); } // to unlink all if ($request->has("mode") && $request->get('mode') === "ChangeSteps") { $run_construct = false; } else { if ($request->has("view") && $request->get('view') === "Edit" && isset($_SESSION[$r4u_sesstion_name])) { $run_construct = false; } else { $run_construct = true; } } $return_obj = new ITS4YouReports($run_construct); if (ITS4YouReports::isStoredITS4YouReport() === true) { $return_obj = unserialize($_SESSION[$r4u_sesstion_name]); } if (isset($return_obj->reportinformations["deleted"]) && $return_obj->reportinformations["deleted"] !== 0 && $return_obj->reportinformations["deleted"] !== "0") { die("<br><br><center>" . vtranslate('LBL_RECORD_DELETE') . " <a href='javascript:window.history.back()'>" . vtranslate('LBL_GO_BACK') . ".</a></center>"); } if ($request->has("record") && !$request->isEmpty("record")) { $return_obj->primarymoduleid = $return_obj->reportinformations["primarymodule"]; $return_obj->primarymodule = vtlib_getModuleNameById($return_obj->primarymoduleid); } return $return_obj; }