/[dolibarr]/dolibarr/htdocs/lib/webcal.class.php
ViewVC logotype

Diff of /dolibarr/htdocs/lib/webcal.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.16 by eldy, Sun Jul 10 02:05:09 2005 UTC revision 1.17 by eldy, Fri Sep 9 21:18:46 2005 UTC
# Line 22  Line 22 
22    
23  /**  /**
24          \file       htdocs/lib/webcal.class.php          \file       htdocs/lib/webcal.class.php
25          \ingroup    webcal          \ingroup    webcalendar
26                  \brief      Ensemble des fonctions permettant d'acceder a la database webcalendar.                  \brief      Ensemble des fonctions permettant d'acceder a la database webcalendar.
27                  \author     Rodolphe Quiedeville.                  \author     Rodolphe Quiedeville.
28                  \author     Laurent Destailleur.                  \author     Laurent Destailleur.
29                  \version    $Revision$                  \version    $Revision$
30  */  */
31    
 require_once (DOL_DOCUMENT_ROOT ."/lib/".$conf->webcal->db->type.".lib.php");  
   
32    
33  /**  /**
34          \class      Webcal          \class      Webcal
# Line 42  class Webcal { Line 40  class Webcal {
40      var $localdb;      var $localdb;
41    
42      var $date;      var $date;
43      var $duree = 0;      var $duree = 0;     // Secondes
44      var $texte;      var $texte;
45      var $desc;      var $desc;
46        
47      var $error;      var $error;
48    
49        
# Line 56  class Webcal { Line 55  class Webcal {
55          global $conf;          global $conf;
56                    
57          // On initie la connexion à la base Webcalendar          // On initie la connexion à la base Webcalendar
58            require_once (DOL_DOCUMENT_ROOT ."/lib/".$conf->webcal->db->type.".lib.php");
59          $this->localdb = new DoliDb(          $this->localdb = new DoliDb(
60                      $conf->webcal->db->type,                      $conf->webcal->db->type,
61                      $conf->webcal->db->host,                      $conf->webcal->db->host,
# Line 66  class Webcal { Line 66  class Webcal {
66    
67    
68      /**      /**
69                  \brief      Ajoute une entree dans le calendrier de l'utilisateur                  \brief      Ajoute objet en tant qu'entree dans le calendrier de l'utilisateur
70                  \param[in]  user                le login de l'utilisateur                  \param[in]  user                Le login de l'utilisateur
                 \param[in]  date                la date et l'heure de l'evenement dans le calendrier  
                 \param[in]  texte               le titre a indiquer dans l'evenement  
                 \param[in]  desc                la description a indiquer dans l'evenement  
71              \return     int         1 en cas de succès, -1,-2,-3 en cas d'erreur, -4 si login webcal non défini              \return     int         1 en cas de succès, -1,-2,-3 en cas d'erreur, -4 si login webcal non défini
72      */      */
73      function add($user, $date, $texte, $desc)      function add($user)
74  {  {
75          global $langs;          global $langs;
76                    
77          dolibarr_syslog("Webcal::add user=$user date=$date texte=$texte desc=$desc");          dolibarr_syslog("Webcal::add user=$user");
78            
79          // Test si login webcal défini pour le user          // Test si login webcal défini pour le user
80          if (! $user->webcal_login) {          if (! $user->webcal_login) {
81          $this->error=$langs->trans("ErrorWebcalLoginNotDefined","<a href=\"/user/fiche.php?id=".$user->id."\">".$user->login."</a>");              $this->error=$langs->trans("ErrorWebcalLoginNotDefined","<a href=\"".DOL_URL_ROOT."/user/fiche.php?id=".$user->id."\">".$user->login."</a>");
82          return -4;              return -4;
83          }          }
84                    
85            $this->localdb->begin();
86    
87          // Recupère l'id max+1 dans la base webcalendar          // Recupère l'id max+1 dans la base webcalendar
88          $id = $this->get_next_id();          $id = $this->get_next_id();
89                    
# Line 92  class Webcal { Line 91  class Webcal {
91          {          {
92              $cal_id = $id;              $cal_id = $id;
93              $cal_create_by = $user->webcal_login;              $cal_create_by = $user->webcal_login;
94              $cal_date = strftime('%Y%m%d', $date);              $cal_date = strftime('%Y%m%d', $this->date);
95              $cal_time = strftime('%H%M%S', $date);              $cal_time = strftime('%H%M%S', $this->date);
96              $cal_mod_date = strftime('%Y%m%d', time());              $cal_mod_date = strftime('%Y%m%d', time());
97              $cal_mod_time = strftime('%H%M%S', time());              $cal_mod_time = strftime('%H%M%S', time());
98              $cal_duration = $this->duree;              $cal_duration = round($this->duree / 60);
99              $cal_priority = 2;              $cal_priority = 2;
100              $cal_type = "E";              $cal_type = "E";
101              $cal_access = "P";              $cal_access = "P";
102              $cal_name = $texte;              $cal_name = $this->texte;
103              $cal_description = $desc;              $cal_description = $this->desc;
104                
105              $sql = "INSERT INTO webcal_entry (cal_id, cal_create_by,cal_date,cal_time,cal_mod_date,              $sql = "INSERT INTO webcal_entry (cal_id, cal_create_by,cal_date,cal_time,cal_mod_date, cal_mod_time,cal_duration,cal_priority,cal_type, cal_access, cal_name,cal_description)";
106                  cal_mod_time,cal_duration,cal_priority,cal_type, cal_access, cal_name,cal_description)";              $sql.= " VALUES ($cal_id, '$cal_create_by', '$cal_date', '$cal_time', '$cal_mod_date', '$cal_mod_time', $cal_duration, $cal_priority, '$cal_type', '$cal_access', '$cal_name','$cal_description')";
107                
             $sql .= " VALUES ($cal_id, '$cal_create_by', '$cal_date', '$cal_time', '$cal_mod_date', '$cal_mod_time',  
                 $cal_duration,$cal_priority,'$cal_type', '$cal_access', '$cal_name','$cal_description')";  
               
108              if ($this->localdb->query($sql))              if ($this->localdb->query($sql))
109                  {                  {
110                  $sql = "INSERT INTO webcal_entry_user (cal_id, cal_login, cal_status)";                  $sql = "INSERT INTO webcal_entry_user (cal_id, cal_login, cal_status)";
# Line 117  class Webcal { Line 113  class Webcal {
113                          if ( $this->localdb->query($sql) )                          if ( $this->localdb->query($sql) )
114                          {                          {
115                              // OK                              // OK
116                        $this->localdb->commit();
117                      return 1;                              return 1;        
118                          }                          }
119                          else                          else
120                          {                          {
121                        $this->localdb->rollback();
122                              $this->error = $this->localdb->error() . '<br>' .$sql;                              $this->error = $this->localdb->error() . '<br>' .$sql;
123                      return -1;                      return -1;
124                          }                          }
125                  }                  }
126              else              else
127                  {                  {
128                    $this->localdb->rollback();
129                  $this->error = $this->localdb->error() . '<br>' .$sql;                  $this->error = $this->localdb->error() . '<br>' .$sql;
130                  return -2;                  return -2;
131                  }                  }
132          }          }
133          else          else
134          {          {
135                $this->localdb->rollback();
136                  $this->error = $this->localdb->error() . '<br>' .$sql;                  $this->error = $this->localdb->error() . '<br>' .$sql;
137              return -3;              return -3;
138          }          }
# Line 141  class Webcal { Line 141  class Webcal {
141    
142      /**      /**
143                  \brief      Obtient l'id suivant dans le webcalendar                  \brief      Obtient l'id suivant dans le webcalendar
144                  \return     int     retourne l'id suivant dans le webcalendar ou -1 si erreur                  \return     int     Retourne l'id suivant dans webcalendar, <0 si ko
145      */      */
146      function get_next_id()      function get_next_id()
147      {      {
148          $sql = "SELECT max(cal_id) FROM webcal_entry";          $sql = "SELECT max(cal_id) as id FROM webcal_entry";
149    
150          if ($this->localdb->query($sql))          $resql=$this->localdb->query($sql);
151            if ($resql)
152          {          {
153              $id = $this->localdb->result(0, 0) + 1;              $obj=$this->localdb->fetch_object($resql);
154              return $id;              return ($obj->id + 1);
155          }          }
156          else          else
157          {          {
158              print $this->localdb->error();              $this->error=$this->localdb->error();
159              return -1;              return -1;
160          }          }
161      }      }

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26