[ Index ]
 

Code source de vtiger CRM 5.0.2

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

title

Body

[fermer]

/modules/CustomView/ -> 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 ('include/logging.php');
  12  require_once ('include/database/PearDatabase.php');
  13  global $adb;
  14  global $log;
  15  
  16  $cvid = (int) $_REQUEST["record"];
  17  $cvmodule = $_REQUEST["cvmodule"];
  18  $parenttab = $_REQUEST["parenttab"];
  19  $return_action = $_REQUEST["return_action"];
  20  if($cvmodule != "")
  21  {
  22      $viewname = $_REQUEST["viewName"];
  23      if(isset($_REQUEST["setDefault"]))
  24      {
  25        $setdefault = 1;
  26      }else
  27      {
  28        $setdefault = 0;
  29      }
  30  
  31      if(isset($_REQUEST["setMetrics"]))
  32          {
  33            $setmetrics = 1;
  34          }else
  35          {
  36            $setmetrics = 0;
  37          }
  38  
  39       $allKeys = array_keys($HTTP_POST_VARS);
  40  
  41      //<<<<<<<columns>>>>>>>>>>
  42      for ($i=0;$i<count($allKeys);$i++)
  43      {
  44         $string = substr($allKeys[$i], 0, 6);
  45         if($string == "column")
  46         {
  47                 $columnslist[] = $_REQUEST[$allKeys[$i]];
  48            }
  49      }
  50      //<<<<<<<columns>>>>>>>>>
  51  
  52      //<<<<<<<standardfilters>>>>>>>>>
  53      $stdfiltercolumn = $_REQUEST["stdDateFilterField"];
  54      $std_filter_list["columnname"] = $stdfiltercolumn;
  55      $stdcriteria = $_REQUEST["stdDateFilter"];
  56      $std_filter_list["stdfilter"] = $stdcriteria;
  57      $startdate = $_REQUEST["startdate"];
  58      $std_filter_list["startdate"] = $startdate;
  59      $enddate = $_REQUEST["enddate"];
  60      $std_filter_list["enddate"]=$enddate;
  61      //<<<<<<<standardfilters>>>>>>>>>
  62  
  63      //<<<<<<<advancedfilter>>>>>>>>>
  64      for ($i=0;$i<count($allKeys);$i++)
  65      {
  66         $string = substr($allKeys[$i], 0, 4);
  67         if($string == "fcol")
  68            {
  69                 $adv_filter_col[] = $_REQUEST[$allKeys[$i]];
  70            }
  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  
  91      if(!$cvid)
  92      {
  93          $genCVid = $adb->getUniqueID("vtiger_customview");
  94          if($genCVid != "")
  95          {
  96  
  97              if($setdefault == 1)
  98              {
  99                  $updatedefaultsql = "UPDATE vtiger_customview SET setdefault = 0 WHERE entitytype = ".$adb->quote($cvmodule);
 100                  $updatedefaultresult = $adb->query($updatedefaultsql);
 101              }
 102              $log->info("CustomView :: Save :: setdefault upated successfully");
 103  
 104              $customviewsql = "INSERT INTO vtiger_customview(cvid, viewname,
 105                          setdefault, setmetrics,
 106                          entitytype)
 107                      VALUES (".$genCVid.",".$adb->quote($viewname).",
 108                          ".$setdefault.",".$setmetrics.",
 109                          ".$adb->quote($cvmodule).")";
 110              $customviewresult = $adb->query($customviewsql);
 111              $log->info("CustomView :: Save :: vtiger_customview created successfully");
 112              if($customviewresult)
 113              {
 114                  if(isset($columnslist))
 115                  {
 116                      for($i=0;$i<count($columnslist);$i++)
 117                      {
 118                          $columnsql = "INSERT INTO vtiger_cvcolumnlist (cvid, columnindex, columnname)
 119                              VALUES (".$genCVid.", ".$i.", ".$adb->quote($columnslist[$i]).")";
 120                          $columnresult = $adb->query($columnsql);
 121                      }
 122                      $log->info("CustomView :: Save :: vtiger_cvcolumnlist created successfully");
 123  
 124                      $stdfiltersql = "INSERT INTO vtiger_cvstdfilter
 125                                  (cvid,
 126                                  columnname,
 127                                  stdfilter,
 128                                  startdate,
 129                                  enddate)
 130                              VALUES
 131                                  (".$genCVid.",
 132                                  ".$adb->quote($std_filter_list["columnname"]).",
 133                                  
 134                                  ".$adb->quote($std_filter_list["stdfilter"]).",
 135                                  ".$adb->formatDate($std_filter_list["startdate"]).",
 136                                  ".$adb->formatDate($std_filter_list["enddate"]).")";
 137                      $stdfilterresult = $adb->query($stdfiltersql);
 138                      $log->info("CustomView :: Save :: vtiger_cvstdfilter created successfully");
 139                      for($i=0;$i<count($adv_filter_col);$i++)
 140                      {
 141                          $advfiltersql = "INSERT INTO vtiger_cvadvfilter
 142                                  (cvid,
 143                                  columnindex,
 144                                  columnname,
 145                                  comparator,
 146                                  value)
 147                              VALUES
 148                                  (".$genCVid.",
 149                                  ".$i.",
 150                                  ".$adb->quote($adv_filter_col[$i]).",
 151                                  ".$adb->quote($adv_filter_option[$i]).",
 152                                  ".$adb->quote($adv_filter_value[$i]).")";
 153                          $advfilterresult = $adb->query($advfiltersql);
 154                      }
 155                      $log->info("CustomView :: Save :: vtiger_cvadvfilter created successfully");
 156                  }
 157              }
 158              $cvid = $genCVid;
 159          }
 160      }else
 161      {
 162  
 163          if($setdefault == 1)
 164          {
 165              $updatedefaultsql = "UPDATE vtiger_customview SET setdefault = 0 WHERE entitytype = ".$adb->quote($cvmodule);
 166              $updatedefaultresult = $adb->query($updatedefaultsql);
 167          }
 168          $log->info("CustomView :: Save :: setdefault upated successfully".$genCVid);
 169          $updatecvsql = "UPDATE vtiger_customview
 170                  SET viewname = ".$adb->quote($viewname).",
 171                      setdefault = ".$setdefault.",
 172                      setmetrics = ".$setmetrics."
 173                  WHERE cvid = ".$cvid;
 174          $updatecvresult = $adb->query($updatecvsql);
 175          $log->info("CustomView :: Save :: vtiger_customview upated successfully".$genCVid);
 176          $deletesql = "DELETE FROM vtiger_cvcolumnlist WHERE cvid = ".$cvid;
 177          $deleteresult = $adb->query($deletesql);
 178  
 179          $deletesql = "DELETE FROM vtiger_cvstdfilter WHERE cvid = ".$cvid;
 180          $deleteresult = $adb->query($deletesql);
 181  
 182          $deletesql = "DELETE FROM vtiger_cvadvfilter WHERE cvid = ".$cvid;
 183          $deleteresult = $adb->query($deletesql);
 184          $log->info("CustomView :: Save :: vtiger_cvcolumnlist,cvstdfilter,cvadvfilter deleted successfully before update".$genCVid);
 185  
 186          $genCVid = $cvid;
 187          if($updatecvresult)
 188          {
 189              if(isset($columnslist))
 190              {
 191                  for($i=0;$i<count($columnslist);$i++)
 192                  {
 193                      $columnsql = "INSERT INTO vtiger_cvcolumnlist (cvid, columnindex, columnname)
 194                          VALUES (".$genCVid.", ".$i.", ".$adb->quote($columnslist[$i]).")";
 195                      $columnresult = $adb->query($columnsql);
 196                  }
 197                  $log->info("CustomView :: Save :: vtiger_cvcolumnlist update successfully".$genCVid);
 198                  $stdfiltersql = "INSERT INTO vtiger_cvstdfilter
 199                              (cvid,
 200                              columnname,
 201                              stdfilter,
 202                              startdate,
 203                              enddate)
 204                          VALUES
 205                              (".$genCVid.",
 206                              ".$adb->quote($std_filter_list["columnname"]).",
 207                              ".$adb->quote($std_filter_list["stdfilter"]).",
 208                              ".$adb->formatDate($std_filter_list["startdate"]).",
 209                              ".$adb->formatDate($std_filter_list["enddate"]).")";
 210                  $stdfilterresult = $adb->query($stdfiltersql);
 211                  $log->info("CustomView :: Save :: vtiger_cvstdfilter update successfully".$genCVid);
 212                  for($i=0;$i<count($adv_filter_col);$i++)
 213                  {
 214                      $advfiltersql = "INSERT INTO vtiger_cvadvfilter
 215                                  (cvid,
 216                                  columnindex,
 217                                  columnname,
 218                                  comparator,
 219                                  value)
 220                              VALUES
 221                                  (".$genCVid.",
 222                                  ".$i.",
 223                                  ".$adb->quote($adv_filter_col[$i]).",
 224                                  ".$adb->quote($adv_filter_option[$i]).",
 225                                  ".$adb->quote($adv_filter_value[$i]).")";
 226                      $advfilterresult = $adb->query($advfiltersql);
 227                  }
 228                  $log->info("CustomView :: Save :: vtiger_cvadvfilter update successfully".$genCVid);
 229              }
 230          }
 231      }
 232  }
 233  
 234  header("Location: index.php?action=$return_action&parenttab=$parenttab&module=$cvmodule&viewname=$cvid");
 235  ?>


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