mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-23 00:43:48 +01:00
LSattr_ldap::naiveDate: Add format option
This commit is contained in:
parent
eccb234210
commit
8dbbda801a
2 changed files with 43 additions and 4 deletions
|
@ -6,4 +6,35 @@
|
|||
une <emphasis>timezone</emphasis>, cependant celle-ci sera complètement ignorée.
|
||||
Ce type peut-être utilisé à la place du type &LSattr_ldap_date;.</para>
|
||||
|
||||
<programlisting linenumbering="unnumbered">
|
||||
<citetitle>Structure</citetitle><![CDATA[...
|
||||
'ldap_options' => array (
|
||||
'format' => '[Format de stockage]', // Default : "%Y%m%d%H%M%SZ"
|
||||
),
|
||||
...]]>
|
||||
</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<title>Paramètres de configuration</title>
|
||||
|
||||
<varlistentry>
|
||||
<term>format</term>
|
||||
<listitem>
|
||||
<para>Format de stockage de la date dans l'annuaire. Ce format est composé à
|
||||
partir des motifs clés gérés par la fonction <function>strftime()</function>
|
||||
de &php;. Pour plus d'information, consulter
|
||||
<ulink url='http://www.php.net/strftime'>la documentation officielle</ulink>.
|
||||
<note><simpara>La valeur par défaut est <emphasis>%Y%m%d%H%M%SZ</emphasis>,
|
||||
correspondant à la syntaxe <literal>Generalized Time</literal> (sans les
|
||||
micro-secondes) telle que définie dans la
|
||||
<ulink url='https://tools.ietf.org/html/rfc4517'>RFC4517</ulink>. Exemples :
|
||||
<literal>20091206230506Z</literal>
|
||||
<emphasis>(=2009/12/06 23:05:66 UTC)</emphasis>.</simpara></note>
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
||||
|
|
|
@ -28,8 +28,6 @@
|
|||
*/
|
||||
class LSattr_ldap_naiveDate extends LSattr_ldap {
|
||||
|
||||
const FORMAT = "%Y%m%d%H%M%S";
|
||||
|
||||
/**
|
||||
* Return the display value of the attribute after handling is LDAP type
|
||||
*
|
||||
|
@ -40,7 +38,7 @@ class LSattr_ldap_naiveDate extends LSattr_ldap {
|
|||
public function getDisplayValue($data) {
|
||||
$retval = array();
|
||||
foreach(ensureIsArray($data) as $val) {
|
||||
$date = strptime($val, self::FORMAT);
|
||||
$date = strptime($val, $this -> getFormat());
|
||||
if (is_array($date)) {
|
||||
$retval[] = mktime(
|
||||
$date['tm_hour'],
|
||||
|
@ -65,9 +63,19 @@ class LSattr_ldap_naiveDate extends LSattr_ldap {
|
|||
public function getUpdateData($data) {
|
||||
$retval = array();
|
||||
foreach(ensureIsArray($data) as $val) {
|
||||
$retval[] = strftime(self::FORMAT, $val).'Z';
|
||||
$retval[] = strftime($this -> getFormat(), $val);
|
||||
}
|
||||
return $retval;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the storage format of the date (as accept by strptime()/strftime())
|
||||
*
|
||||
* @retval string the storage format of the date
|
||||
**/
|
||||
public function getFormat() {
|
||||
return $this -> getConfig('ldap_options.format', "%Y%m%d%H%M%SZ");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue