Subversion Repositories Applications.bazar

Rev

Rev 67 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 67 Rev 68
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='&nbsp;' ;
101
		if ($i==0) $labelchkbox=constant($label) ; else $labelchkbox='&nbsp;' ;
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