Rev 87 | Rev 304 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*vim: set expandtab tabstop=4 shiftwidth=4: */// +------------------------------------------------------------------------------------------------------+// | PHP version 4.1 |// +------------------------------------------------------------------------------------------------------+// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |// +------------------------------------------------------------------------------------------------------+// | This library is free software; you can redistribute it and/or |// | modify it under the terms of the GNU General Public |// | License as published by the Free Software Foundation; either |// | version 2.1 of the License, or (at your option) any later version. |// | |// | This library 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 library; if not, write to the Free Software |// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |// +------------------------------------------------------------------------------------------------------+// CVS : $Id: HTML_formulaireProjet.class.php,v 1.6 2006-07-04 09:26:46 alexandre_tb Exp $/*** Application projet** La classe HTML_formulaireProjet**@package projet//Auteur original :*@author Alexandre Granier <alexandre@tela-botanica.org>//Autres auteurs :*@author Aucun*@copyright Tela-Botanica 2000-2004*@version $Revision: 1.6 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | ENTETE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+/** Inclure le fichier de langue pour utiliser cette classe de façon autonome. */require_once 'HTML/QuickForm.php' ;require_once 'HTML/QuickForm/checkbox.php' ;require_once 'HTML/QuickForm/select.php' ;// +------------------------------------------------------------------------------------------------------+// | LISTE des constantes |// +------------------------------------------------------------------------------------------------------+/*** class HTML_formulaireProjet* Cette classe représente un formulaire pour saisir un projet ou le modifier.*/class HTML_formulaireProjet extends HTML_QuickForm{/*** Constructeur** @param string formName Le nom du formulaire.* @param string method Soit get soit post, voir le protocole HTTP* @param string action L'action du formulaire.* @param string target La cible du formulaire.* @param Array attributes Des attributs supplémentaires pour la balise <form>* @param bool trackSubmit Pour repérer si la formulaire a été soumis.* @return void* @access public*/function HTML_formulaireProjet( $formName = "", $method = "post", $action = "", $target = "_self", $attributes = "", $trackSubmit = false ){HTML_QuickForm::HTML_QuickForm($formName, $method, $action, $target, $attributes, $trackSubmit) ;} // end of member function HTML_formulaireProjet/*** Renvoie le code HTML du formulaire.** @return string* @access public*/function toHTML( ){$res = HTML_QuickForm::toHTML() ;return $res ;} // end of member function toHTML/*** Ajoute les champs nécessaire au formulaire.** @return void* @access public*/function construitFormulaire(&$tableau_projet, $tableau_type = ''){$this->addElement ('text', 'projet_titre', PROJET_TITRE, array ('class' => 'projet_titre', 'maxlength' => 255)) ;$this->addRule ('projet_titre', PROJET_ALERTE_TITRE, 'required', '', 'client') ;if ($tableau_type != '') {$select = new HTML_QuickForm_select ('projet_type', PROJET_TYPE, $tableau_type, array ('class' => 'projet_type')) ;$this->addElement($select) ;unset ($select) ;}$this->addElement ('textarea', 'projet_resume', PROJET_RESUME, array('class'=>'projet_resume', 'rows'=>"10")) ;$this->addElement ('textarea', 'projet_description', PROJET_DESCRIPTION, array('class'=>"projet_resume", 'rows'=>"20")) ;$this->addElement ('text', 'projet_espace_internet', PROJET_ESPACE_INTERNET, array ('class' => 'projet_espace_internet')) ;// on fait un groupe avec les boutons radio pour les mettres sur la même ligne$radio[] = &HTML_QuickForm::createElement('radio', 'projet_moderation', '0', PROJET_NON_MODERE, '0') ;$radio[] = &HTML_QuickForm::createElement('radio', 'projet_moderation', '1', PROJET_MODERE, '1');$this->addGroup($radio, null, PROJET_INSCRIPTION, ' ');$label_projet = array() ;$id_projet = array() ;foreach ($tableau_projet as $projet) {$label_projet[] = $projet->getTitre() ;$id_projet[] = $projet->getId() ;}if (PROJET_UTILISE_HIERARCHIE) {$select = new HTML_QuickForm_select ('projet_asso', PROJET_PERE, $label_projet, array ('class' => 'projet_asso')) ;$this->addElement($select) ;unset ($select) ;}$this->applyFilter(array('projet_resume', 'projet_description'), 'addslashes') ;$this->setRequiredNote('<span style="color: #ff0000">*</span>'.PROJET_CHAMPS_REQUIS) ;$url_annuler = new Net_URL($this->getAttribute('action')) ;$url_annuler->removeQueryString(PROJET_VARIABLE_ACTION) ;// on fait un groupe avec les boutons pour les mettres sur la même ligne$buttons[] = &HTML_QuickForm::createElement('link', 'annuler', PROJET_FICHIER_ANNULER,preg_replace ("/&/", "&", $url_annuler->getURL()), PROJET_FICHIER_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL// qui remplacent deux fois les & par des &// ce qui fait échouer le lien$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', PROJET_FICHIER_VALIDER);$this->addGroup($buttons, null, null, ' ');} // end of member function _construitFormulaire} // end of HTML_formulaireProjet?>