예제 #1
0
 $formulaire->addElement('textarea', 'adresse', 'Adresse', array('cols' => 42, 'rows' => 10));
 $formulaire->addElement('text', 'code_postal', 'Code postal', array('size' => 6, 'maxlength' => 10));
 $formulaire->addElement('text', 'ville', 'Ville', array('size' => 30, 'maxlength' => 50));
 $formulaire->addElement('select', 'id_pays', 'Pays', $pays->obtenirPays());
 $formulaire->addElement('text', 'telephone_fixe', 'Tél. fixe', array('size' => 20, 'maxlength' => 20));
 $formulaire->addElement('text', 'telephone_portable', 'Tél. portable', array('size' => 20, 'maxlength' => 20));
 $formulaire->addElement('password', 'mot_de_passe', 'Mot de passe', array('size' => 30, 'maxlength' => 30));
 $formulaire->addElement('password', 'confirmation_mot_de_passe', '', array('size' => 30, 'maxlength' => 30));
 $formulaire->addElement('header', 'boutons', '');
 $formulaire->addElement('submit', 'soumettre', ucfirst($action));
 $formulaire->addRule('nom', 'Nom manquant', 'required');
 $formulaire->addRule('prenom', 'Prénom manquant', 'required');
 $formulaire->addRule('login', 'Login manquant', 'required');
 $formulaire->addRule('login', 'Login déjà existant', 'callback', function ($value) use($bdd) {
     $personnePhysique = new AFUP_Personnes_Physiques($bdd);
     return !$personnePhysique->loginExists(0, $value);
 });
 $formulaire->addRule('email', 'Email manquant', 'required');
 $formulaire->addRule('email', 'Email invalide', 'email');
 $formulaire->addRule('adresse', 'Adresse manquante', 'required');
 $formulaire->addRule('code_postal', 'Code postal manquant', 'required');
 $formulaire->addRule('ville', 'Ville manquante', 'required');
 $formulaire->addRule('mot_de_passe', 'Mot de passe manquant', 'required');
 $formulaire->addRule(array('mot_de_passe', 'confirmation_mot_de_passe'), 'Le mot de passe et sa confirmation ne concordent pas', 'compare');
 if ($formulaire->validate()) {
     // Construction du champ niveau_modules : concaténation dse différentes valeurs
     $niveau_modules = $formulaire->exportValue('niveau_apero') . $formulaire->exportValue('niveau_annuaire') . $formulaire->exportValue('niveau_site');
     $login = $formulaire->exportValue('login');
     $mot_de_passe = md5($formulaire->exportValue('mot_de_passe'));
     try {
         $ok = $personnes_physiques->ajouter($formulaire->exportValue('id_personne_morale'), $login, $mot_de_passe, $formulaire->exportValue('niveau'), $niveau_modules, $formulaire->exportValue('civilite'), $formulaire->exportValue('nom'), $formulaire->exportValue('prenom'), $formulaire->exportValue('email'), $formulaire->exportValue('adresse'), $formulaire->exportValue('code_postal'), $formulaire->exportValue('ville'), $formulaire->exportValue('id_pays'), $formulaire->exportValue('telephone_fixe'), $formulaire->exportValue('telephone_portable'), $formulaire->exportValue('etat'), $formulaire->exportValue('compte_svn'), true);