| Line 17... |
Line 17... |
| 17 |
// | |
|
17 |
// | |
|
| 18 |
// | You should have received a copy of the GNU Lesser General Public |
|
18 |
// | You should have received a copy of the GNU Lesser General Public |
|
| 19 |
// | License along with this library; if not, write to the Free Software |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
| 20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 21 |
// +------------------------------------------------------------------------------------------------------+
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
| 22 |
// CVS : $Id: bazar.fonct.formulaire.php,v 1.12 2006-01-05 16:28:24 alexandre_tb Exp $
|
22 |
// CVS : $Id: bazar.fonct.formulaire.php,v 1.13 2006-01-13 14:12:51 florian Exp $
|
| 23 |
/**
|
23 |
/**
|
| 24 |
* Formulaire
|
24 |
* Formulaire
|
| 25 |
*
|
25 |
*
|
| 26 |
* Les fonctions de mise en page des formulaire
|
26 |
* Les fonctions de mise en page des formulaire
|
| 27 |
*
|
27 |
*
|
| Line 29... |
Line 29... |
| 29 |
//Auteur original :
|
29 |
//Auteur original :
|
| 30 |
*@author Florian SCHMITT <florian@ecole-et-nature.org>
|
30 |
*@author Florian SCHMITT <florian@ecole-et-nature.org>
|
| 31 |
//Autres auteurs :
|
31 |
//Autres auteurs :
|
| 32 |
*@author Aleandre GRANIER <alexandre@tela-botanica.org>
|
32 |
*@author Aleandre GRANIER <alexandre@tela-botanica.org>
|
| 33 |
*@copyright Tela-Botanica 2000-2004
|
33 |
*@copyright Tela-Botanica 2000-2004
|
| 34 |
*@version $Revision: 1.12 $ $Date: 2006-01-05 16:28:24 $
|
34 |
*@version $Revision: 1.13 $ $Date: 2006-01-13 14:12:51 $
|
| 35 |
// +------------------------------------------------------------------------------------------------------+
|
35 |
// +------------------------------------------------------------------------------------------------------+
|
| 36 |
*/
|
36 |
*/
|
| Line 37... |
Line 37... |
| 37 |
|
37 |
|
| Line 38... |
Line 38... |
| 38 |
require_once 'bazar.fonct.formulaire.controles.php';
|
38 |
require_once 'bazar.fonct.formulaire.controles.php';
|
| Line 39... |
Line 39... |
| 39 |
|
39 |
|
| 40 |
//-------------------FONCTIONS DE MISE EN PAGE DES FORMULAIRES
|
40 |
//-------------------FONCTIONS DE MISE EN PAGE DES FORMULAIRES
|
| 41 |
|
41 |
|
| 42 |
/** liste() - Ajoute un élément de type liste au formulaire
|
42 |
/** liste() - Ajoute un élément de type liste au formulaire
|
| 43 |
*
|
43 |
*
|
| 44 |
* @param mixed L'objet QuickForm du formulaire
|
44 |
* @param mixed L'objet QuickForm du formulaire
|
| 45 |
* @param string nom du champs dans la table bazar_fiche dans la base de donnée
|
45 |
* @param int identifiant de la liste sur bazar_liste
|
| 46 |
* @param string label à afficher dans le formulaire
|
46 |
* @param string label à afficher dans le formulaire
|
| 47 |
* @param string première restriction de la taille des champs du formulaire
|
47 |
* @param string première restriction de la taille des champs du formulaire
|
| 48 |
* @param string deuxième restriction de la taille des champs du formulaire
|
48 |
* @param string deuxième restriction de la taille des champs du formulaire
|
| 49 |
* @param string valeur par défaut du formulaire
|
49 |
* @param string valeur par défaut du formulaire
|
| 50 |
* @param string table source pour les valeurs de la liste
|
50 |
* @param string table source pour les valeurs de la liste
|
| 51 |
* @param string ce champs est il obligatoire? (required)
|
51 |
* @param string ce champs est il obligatoire? (required)
|
| 52 |
* @return void
|
52 |
* @return void
|
| - |
|
53 |
*/
|
| 53 |
*/
|
54 |
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
|
| 54 |
function liste(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
|
55 |
//TODO: trouver la variable générique papyrus pour les langues
|
| 55 |
$requete = 'select * from '.$source;
|
56 |
$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="fr-FR"';
|
| 56 |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
|
57 |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
|
| 57 |
if (DB::isError ($resultat)) {
|
58 |
if (DB::isError ($resultat)) {
|
| 58 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
59 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
| 59 |
}
|
60 |
}
|
| 60 |
while ($ligne = $resultat->fetchRow()) {
|
61 |
while ($ligne = $resultat->fetchRow()) {
|
| 61 |
$select[$ligne[0]] = $ligne[1] ;
|
62 |
$select[$ligne[1]] = $ligne[2] ;
|
| 62 |
}
|
63 |
}
|
| 63 |
$option=array('style'=>'width: '.$limite1.'px;');
|
64 |
$option=array('style'=>'width: '.$limite1.'px;');
|
| 64 |
require_once 'HTML/QuickForm/select.php';
|
65 |
require_once 'HTML/QuickForm/select.php';
|
| 65 |
$select= new HTML_QuickForm_select($nom_bdd, constant($label), $select, $option);
|
66 |
$select= new HTML_QuickForm_select('liste'.$id_liste, constant($label), $select, $option);
|
| 66 |
$select->setSize($limite2);
|
67 |
$select->setSize($limite2);
|
| 67 |
$select->setMultiple(0);
|
68 |
$select->setMultiple(0);
|
| 68 |
$select->setSelected($defaut);
|
- |
|
| 69 |
$formtemplate->addElement($select) ;
|
- |
|
| 70 |
|
- |
|
| 71 |
//gestion des champs obligatoire
|
69 |
$select->setSelected($defaut);
|
| 72 |
//$formtemplate->registerRule('saisir_liste','function','liste_choisir');
|
70 |
$formtemplate->addElement($select) ;
|
| 73 |
//$formtemplate->addRule($nom_bdd, BAZ_CHOISIR_OBLIGATOIRE , 'saisir_liste');
|
71 |
|
| 74 |
if (isset($obligatoire)and($obligatoire==1)) {
|
72 |
if (isset($obligatoire)and($obligatoire==1)) {
|
| Line 75... |
Line 73... |
| 75 |
$formtemplate->addRule($nom_bdd, BAZ_CHOISIR_OBLIGATOIRE.' '.constant($label) , 'nonzero', '', 'client') ;
|
73 |
$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.constant($label) , 'nonzero', '', 'client') ;
|
| 76 |
$formtemplate->addRule($nom_bdd, constant($label.'_REQUIS'), 'required', '', 'client') ;}
|
74 |
$formtemplate->addRule('liste'.$id_liste, constant($label.'_REQUIS'), 'required', '', 'client') ;}
|
| 77 |
}
|
75 |
}
|
| 78 |
|
76 |
|
| 79 |
|
77 |
|
| 80 |
/** checkbox() - Ajoute un élément de type checkbox au formulaire
|
78 |
/** checkbox() - Ajoute un élément de type checkbox au formulaire
|
| 81 |
*
|
79 |
*
|
| 82 |
* @param mixed L'objet QuickForm du formulaire
|
80 |
* @param mixed L'objet QuickForm du formulaire
|
| 83 |
* @param string nom du champs dans la table bazar_fiche dans la base de donnée
|
81 |
* @param int identifiant de la liste sur bazar_liste
|
| 84 |
* @param string label à afficher dans le formulaire
|
82 |
* @param string label à afficher dans le formulaire
|
| 85 |
* @param string première restriction de la taille des champs du formulaire
|
83 |
* @param string première restriction de la taille des champs du formulaire
|
| 86 |
* @param string deuxième restriction de la taille des champs du formulaire
|
84 |
* @param string deuxième restriction de la taille des champs du formulaire
|
| 87 |
* @param string valeur par défaut du formulaire
|
85 |
* @param string valeur par défaut du formulaire
|
| - |
|
86 |
* @param string table source pour les valeurs de la liste
|
| 88 |
* @param string table source pour les valeurs de la liste
|
87 |
* @param string ce champs est il obligatoire? (required)
|
| 89 |
* @param string ce champs est il obligatoire? (required)
|
88 |
* @return void
|
| 90 |
* @return void
|
89 |
*/
|
| 91 |
*/
|
90 |
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
|
| 92 |
function checkbox(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
|
91 |
//TODO: trouver la variable générique papyrus pour les langues
|
| 93 |
$requete = 'SELECT * FROM '.$source;
|
- |
|
| 94 |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
|
- |
|
| 95 |
if (DB::isError ($resultat)) {
|
92 |
$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="fr-FR"';
|
| 96 |
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
|
93 |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
|
| 97 |
}
|
94 |
if (DB::isError ($resultat)) {
|
| 98 |
$tableau_info_jointure = explode (',', $nom_bdd) ;
|
95 |
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
|
| 99 |
$nom_table_jointure = $tableau_info_jointure[0] ;
|
- |
|
| 100 |
|
96 |
}
|
| 101 |
require_once 'HTML/QuickForm/advcheckbox.php' ;
|
97 |
|
| 102 |
$i=0;
|
98 |
require_once 'HTML/QuickForm/advcheckbox.php' ;
|
| 103 |
while ($ligne = $resultat->fetchRow()) {
|
99 |
$i=0;
|
| 104 |
//$chkbox[$ligne[0]] = $ligne[1] ;
|
100 |
while ($ligne = $resultat->fetchRow()) {
|
| Line 105... |
Line 101... |
| 105 |
if ($i==0) $labelchkbox=constant($label) ; else $labelchkbox=' ' ;
|
101 |
if ($i==0) $labelchkbox=constant($label) ; else $labelchkbox=' ' ;
|
| 106 |
$checkbox[]= & HTML_Quickform::createElement('checkbox', '', $labelchkbox, $ligne[1],
|
102 |
$checkbox[]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2],
|
| Line 107... |
Line 103... |
| 107 |
array ('style'=>'display:inline;margin-left:2px;')) ;
|
103 |
array ('style'=>'display:inline;margin-left:2px;')) ;
|
| 108 |
$i++;
|
104 |
$i++;
|
| Line 213... |
Line 209... |
| 213 |
* @param string ce champs est il obligatoire? (required) (pas utilisé)
|
209 |
* @param string ce champs est il obligatoire? (required) (pas utilisé)
|
| 214 |
* @return void
|
210 |
* @return void
|
| 215 |
*/
|
211 |
*/
|
| 216 |
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
|
212 |
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire) {
|
| 217 |
require_once 'HTML/QuickForm/html.php';
|
213 |
require_once 'HTML/QuickForm/html.php';
|
| 218 |
$formhtml= new HTML_QuickForm_html('<li>'.constant($label).'</li>'."\n");
|
214 |
$formhtml= new HTML_QuickForm_html('<tr>'."\n".'<td colspan="2">'."\n".constant($label)."\n".'</td>'."\n".'</tr>'."\n");
|
| 219 |
$formtemplate->addElement($formhtml) ;
|
215 |
$formtemplate->addElement($formhtml) ;
|
| 220 |
}
|
216 |
}
|
| Line 221... |
Line 217... |
| 221 |
|
217 |
|
| 222 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
218 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
| 223 |
*
|
219 |
*
|
| - |
|
220 |
* $Log: not supported by cvs2svn $
|
| - |
|
221 |
* Revision 1.12 2006/01/05 16:28:24 alexandre_tb
|
| - |
|
222 |
* prise en chage des checkbox, reste la mise à jour à gérer
|
| 224 |
* $Log: not supported by cvs2svn $
|
223 |
*
|
| 225 |
* Revision 1.11 2006/01/02 13:24:07 alexandre_tb
|
224 |
* Revision 1.11 2006/01/02 13:24:07 alexandre_tb
|
| 226 |
* correction de bug d'un mauvais retour en erreur
|
225 |
* correction de bug d'un mauvais retour en erreur
|
| 227 |
*
|
226 |
*
|
| 228 |
* Revision 1.10 2005/12/01 16:05:41 florian
|
227 |
* Revision 1.10 2005/12/01 16:05:41 florian
|