[ Index ]
 

Code source de vtiger CRM 5.0.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/modules/Reports/ -> Save.php (source)

   1  <?php
   2  /*********************************************************************************
   3  ** The contents of this file are subject to the vtiger CRM Public License Version 1.0
   4   * ("License"); You may not use this file except in compliance with the License
   5   * The Original Code is:  vtiger CRM Open Source
   6   * The Initial Developer of the Original Code is vtiger.
   7   * Portions created by vtiger are Copyright (C) vtiger.
   8   * All Rights Reserved.
   9  *
  10   ********************************************************************************/
  11  require_once ('modules/Reports/Reports.php');
  12  require_once ('include/logging.php');
  13  require_once ('include/database/PearDatabase.php');
  14  global $adb;
  15  global $log;
  16  $reportid = $_REQUEST["record"];
  17  
  18  //<<<<<<<selectcolumn>>>>>>>>>
  19  $selectedcolumnstring = $_REQUEST["selectedColumnsString"];
  20  //<<<<<<<selectcolumn>>>>>>>>>
  21  
  22  //<<<<<<<reportsortcol>>>>>>>>>
  23  $sort_by1 = $_REQUEST["Group1"];
  24  $sort_order1 = $_REQUEST["Sort1"];
  25  $sort_by2 = $_REQUEST["Group2"];
  26  $sort_order2 = $_REQUEST["Sort2"];
  27  $sort_by3 = $_REQUEST["Group3"];
  28  $sort_order3 = $_REQUEST["Sort3"];
  29  //<<<<<<<reportsortcol>>>>>>>>>
  30  
  31  //<<<<<<<reportmodules>>>>>>>>>
  32  $pmodule = $_REQUEST["primarymodule"];
  33  $smodule = $_REQUEST["secondarymodule"];
  34  //<<<<<<<reportmodules>>>>>>>>>
  35  
  36  //<<<<<<<report>>>>>>>>>
  37  $reportname = $_REQUEST["reportName"];
  38  $reportdescription = $_REQUEST["reportDesc"];
  39  $reporttype = $_REQUEST["reportType"];
  40  $folderid = $_REQUEST["folder"];
  41  //<<<<<<<report>>>>>>>>>
  42  
  43  //<<<<<<<standarfilters>>>>>>>>>
  44  $stdDateFilterField = $_REQUEST["stdDateFilterField"];
  45  $stdDateFilter = $_REQUEST["stdDateFilter"];
  46  $startdate = $_REQUEST["startdate"];
  47  $enddate = $_REQUEST["enddate"];
  48  //<<<<<<<standardfilters>>>>>>>>>
  49  
  50  //<<<<<<<columnstototal>>>>>>>>>>
  51  $allKeys = array_keys($HTTP_POST_VARS);
  52  for ($i=0;$i<count($allKeys);$i++)
  53  {
  54     $string = substr($allKeys[$i], 0, 3);
  55     if($string == "cb:")
  56     {
  57         $columnstototal[] = $allKeys[$i];
  58     }
  59  }
  60  //<<<<<<<columnstototal>>>>>>>>>
  61  
  62  //<<<<<<<advancedfilter>>>>>>>>
  63  //$adv_filter_col = "kcol";
  64  $allKeys = array_keys($HTTP_POST_VARS);
  65  for ($i=0;$i<count($allKeys);$i++)
  66  {
  67     $string = substr($allKeys[$i], 0, 4);
  68     if($string == "fcol")
  69     {
  70         $adv_filter_col[] = $_REQUEST[$allKeys[$i]];
  71     }
  72  }
  73  for ($i=0;$i<count($allKeys);$i++)
  74  {
  75     $string = substr($allKeys[$i], 0, 3);
  76     if($string == "fop")
  77     {
  78             $adv_filter_option[] = $_REQUEST[$allKeys[$i]];
  79     }
  80  }
  81  for ($i=0;$i<count($allKeys);$i++)
  82  {
  83     $string = substr($allKeys[$i], 0, 4);
  84     if($string == "fval")
  85     {
  86             $adv_filter_value[] = $_REQUEST[$allKeys[$i]];
  87     }
  88  }
  89  //<<<<<<<advancedfilter>>>>>>>>
  90  if($reportid == "")
  91  {
  92      $genQueryId = $adb->getUniqueID("vtiger_selectquery");
  93      if($genQueryId != "")
  94      {
  95          $iquerysql = "insert into vtiger_selectquery (QUERYID,STARTINDEX,NUMOFOBJECTS) values (".$genQueryId.",0,0)";
  96          $iquerysqlresult = $adb->query($iquerysql);
  97          $log->info("Reports :: Save->Successfully saved vtiger_selectquery");
  98          if($iquerysqlresult!=false)
  99          {
 100              //<<<<step2 vtiger_selectcolumn>>>>>>>>
 101              if($selectedcolumnstring != "")
 102              {
 103                  $selectedcolumns = explode(";",$selectedcolumnstring);
 104                  for($i=0 ;$i< count($selectedcolumns) -1 ;$i++)
 105                  {
 106                      $icolumnsql = "insert into vtiger_selectcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) values (".$genQueryId.",".$i.",'".$selectedcolumns[$i]."')";
 107                      $icolumnsqlresult = $adb->query($icolumnsql);
 108                  }
 109              }
 110              $log->info("Reports :: Save->Successfully saved vtiger_selectcolumn");
 111              //<<<<step2 vtiger_selectcolumn>>>>>>>>
 112  
 113              if($genQueryId != "")
 114              {
 115                  $ireportsql = "insert into vtiger_report (REPORTID,FOLDERID,REPORTNAME,DESCRIPTION,REPORTTYPE,QUERYID,STATE)";
 116                  $ireportsql .= " values (".$genQueryId.",".$folderid.",'".$reportname."','".$reportdescription."','".$reporttype."',".$genQueryId.",'CUSTOM')";
 117                  $ireportresult = $adb->query($ireportsql);
 118                  $log->info("Reports :: Save->Successfully saved vtiger_report");
 119                  if($ireportresult!=false)
 120                  {
 121                      //<<<<reportmodules>>>>>>>
 122                      $ireportmodulesql = "insert into vtiger_reportmodules (REPORTMODULESID,PRIMARYMODULE,SECONDARYMODULES) values (".$genQueryId.",'".$pmodule."','".$smodule."')";
 123                      $ireportmoduleresult = $adb->query($ireportmodulesql);
 124                      $log->info("Reports :: Save->Successfully saved vtiger_reportmodules");
 125                      //<<<<reportmodules>>>>>>>
 126  
 127                      //<<<<step3 vtiger_reportsortcol>>>>>>>
 128                      if($sort_by1 != "")
 129                      {
 130                          $sort_by1sql = "insert into vtiger_reportsortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) values (1,".$genQueryId.",'".$sort_by1."','".$sort_order1."')";
 131                          $sort_by1result = $adb->query($sort_by1sql);
 132                      }
 133                      if($sort_by2 != "")
 134                      {
 135                          $sort_by2sql = "insert into vtiger_reportsortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) values (2,".$genQueryId.",'".$sort_by2."','".$sort_order2."')";
 136                          $sort_by2result = $adb->query($sort_by2sql);
 137                      }
 138                      if($sort_by3 != "")
 139                      {
 140                          $sort_by3sql = "insert into vtiger_reportsortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) values (3,".$genQueryId.",'".$sort_by3."','".$sort_order3."')";
 141                          $sort_by3result = $adb->query($sort_by3sql);
 142                      }
 143                      $log->info("Reports :: Save->Successfully saved vtiger_reportsortcol");
 144                      //<<<<step3 vtiger_reportsortcol>>>>>>>
 145  
 146                      //<<<<step5 standarfilder>>>>>>>
 147                      $ireportmodulesql = "insert into vtiger_reportdatefilter (DATEFILTERID,DATECOLUMNNAME,DATEFILTER,STARTDATE,ENDDATE) values (".$genQueryId.",'".$stdDateFilterField."','".$stdDateFilter."','".$startdate."','".$enddate."')";
 148                      $ireportmoduleresult = $adb->query($ireportmodulesql);
 149                      $log->info("Reports :: Save->Successfully saved vtiger_reportdatefilter");
 150                      //<<<<step5 standarfilder>>>>>>>
 151  
 152                      //<<<<step4 columnstototal>>>>>>>
 153                      for ($i=0;$i<count($columnstototal);$i++)
 154                      {
 155                          $ireportsummarysql = "insert into vtiger_reportsummary (REPORTSUMMARYID,SUMMARYTYPE,COLUMNNAME) values (".$genQueryId.",".$i.",'".$columnstototal[$i]."')";
 156                          $ireportsummaryresult = $adb->query($ireportsummarysql);
 157                      }
 158                      $log->info("Reports :: Save->Successfully saved vtiger_reportsummary");
 159                      //<<<<step4 columnstototal>>>>>>>
 160  
 161                      //<<<<step5 advancedfilter>>>>>>>
 162                      for ($i=0;$i<count($adv_filter_col);$i++)
 163                      {
 164                          $irelcriteriasql = "insert into vtiger_relcriteria(QUERYID,COLUMNINDEX,COLUMNNAME,COMPARATOR,VALUE) values (".$genQueryId.",".$i.",'".$adv_filter_col[$i]."','".$adv_filter_option[$i]."','".$adv_filter_value[$i]."')";
 165                          $irelcriteriaresult = $adb->query($irelcriteriasql);
 166                      }
 167                      $log->info("Reports :: Save->Successfully saved vtiger_relcriteria");
 168                      //<<<<step5 advancedfilter>>>>>>>
 169  
 170                  }else
 171                  {
 172                      $errormessage = "<font color='red'><B>Error Message<ul>
 173                          <li><font color='red'>Error while inserting the record</font>
 174                          </ul></B></font> <br>" ;
 175                      echo $errormessage;
 176                      die;
 177                  }
 178              }
 179          }else
 180          {
 181              $errormessage = "<font color='red'><B>Error Message<ul>
 182                  <li><font color='red'>Error while inserting the record</font>
 183                  </ul></B></font> <br>" ;
 184              echo $errormessage;
 185              die;
 186          }
 187          echo '<script>window.opener.location.href =window.opener.location.href;self.close();</script>';
 188      }
 189  }else
 190  {
 191      if($reportid != "")
 192      {
 193          if($selectedcolumnstring != "")
 194          {
 195              $idelcolumnsql = "delete from vtiger_selectcolumn where queryid=".$reportid;
 196              $idelcolumnsqlresult = $adb->query($idelcolumnsql);
 197              if($idelcolumnsqlresult != false)
 198              {
 199                  $selectedcolumns = explode(";",$selectedcolumnstring);
 200                  for($i=0 ;$i< count($selectedcolumns) -1 ;$i++)
 201                  {
 202                      $icolumnsql = "insert into vtiger_selectcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) values (".$reportid.",".$i.",'".$selectedcolumns[$i]."')";
 203                      $icolumnsqlresult = $adb->query($icolumnsql);
 204                  }
 205              }
 206          }
 207  
 208          $ireportsql = "update vtiger_report set";
 209          $ireportsql .= " REPORTNAME='".$reportname."',";
 210          $ireportsql .= " DESCRIPTION='".$reportdescription."',";
 211          $ireportsql .= " REPORTTYPE='".$reporttype."'";
 212          $ireportsql .= " where REPORTID=".$reportid;
 213          $ireportresult = $adb->query($ireportsql);
 214          $log->info("Reports :: Save->Successfully saved vtiger_report");
 215  
 216          $idelreportsortcolsql = "delete from vtiger_reportsortcol where reportid=".$reportid;
 217          $idelreportsortcolsqlresult = $adb->query($idelreportsortcolsql);
 218          $log->info("Reports :: Save->Successfully deleted vtiger_reportsortcol");
 219  
 220          if($idelreportsortcolsqlresult!=false)
 221          {
 222              //<<<<step3 vtiger_reportsortcol>>>>>>>
 223              if($sort_by1 != "")
 224              {
 225                  $sort_by1sql = "insert into vtiger_reportsortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) values (1,".$reportid.",'".$sort_by1."','".$sort_order1."')";
 226                  $sort_by1result = $adb->query($sort_by1sql);
 227              }
 228              if($sort_by2 != "")
 229              {
 230                  $sort_by2sql = "insert into vtiger_reportsortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) values (2,".$reportid.",'".$sort_by2."','".$sort_order2."')";
 231                  $sort_by2result = $adb->query($sort_by2sql);
 232              }
 233              if($sort_by3 != "")
 234              {
 235                  $sort_by3sql = "insert into vtiger_reportsortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) values (3,".$reportid.",'".$sort_by3."','".$sort_order3."')";
 236                  $sort_by3result = $adb->query($sort_by3sql);
 237              }
 238              $log->info("Reports :: Save->Successfully saved vtiger_reportsortcol");
 239              //<<<<step3 vtiger_reportsortcol>>>>>>>
 240  
 241              $idelreportdatefiltersql = "delete from vtiger_reportdatefilter where datefilterid=".$reportid;
 242              $idelreportdatefiltersqlresult = $adb->query($idelreportdatefiltersql);
 243  
 244              //<<<<step5 standarfilder>>>>>>>
 245              $ireportmodulesql = "insert into vtiger_reportdatefilter (DATEFILTERID,DATECOLUMNNAME,DATEFILTER,STARTDATE,ENDDATE) values (".$reportid.",'".$stdDateFilterField."','".$stdDateFilter."','".$startdate."','".$enddate."')";
 246              $ireportmoduleresult = $adb->query($ireportmodulesql);
 247              $log->info("Reports :: Save->Successfully saved vtiger_reportdatefilter");
 248              //<<<<step5 standarfilder>>>>>>>
 249  
 250              //<<<<step4 columnstototal>>>>>>>
 251              $idelreportsummarysql = "delete from vtiger_reportsummary where reportsummaryid=".$reportid;
 252              $idelreportsummarysqlresult = $adb->query($idelreportsummarysql);
 253  
 254              for ($i=0;$i<count($columnstototal);$i++)
 255              {
 256                  $ireportsummarysql = "insert into vtiger_reportsummary (REPORTSUMMARYID,SUMMARYTYPE,COLUMNNAME) values (".$reportid.",".$i.",'".$columnstototal[$i]."')";
 257                  $ireportsummaryresult = $adb->query($ireportsummarysql);
 258              }
 259              $log->info("Reports :: Save->Successfully saved vtiger_reportsummary");
 260              //<<<<step4 columnstototal>>>>>>>
 261  
 262  
 263              //<<<<step5 advancedfilter>>>>>>>
 264  
 265              $idelrelcriteriasql = "delete from vtiger_relcriteria where queryid=".$reportid;
 266              $idelrelcriteriasqlresult = $adb->query($idelrelcriteriasql);
 267  
 268              for ($i=0;$i<count($adv_filter_col);$i++)
 269              {
 270                  $irelcriteriasql = "insert into vtiger_relcriteria(QUERYID,COLUMNINDEX,COLUMNNAME,COMPARATOR,VALUE) values (".$reportid.",".$i.",'".$adv_filter_col[$i]."','".$adv_filter_option[$i]."','".$adv_filter_value[$i]."')";
 271                  $irelcriteriaresult = $adb->query($irelcriteriasql);
 272              }
 273              $log->info("Reports :: Save->Successfully saved vtiger_relcriteria");
 274              //<<<<step5 advancedfilter>>>>>>>
 275  
 276          }else
 277          {
 278              $errormessage = "<font color='red'><B>Error Message<ul>
 279                  <li><font color='red'>Error while inserting the record</font>
 280                  </ul></B></font> <br>" ;
 281              echo $errormessage;
 282              die;
 283          }
 284      }else
 285      {
 286          $errormessage = "<font color='red'><B>Error Message<ul>
 287              <li><font color='red'>Error while inserting the record</font>
 288              </ul></B></font> <br>" ;
 289          echo $errormessage;
 290          die;
 291      }
 292      echo '<script>window.opener.location.href = window.opener.location.href;self.close();</script>';
 293  }
 294  ?>


Généré le : Sun Feb 25 10:22:19 2007 par Balluche grâce à PHPXref 0.7