Example #1
0
 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}");
     }
 }
Example #2
0
 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);
 }
Example #3
0
 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__);
 }
Example #4
0
 /**
  * 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);
 }
Example #5
0
 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}");
 }
Example #6
0
 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;
 }