ldapsaisie/trunk/includes/class/class.LSattr_html.php
Benjamin Renard d8975aff0b - functions :
-> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang
     et gettext pour traduire les messages qu'on lui passe.
  -> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable
     smarty.
- LSexample :
  -> Utilisation de la traduction via __() plutôt que gettext
- LSdefault :
  -> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...)
  -> Ajout de méthode de gestion de LSlang
- LSsession :
  - Login/RecoverPassword : Utilisation du template LSdefault
  - Gestion de la traduction :
    -> Ajout de la méthode setLocale() définissant la langue de l'interface.
      -> Ajout des méthodes getLangList() et localeExist()
    -> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté)
    -> Méthode setLdapServer() : rédifinition de la locale avec setLocale()
    -> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue
- Config :
  -> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les
     chaînes sont données non traduite, et la traduction se fera lors de leur utilisation.
    -> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la
       fonction __()
  -> L'enconding et la langue sont désormais géré indépendament
- ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à
  cause de leur mise en cache.
- Documentation :
  -> Mise à jour relative en changement de paramètres de configuration
  -> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php
  -> Mise à jour du fichier INSTALL avec les informations de la documentation
2009-03-19 17:42:51 +00:00

120 lines
3.4 KiB
PHP

<?php
/*******************************************************************************
* Copyright (C) 2007 Easter-eggs
* http://ldapsaisie.labs.libre-entreprise.org
*
* Author: See AUTHORS file in top-level directory.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
******************************************************************************/
/**
* Base d'un type d'attribut HTML
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*/
class LSattr_html {
var $name;
var $config;
var $attribute;
var $LSformElement_type = false;
/**
* Constructeur
*
* Cette methode construit l'objet et définis la configuration.
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param[in] $name string Nom de l'attribut ldap
* @param[in] $config array Configuration de l'objet
* @param[in] &$attribute LSattribute L'objet LSattribut parent
*
* @retval boolean Retourne true.
*/
function LSattr_html ($name,$config,&$attribute) {
$this -> name = $name;
$this -> config = $config;
$this -> attribute = $attribute;
return true;
}
/**
* Retourne le label de l'attribut
*
* Retourne le label de l'attribut ou son nom si aucun label n'est défini
* dans la configuration.
*
* @retval string Le label de l'attribut.
*/
function getLabel() {
if ( $this -> config['label'] != '' ) {
return __($this -> config['label']);
}
else {
return __($this -> name);
}
}
/**
* Ajoute l'attribut au formualaire passer en paramètre
*
* @param[in] &$form LSform Le formulaire
* @param[in] $idForm L'identifiant du formulaire
* @param[in] $data Valeur du champs du formulaire
*
* @retval LSformElement L'element du formulaire ajouté
*/
function addToForm (&$form,$idForm,$data=NULL) {
if (!$this -> LSformElement_type) {
LSerror :: addErrorCode('LSattr_html_01',$this -> name);
return;
}
$element=$form -> addElement($this -> LSformElement_type, $this -> name, $this -> config['label'],$this -> config, $this);
if(!$element) {
LSerror :: addErrorCode('LSform_06',$this -> name);
return;
}
if ($data) {
$element -> setValue($data);
}
return $element;
}
/**
* Effectue les tâches nécéssaires au moment du rafraichissement du formulaire
*
* @param[in] $data mixed La valeur de l'attribut
*
* @retval mixed La valeur formatée de l'attribut
**/
function refreshForm($data) {
return $data;
}
}
/*
* Error Codes
*/
LSerror :: defineError('LSattr_html_01',
_("LSattr_html : The method addToForm() of the HTML type of the attribute %{attr} is not defined.")
);
// 02 : not yet used
LSerror :: defineError('LSattr_html_03',
_("LSattr_html_%{type} : Multiple data are not supported for this field type.")
);
?>