Lang file : Update lang french file
[ldapsaisie.git] / trunk / includes / class / class.LSattr_ldap_date.php
1 <?php
2 /*******************************************************************************
3  * Copyright (C) 2007 Easter-eggs
4  * http://ldapsaisie.labs.libre-entreprise.org
5  *
6  * Author: See AUTHORS file in top-level directory.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License version 2
10  * as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20
21 ******************************************************************************/
22
23 /**
24  * Type d'attribut Ldap date
25  *
26  */
27 class LSattr_ldap_date extends LSattr_ldap {
28
29   /**
30    * Retourne la valeur d'affichage de l'attribut après traitement lié à son type ldap
31    *
32    * @param[in] $data mixed La valeur de l'attribut
33    *
34    * @retval mixed La valeur d'affichage de l'attribut
35    */
36   function getDisplayValue($data) {
37     if(!is_array($data)) {
38       $data=array($data);
39     }
40     if ($this -> config['ldap_options']['timestamp']==1) {
41       return $data;
42     }
43     $retval=array();
44     foreach($data as $val) {
45       $date = strptime($val,$this -> getFormat());
46       if (is_array($date)) {
47         $retval[] = mktime($date['tm_hour'],$date['tm_min'],$date['tm_sec'],$date['tm_mon']+1,$date['tm_mday'],$date['tm_year']+1900); 
48       }
49     }
50     return $retval;
51   }
52
53   /**
54    * Retourne la valeur de l'attribut après traitement lié à son type ldap
55    *
56    * @param[in] $data mixed La valeur de l'attribut
57    *
58    * @retval mixed La valeur traitée de l'attribut
59    */
60   function getUpdateData($data) {
61     if ($this -> config['ldap_options']['timestamp']==1) {
62       return $data;
63     }
64     $retval=array();
65     if(is_array($data)) {
66       foreach($data as $val) {
67         $retval[] = strftime($this -> getFormat(),$val);
68       }
69     }
70     return $retval;
71   }
72   
73  /**
74   * Retourne le format de stockage de la date
75   * 
76   * @retval string Le format de la date
77   **/
78   function getFormat() {
79     if (isset($this -> config['ldap_options']['format'])) {
80       return $this -> config['ldap_options']['format'];
81     }
82     else {
83       return "%Y%m%d%H%M%SZ";
84     }
85   }
86 }
87
88 ?>