LSattribute :: generateValue() : Fixed bug when generated value is an array.
[ldapsaisie.git] / public_html / includes / class / class.LSformElement_ssh_key.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 /**
25  * Element ssh_key d'un formulaire pour LdapSaisie
26  *
27  * Cette classe définis les éléments ssh_key des formulaires.
28  * Elle étend la classe basic LSformElement.
29  *
30  * @author Benjamin Renard <brenard@easter-eggs.com>
31  */
32
33 class LSformElement_ssh_key extends LSformElement {
34
35   var $template = 'LSformElement_ssh_key.tpl';
36   var $fieldTemplate = 'LSformElement_ssh_key_field.tpl';
37
38  /**
39   * Retourne les infos d'affichage de l'élément
40   * 
41   * Cette méthode retourne les informations d'affichage de l'élement
42   *
43   * @retval array
44   */
45   function getDisplay(){
46     LSsession :: addCssFile('LSformElement_ssh_key.css');
47     $return = $this -> getLabelInfos();
48     $params = array();
49     if (!$this -> isFreeze()) {
50       $params['values_txt'] = $this -> values;
51     }
52     else {
53       LSsession :: addJSscript('LSformElement_ssh_key.js');
54       LSsession :: addHelpInfos (
55         'LSformElement_ssh_key',
56         array(
57           'display' => _("Display the full key.")
58         )
59       );
60       
61       $values_txt = array();
62       foreach ($this -> values as $value) {
63         if (ereg('^ssh-([a-z]+) (.*)== (.*)$',$value,$regs)) {
64           $values_txt[] = array(
65             'type' => $regs[1],
66             'shortTxt' => substr($regs[2],0,10),
67             'mail' => $regs[3],
68             'value' => $value
69           );
70         }
71         else {
72           $values_txt[] = array(
73             'shortTxt' => substr($value,0,15),
74             'value' => $value
75           );
76         }
77       }
78       $params['values_txt'] = $values_txt;
79       $params['unknowTypeTxt'] = _('Unknown type');
80     }
81     $return['html'] = $this -> fetchTemplate(NULL,$params);
82     return $return;
83   }
84   
85 }
86
87 ?>