Ejemplo n.º 1
0
 /**
  * Function exports the report in a Excel sheet
  * @param Vtiger_Request $request
  */
 function GetXLS(Vtiger_Request $request)
 {
     $recordId = $request->get('record');
     error_reporting(0);
     //error_reporting(63);ini_set("display_errors",1);
     if (ITS4YouReports::isStoredITS4YouReport() === true) {
         $ogReport = ITS4YouReports::getStoredITS4YouReport();
     } else {
         $ogReport = new ITS4YouReports();
     }
     $generateObj = new GenerateObj($ogReport);
     $report_data = $generateObj->GenerateReport($recordId, "XLS");
     //ITS4YouReports::sshow($report_data);
     //exit;
     $rootDirectory = vglobal('root_directory');
     $tmpDir = vglobal('tmp_dir');
     $tempFileName = tempnam($rootDirectory . $tmpDir, 'xls');
     $fileName = $ogReport->reportname . '.xls';
     $default_charset = vglobal("default_charset");
     $fileName = html_entity_decode($fileName, ENT_QUOTES, $default_charset);
     $generateObj->writeReportToExcelFile($tempFileName, $report_data);
     //ITS4YouReports::sshow($report_data);
     //exit;
     if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) {
         header('Pragma: public');
         header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
     }
     header('Content-Type: application/x-msexcel');
     header('Content-Length: ' . @filesize($tempFileName));
     header('Content-disposition: attachment; filename="' . $fileName . '"');
     $fp = fopen($tempFileName, 'rb');
     fpassthru($fp);
     //unlink($tempFileName);
     //echo "<pre>";print_r($report_data);echo "</pre>";
 }
Ejemplo n.º 2
0
 /**
  * Function deletes report
  * @param Reports_Record_Model $reportModel
  */
 function deleteRecord(Reports_Record_Model $reportModel)
 {
     $adb = PearDatabase::getInstance();
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $subOrdinateUsers = $currentUser->getSubordinateUsers();
     ITS4YouReports::sshow("deletujes !");
     exit;
     $subOrdinates = array();
     foreach ($subOrdinateUsers as $id => $name) {
         $subOrdinates[] = $id;
     }
     $owner = $reportModel->get('owner');
     if ($currentUser->isAdminUser() || in_array($owner, $subOrdinates) || $owner == $currentUser->getId()) {
         $reportId = $reportModel->getId();
         $db = PearDatabase::getInstance();
         $db->pquery('DELETE FROM vtiger_selectquery WHERE queryid = ?', array($reportId));
         $db->pquery('DELETE FROM vtiger_report WHERE reportid = ?', array($reportId));
         $db->pquery('DELETE FROM vtiger_scheduled_reports WHERE reportid = ?', array($reportId));
         $result = $db->pquery('SELECT * FROM vtiger_homereportchart WHERE reportid = ?', array($reportId));
         $numOfRows = $db->num_rows($result);
         for ($i = 0; $i < $numOfRows; $i++) {
             $homePageChartIdsList[] = $adb->query_result($result, $i, 'stuffid');
         }
         if ($homePageChartIdsList) {
             $deleteQuery = 'DELETE FROM vtiger_homestuff WHERE stuffid IN (' . implode(",", $homePageChartIdsList) . ')';
             $db->pquery($deleteQuery, array());
         }
         return true;
     }
     return false;
 }
Ejemplo n.º 3
0
 /**
  * Function returns Report Models for the folder
  * @param <Vtiger_Paging_Model> $pagingModel
  * @return <Reports_Record_Model>
  */
 function getReports($pagingModel, $search_params = array())
 {
     $paramsList = array('startIndex' => $pagingModel->getStartIndex(), 'pageLimit' => $pagingModel->getPageLimit(), 'orderBy' => $this->get('orderby'), 'sortBy' => $this->get('sortby'));
     //$reportClassInstance = Vtiger_Module_Model::getClassInstance('ITS4YouReports');
     $fldrId = $this->getId();
     if ($fldrId == 'All') {
         $fldrId = false;
         $paramsList = array('startIndex' => $pagingModel->getStartIndex(), 'pageLimit' => $pagingModel->getPageLimit(), 'orderBy' => $this->get('orderby'), 'sortBy' => $this->get('sortby'));
     }
     //$reportsList = $reportClassInstance->sgetRptsforFldr($fldrId, $paramsList);
     $reportsList = ITS4YouReports::sgetRptsforFldr($fldrId, $paramsList, $search_params);
     /*
      if(!$fldrId){
      foreach ($reportsList as $reportId => $reports) {
      $reportsCount += count($reports);
      }
      }else{
      $reportsCount = count($reportsList);
      }
     */
     $reportModuleModel = Vtiger_Module_Model::getInstance('ITS4YouReports');
     if ($fldrId == false) {
         return $this->getAllReportModels($reportsList, $reportModuleModel);
     } else {
         $reportModels = array();
         for ($i = 0; $i < count($reportsList); $i++) {
             $reportModel = new ITS4YouReports_Record_Model();
             $reportModel->setData($reportsList[$i])->setModuleFromInstance($reportModuleModel);
             $reportModels[] = $reportModel;
             unset($reportModel);
         }
         return $reportModels;
     }
 }
Ejemplo n.º 4
0
 public static function getInstance($reportid)
 {
     if (!isset(self::$instances[$reportid])) {
         if (ITS4YouReports::isStoredITS4YouReport() === true) {
             $ogReport = ITS4YouReports::getStoredITS4YouReport();
         } else {
             $ogReport = new ITS4YouReports();
         }
         self::$instances[$reportid] = new GenerateObj($ogReport);
     }
     return self::$instances[$reportid];
 }
Ejemplo n.º 5
0
        $SumOptionsR = $SumOptions2;
    }
    foreach ($SumOptionsR as $optgroup2 => $optionsdata2) {
        if ($BLOCK2 != "") {
            $BLOCK2 .= "(|@!@|)";
        }
        $BLOCK2 .= $optgroup2;
        $BLOCK2 .= "(|@|)";
        $BLOCK2 .= Zend_JSON::encode($optionsdata2);
    }
    $BLOCK2 = $BLOCK2 != '' ? $BLOCK2 : "EMPTY_RELS(|@!@|)" . $mod_strings['NO_REL_FIELDS'];
    $BLOCK_R .= "__BLOCKS__" . $BLOCK2;
} else {
    $secondarymodule = '';
    $secondarymodules = array();
    $ITS4YouReports = ITS4YouReports::getStoredITS4YouReport();
    $primarymodule = $ITS4YouReports->primarymodule;
    $reportid = $ITS4YouReports->record;
    if (!empty($ITS4YouReports->related_modules[$primarymodule])) {
        foreach ($ITS4YouReports->related_modules[$primarymodule] as $key => $value) {
            if (isset($_REQUEST["secondarymodule_" . $value])) {
                $secondarymodules[] = $_REQUEST["secondarymodule_" . $value];
            }
        }
    }
    $secondarymodule_arr = $ITS4YouReports->getReportRelatedModules($ITS4YouReports->primarymoduleid);
    foreach ($secondarymodule_arr as $key => $relmodule) {
        $a_secondarymodule[] = $relmodule['id'];
    }
    $secondarymodule = implode(":", $a_secondarymodule);
    $ITS4YouReports->getSecModuleColumnsList($secondarymodule);
Ejemplo n.º 6
0
/*+********************************************************************************
 * The content of this file is subject to the Reports 4 You license.
 * ("License"); You may not use this file except in compliance with the License
 * The Initial Developer of the Original Code is IT-Solutions4You s.r.o.
 * Portions created by IT-Solutions4You s.r.o. are Copyright(C) IT-Solutions4You s.r.o.
 * All Rights Reserved.
 ********************************************************************************/
echo "ides Import ";
exit;
require_once 'Smarty_setup.php';
require_once 'include/database/PearDatabase.php';
require_once 'include/utils/utils.php';
require_once 'include/utils/UserInfoUtil.php';
require_once 'modules/ITS4YouReports/ITS4YouReports.php';
global $currentModule;
$ITS4YouReports = new ITS4YouReports(false);
$reports_to_import = $ITS4YouReports->GetReports4YouForImport();
if (!empty($reports_to_import)) {
    foreach ($reports_to_import as $file_to_import) {
        $return = $ITS4YouReports->ImportReports4You($file_to_import);
        // WITH MYSQL DEBUG ImportReports4You($file_to_import,$debug)
        //$return = $ITS4YouReports->ImportReports4You($file_to_import,true);
        //echo "<tr><td align='left' valign='top' style='padding-left:40px;'>$file_to_import</td></tr>";
        echo "<tr><td align='left' valign='top' style='padding-left:40px;'>{$return}</td></tr>";
    }
} else {
    echo "<tr><td align='left' valign='top' style='padding-left:40px;'>" . getTranslatedString("LBL_ANY_TO_IMPORT", $currentModule) . "</td></tr>";
}
if (isset($_REQUEST["module"]) && $_REQUEST["module"] == "ITS4YouReports" && isset($_REQUEST["action"]) && $_REQUEST["module"] == "ImportReports4You") {
    echo '<meta http-equiv="refresh" content="3;index.php?module=ITS4YouReports&action=index&parenttab=Analytics">';
    exit;
Ejemplo n.º 7
0
 public static function runScheduledReports($adb)
 {
     require_once 'modules/com_vtiger_workflow/VTWorkflowUtils.php';
     $util = new VTWorkflowUtils();
     $adminUser = $util->adminUser();
     $scheduledReports = self::getScheduledReports($adminUser);
     $util->revertUser();
     foreach ($scheduledReports as $scheduledReport) {
         $ReportOwnerUser = ITS4YouReports::getReports4YouOwnerUser($scheduledReport->reportinformations["owner"]);
         //echo "<pre>";print_r($);echo "</pre>";exit;
         $scheduledReport->sendEmail($ReportOwnerUser);
         $scheduledReport->updateNextTriggerTime();
         $ReportOwnerUser = ITS4YouReports::revertSchedulerUser();
     }
 }
Ejemplo n.º 8
0
 public function getHeaderLabel($reportid, $type, $fldname, $column_str)
 {
     $headerLabel = "";
     global $default_charset;
     if ($column_str != "" && $reportid != "") {
         $adb = PEARDatabase::getInstance();
         $labelsql = "SELECT columnlabel FROM its4you_reports4you_labels WHERE reportid = ? and type = ? AND columnname=?";
         //$adb->setDebug(true);
         $labelres = $adb->pquery($labelsql, array($reportid, $type, html_entity_decode($column_str, ENT_QUOTES, $default_charset)));
         //$adb->setDebug(false);
         $numlabels = $adb->num_rows($labelres);
         if ($numlabels > 0) {
             while ($row = $adb->fetchByAssoc($labelres)) {
                 $headerLabel = $row["columnlabel"];
             }
         } else {
             $headerLabel = ITS4YouReports::getColumnStr_Label($column_str, $type);
         }
     }
     return $headerLabel;
 }
Ejemplo n.º 9
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);
 }
Ejemplo n.º 10
0
<?php

/*+********************************************************************************
 * The content of this file is subject to the Reports 4 You license.
 * ("License"); You may not use this file except in compliance with the License
 * The Initial Developer of the Original Code is IT-Solutions4You s.r.o.
 * Portions created by IT-Solutions4You s.r.o. are Copyright(C) IT-Solutions4You s.r.o.
 * All Rights Reserved.
 ********************************************************************************/
require_once 'modules/ITS4YouReports/ITS4YouReports.php';
$ITS4YouReports = new ITS4YouReports();
if (isset($_REQUEST['idlist']) && $_REQUEST['idlist'] != "") {
    if ($ITS4YouReports->CheckPermissions("DELETE") == false) {
        $ITS4YouReports->DieDuePermission();
    }
    $id_array = array();
    $idlist = trim($_REQUEST['idlist'], ";");
    $id_array = explode(";", $idlist);
    for ($i = 0; $i < count($id_array); $i++) {
        $ITS4YouReports->deleteReports4You($id_array[$i]);
    }
} elseif (isset($_REQUEST['record']) && $_REQUEST['record'] != "") {
    $recordid = vtlib_purify($_REQUEST['record']);
    $r_permitted = $ITS4YouReports->CheckReportPermissions($ITS4YouReports->primarymodule, $ITS4YouReports->record);
    $ITS4YouReports->deleteSingleReports4You();
}
header("Location:index.php?module=ITS4YouReports&action=index&parenttab=Tools");
exit;
Ejemplo n.º 11
0
<?php

/*+********************************************************************************
 * The content of this file is subject to the Reports 4 You license.
 * ("License"); You may not use this file except in compliance with the License
 * The Initial Developer of the Original Code is IT-Solutions4You s.r.o.
 * Portions created by IT-Solutions4You s.r.o. are Copyright(C) IT-Solutions4You s.r.o.
 * All Rights Reserved.
 ********************************************************************************/
require_once 'include/utils/utils.php';
require_once 'modules/ITS4YouReports/ITS4YouReports.php';
$return = ITS4YouReports::cleanITS4YouReportsCacheFiles();
echo $return;
exit;
Ejemplo n.º 12
0
 public function repairReportsTypes($reportid = "")
 {
     $adb = PearDatabase::getInstance();
     global $default_charset;
     $queryDebug = false;
     $queryDebug = true;
     $where = "";
     if ($reportid != "") {
         $where = " WHERE its4you_reports4you.reports4youid = ? ";
         $params[] = $reportid;
     }
     $ssql = "SELECT \n                reports4youid, \n                reporttype,\n                its4you_reports4you_sortcol.sortcolid, \n                its4you_reports4you_sortcol.timeline_type, \n                its4you_reports4you_sortcol.columnname columnname_sc , \n                its4you_reports4you_selectcolumn.columnname columnname_dt \n                \n                FROM its4you_reports4you \n                \n                LEFT JOIN its4you_reports4you_sortcol ON its4you_reports4you_sortcol.reportid = its4you_reports4you.reports4youid AND its4you_reports4you_sortcol.columnname!= 'none' AND its4you_reports4you_sortcol.sortcolid!= '4' \n                LEFT JOIN its4you_reports4you_summaries ON its4you_reports4you_summaries.reportsummaryid = its4you_reports4you.reports4youid \n                LEFT JOIN its4you_reports4you_selectcolumn ON its4you_reports4you_selectcolumn.queryid = its4you_reports4you.reports4youid\n                 \n                {$where} \n                 \n                GROUP BY \n                its4you_reports4you.reports4youid , \n                its4you_reports4you_sortcol.columnname\n                 \n                ORDER BY \n                its4you_reports4you.reports4youid ASC, \n                its4you_reports4you_sortcol.sortcolid ASC, \n                its4you_reports4you_selectcolumn.columnname ASC ";
     //WHERE its4you_reports4you.reports4youid IN (57, 58, 4, 11, 15, 34, 9, 36, 30, 32)
     $params = array();
     if ($reportid != "") {
         $ssql .= ' WHERE queryid = ? ';
         $params[] = $reportid;
     }
     $result = $adb->pquery($ssql, $params);
     $noOfColumns = $adb->num_rows($result);
     $check_array = array();
     if ($noOfColumns > 0) {
         while ($reportrow = $adb->fetchByAssoc($result)) {
             $reporttype = "";
             $reportid = $reportrow["reports4youid"];
             $timeline_type = $reportrow["timeline_type"];
             $columnname_sc = $reportrow["columnname_sc"];
             $columnname_dt = $reportrow["columnname_dt"];
             if ($columnname_sc != "") {
                 $check_array[$reportid]["columnname_sc"][] = $columnname_sc;
             }
             if ($columnname_dt != "") {
                 $check_array[$reportid]["columnname_dt"][] = $columnname_dt;
             }
             if ($timeline_type != "") {
                 $check_array[$reportid]["timeline_type"][] = $timeline_type;
             }
         }
         if (!empty($check_array)) {
             foreach ($check_array as $reportid => $report_array) {
                 $timeline_type = $report_array["timeline_type"];
                 $columnname_dt = $report_array["columnname_dt"];
                 $columnname_sc = $report_array["columnname_sc"];
                 /*
                 ITS4YouReports::sshow("START TYPIZATION");
                 ITS4YouReports::sshow($reportid);                    
                 ITS4YouReports::sshow($report_array);
                 */
                 if (empty($timeline_type)) {
                     // tabular
                     $reporttype = "tabular";
                     //ITS4YouReports::sshow($reporttype);
                     ITS4YouReports::repairReportType($reportid, $reporttype);
                     continue;
                 }
                 if (count($timeline_type) == 1 && !empty($columnname_dt)) {
                     $reporttype = "summaries_w_details";
                     //ITS4YouReports::sshow($reporttype);
                     ITS4YouReports::repairReportType($reportid, $reporttype);
                     continue;
                 }
                 if (in_array("cols", $timeline_type)) {
                     $reporttype = "summaries_matrix";
                     //ITS4YouReports::sshow($reporttype);
                     ITS4YouReports::repairReportType($reportid, $reporttype);
                     continue;
                 }
                 $reporttype = "summaries";
                 //ITS4YouReports::sshow($reporttype);
                 ITS4YouReports::repairReportType($reportid, $reporttype);
             }
         }
     }
     return true;
 }
Ejemplo n.º 13
0
global $adb;
$theme_path = "themes/" . $theme . "/";
$report_column = new vtigerCRM_Smarty();
$report_column->assign("MOD", $mod_strings);
$report_column->assign("APP", $app_strings);
$report_column->assign("IMAGE_PATH", $image_path);
$report_column->assign("THEME_PATH", $theme_path);
// ITS4YOU-CR SlOl 10. 9. 2013 16:13:47
$LBL_INFORMATIONS_4YOU = getTranslatedString("LBL_STEP10_INFO", $currentModule);
$report_column->assign("LBL_INFORMATIONS_4YOU", $LBL_INFORMATIONS_4YOU);
// ITS4YOU-END 10. 9. 2013 16:13:50
$recordid = "";
if (isset($_REQUEST["record"]) && $_REQUEST['record'] != '') {
    $recordid = vtlib_purify($_REQUEST["record"]);
}
$oReport = new ITS4YouReports();
$R_Objects = array();
if (isset($_REQUEST["selectedColumnsStr"])) {
    $R_Objects = explode("<_@!@_>", $_REQUEST["selectedColumnsStr"]);
    $r_p_module = vtlib_getModuleNameById(vtlib_purify($_REQUEST["primarymodule"]));
    $quick_columns_arraySelected = array();
    $qf_to_go = explode('$_@_$', vtlib_purify($_REQUEST["qf_to_go"]));
    foreach ($qf_to_go as $key => $qf_to_go_str) {
        $quick_columns_arraySelected[] = trim($qf_to_go_str, "qf:");
    }
} else {
    $sarray = $oReport->getSelectedColumnListArray($recordid);
    foreach ($sarray as $key => $scarray) {
        $R_Objects[] = $scarray["fieldcolname"];
    }
    $r_p_module = $oReport->primarymodule;
Ejemplo n.º 14
0
 function editReport(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     //ITS4YouReports::define_rt_vars(true,true);
     //ITS4YouReports::getR4UDifTime(1);
     $moduleName = $request->getModule();
     $record = $request->get('record');
     $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
     if (!$reportModel->has('folderid')) {
         $reportModel->set('folderid', $request->get('folder'));
     }
     $data = $request->getAll();
     foreach ($data as $name => $value) {
         $reportModel->set($name, $value);
     }
     if ($request->has("reporttype") && !$request->isEmpty("reporttype")) {
         $reportModel->set('reporttype', $request->get('reporttype'));
     }
     if ($record != "") {
         $viewer->assign('MODE', 'edit');
         $reporttype = $reportModel->getReportType();
     } else {
         $viewer->assign('MODE', 'create');
         $reporttype = $request->get('reporttype');
     }
     $viewer->assign('REPORTTYPE', $reporttype);
     global $current_user;
     $is_admin_user = is_admin($current_user);
     $viewer->assign('IS_ADMIN_USER', $is_admin_user);
     $viewer->assign("steps_display", "reportTab hide");
     //$viewer->assign("steps_display","reportTab");
     /* global $current_user;if($current_user->id=="1"){
        $viewer->assign("steps_display","reportTab");
        //ITS4YouReports::sshow($ReportColumnsTotal);
        } */
     $viewer->assign("cancel_btn_url", $reportModel->getCancelViewUrl());
     //ITS4YouReports::getR4UDifTime(2);
     if ($reporttype == "") {
         $viewer->view('ITS4YouReportsType.tpl', $moduleName);
     } else {
         $reportModuleModel = $reportModel->getModule();
         $viewer->assign("REPORTNAME", $reportModel->getName());
         $viewer->assign("REPORTDESC", $reportModel->getDesc());
         $viewer->assign("REP_FOLDERS", $reportModel->getReportFolders());
         $ReportSharing = ITS4YouReports_EditView_Model::ReportSharing($request, $viewer);
         $viewer->assign("REPORT_SHARING", $ReportSharing);
         $ReportScheduler = ITS4YouReports_EditView_Model::ReportScheduler($request, $viewer);
         $viewer->assign("REPORT_SCHEDULER", $ReportScheduler);
         //ITS4YouReports::getR4UDifTime(3);
         if ($reporttype == "custom_report") {
             if ($is_admin_user != 1) {
                 ITS4YouReports::DieDuePermission();
             }
             //                    ITS4YouReports::sshow($reporttype);
             $ReportCustomSQL = ITS4YouReports_EditView_Model::ReportCustomSql($request, $viewer);
             $viewer->assign("REPORT_CUSTOMSQL", $ReportCustomSQL);
             $viewer->view('EditCustom.tpl', $moduleName);
         } else {
             if ($request->get('isDuplicate')) {
                 $viewer->assign('isDuplicate', 'true');
             }
             $viewer->assign("PRIMARYMODULES", $reportModel->getPrimaryModules());
             //ITS4YouReports::getR4UDifTime(4);
             $ReportGrouping = ITS4YouReports_EditView_Model::ReportGrouping($request, $viewer);
             $viewer->assign("REPORT_GROUPING", $ReportGrouping);
             //ITS4YouReports::getR4UDifTime(5);
             $ReportColumns = ITS4YouReports_EditView_Model::ReportColumns($request, $viewer);
             $viewer->assign("REPORT_COLUMNS", $ReportColumns);
             //ITS4YouReports::getR4UDifTime(6);
             $ReportColumnsTotal = ITS4YouReports_EditView_Model::ReportColumnsTotal($request, $viewer);
             $viewer->assign("REPORT_COLUMNS_TOTAL", $ReportColumnsTotal);
             //ITS4YouReports::getR4UDifTime(7);
             $ReportLabels = ITS4YouReports_EditView_Model::ReportLabels($request, $viewer);
             $viewer->assign("REPORT_LABELS", $ReportLabels);
             //ITS4YouReports::getR4UDifTime(8);
             $ReportFilters = ITS4YouReports_EditView_Model::ReportFilters($request, $viewer);
             $viewer->assign("REPORT_FILTERS", $ReportFilters);
             //ITS4YouReports::getR4UDifTime(9);
             $ReportGraphs = ITS4YouReports_EditView_Model::ReportGraphs($request, $viewer);
             $viewer->assign("REPORT_GRAPHS", $ReportGraphs);
             //ITS4YouReports::getR4UDifTime(10);
             //exit;
             $viewer->view('Edit.tpl', $moduleName);
         }
     }
 }
Ejemplo n.º 15
0
 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);
 }
Ejemplo n.º 16
0
$subject = $ITS4YouReports_reportname . ' - ' . $currentTime . ' (' . DateTimeField::getDBTimeZone() . ')';
$contents = getTranslatedString('LBL_AUTO_GENERATED_REPORT_EMAIL', $currentModule) . '<br/><br/>';
$contents .= '<b>' . getTranslatedString('LBL_REPORT_NAME', $currentModule) . ' :</b> ' . $ITS4YouReports_reportname . '<br/>';
$contents .= '<b>' . getTranslatedString('LBL_DESCRIPTION', $currentModule) . ' :</b><br/>' . $ITS4YouReports_reportdesc . '<br/><br/>';
$vtigerMailer->Subject = "=?ISO-8859-15?Q?" . imap_8bit(html_entity_decode($subject, ENT_QUOTES, "UTF-8")) . "?=";
$vtigerMailer->Body = $contents;
$vtigerMailer->ContentType = "text/html";
$generate = new GenerateObj($ITS4YouReports);
//$reportFormat = $this->scheduledFormat;
$reportFormat = "pdf;xls";
$reportFormat = explode(";", $reportFormat);
$tmpDir = "test/ITS4YouReports/";
$attachments = array();
if (in_array('pdf', $reportFormat)) {
    $report_html = $generate->generateReport(90, "HTML", false);
    ITS4YouReports::sshow($report_html);
    exit;
    $generate_pdf_filename = $tmpDir . generate_cool_url($generate->pdf_filename);
    $fileName = $rootDirectory . $tempFileName . $generate->pdf_filename . '.xls';
    if ($generate_pdf_filename != "" && file_exists($generate_pdf_filename)) {
        $fileName_arr = explode(".", $generate->pdf_filename);
        $fileName_arr[0] .= '_' . preg_replace('/[^a-zA-Z0-9_-\\s]/', '', $currentTime);
        $fileName = implode(".", $fileName_arr);
        $attachments[$fileName] = $generate_pdf_filename;
    }
}
if (in_array('xls', $reportFormat)) {
    $report_data = $generate->generateReport(90, "XLS", false);
    $ITS4YouReports_xls = "Reports4You_1_90.xls";
    $fileName_arr = explode(".", $ITS4YouReports_xls);
    $fileName_arr[0] .= '_' . preg_replace('/[^a-zA-Z0-9_-\\s]/', '', $currentTime);
Ejemplo n.º 17
0
require_once 'modules/ITS4YouReports/ITS4YouReports.php';
global $app_strings;
global $app_list_strings;
global $mod_strings;
global $list_max_entries_per_page;
global $urlPrefix;
$log = LoggerManager::getLogger('report_list');
global $currentModule;
global $image_path;
global $theme;
global $focus_list;
$recordid = vtlib_purify($_REQUEST['record']);
$smarty_obj = new vtigerCRM_Smarty();
$smarty_obj->assign("MOD", $mod_strings);
$smarty_obj->assign("APP", $app_strings);
$ITS4YouReports = new ITS4YouReports();
if ($ITS4YouReports->record != "") {
    $r_permitted = $ITS4YouReports->CheckReportPermissions($ITS4YouReports->primarymodule, $ITS4YouReports->record);
}
// ITS4YOU-CR SlOl | 1.8.2014 16:10  block mode for Developer Only
$smarty_obj->assign("block_mode", "none");
//$smarty_obj->assign("block_mode", "block");
/*global $current_user;if($current_user->id=="1"){
	$smarty_obj->assign("block_mode", "block");
}*/
// ITS4YOU-END 1.8.2014 16:11
$smarty_obj->assign("currentModule", "{$currentModule}");
if (isset($_REQUEST['parenttab']) && $_REQUEST['parenttab'] != '') {
    $smarty_obj->assign("CATEGORY", $_REQUEST['parenttab']);
}
if ($recordid != '') {