function GenerateObj($report, $qf_field = "") { $this->setCurrentLanguage4You(); $this->setCurrentModule4You(); $rootDirectory = vglobal('root_directory'); $test_reports4you = $rootDirectory . $this->temp_files_path; if (!file_exists($test_reports4you)) { mkdir($test_reports4you, 0777, true); } $this->time_debug = false; define("GT_START", time()); //define("G_DEBUG", true); define("G_DEBUG", false); if (G_DEBUG) { ITS4YouReports::sshow("START T"); $this->getGObjDifTime(); } $this->ui10_fields = array(); $this->report_obj = $report; $this->reports4you_type = $report->reportinformations["reporttype"]; if (isset($this->reports4you_type) && $this->reports4you_type == "custom_report") { $custom_sql = ITS4YouReports::validateCustomSql($report->reportinformations["custom_sql"], 'run'); $this->tf_sql = $custom_sql; } else { $this->generateQuery($this->report_obj, $qf_field); $this->summaries_labels = array(); // setup currency array $adb = PearDatabase::getInstance(); $this->currency_symbols = array(); $currencyres = $adb->pquery("SELECT id, currency_symbol FROM vtiger_currency_info ", array()); $nocurrency = $adb->num_rows($currencyres); if ($nocurrency > 0) { while ($currency_row = $adb->fetch_array($currencyres)) { $this->currency_symbols[$currency_row["id"]] = $currency_row["currency_symbol"]; } } } }
public static function ReportCustomSql(Vtiger_Request $request, $viewer) { $moduleName = $request->getModule(); $record = $request->get('record'); $mode = $request->get('mode'); $adb = PearDatabase::getInstance(); $current_user = Users_Record_Model::getCurrentUserModel(); $viewer->assign("MODULE", $moduleName); $record = $request->get('record'); $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record); $viewer->assign("RECORDID", $record); $report_custom_sql = ITS4YouReports::validateCustomSql($reportModel->report->reportinformations["custom_sql"]); $viewer->assign("REPORT_CUSTOM_SQL", $report_custom_sql); return $viewer->view("ReportCustomSQL.tpl", $moduleName, true); }
/** * 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); }