예제 #1
0
    $formulaire->addRule('adresse', 'Adresse manquante', 'required');
    $formulaire->addRule('code_postal', 'Code postal manquant', 'required');
    $formulaire->addRule('ville', 'Ville manquante', 'required');
    $formulaire->addRule('login', 'Login 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()) {
        if ($action == 'ajouter') {
            // 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') . $formulaire->exportValue('niveau_forum') . $formulaire->exportValue('niveau_antenne');
            $ok = $personnes_physiques->ajouter($formulaire->exportValue('id_personne_morale'), $formulaire->exportValue('login'), md5(time()), $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'));
        } else {
            /**
             * Niveau modules : concaténation
             */
            $niveau_modules = $formulaire->exportValue('niveau_apero') . $formulaire->exportValue('niveau_annuaire') . $formulaire->exportValue('niveau_site') . $formulaire->exportValue('niveau_forum') . $formulaire->exportValue('niveau_antenne');
            $ok = $personnes_physiques->modifier($_GET['id'], $formulaire->exportValue('id_personne_morale'), $formulaire->exportValue('login'), $formulaire->exportValue('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'));
        }
        if ($ok) {
            if ($action == 'ajouter') {
                AFUP_Logs::log('Ajout de la personne physique ' . $formulaire->exportValue('prenom') . ' ' . $formulaire->exportValue('nom'));
            } else {
                AFUP_Logs::log('Modification de la personne physique ' . $formulaire->exportValue('prenom') . ' ' . $formulaire->exportValue('nom') . ' (' . $_GET['id'] . ')');
            }
            // Redirection sur la liste filtrée
            afficherMessage('La personne physique a été ' . ($action == 'ajouter' ? 'ajoutée' : 'modifiée'), "index.php?page=personnes_physiques&action=lister&filtre=" . $formulaire->exportValue('email'));
        } else {
            $smarty->assign('erreur', 'Une erreur est survenue lors de ' . ($action == 'ajouter' ? "l'ajout" : 'la modification') . ' de la personne physique');
        }
    }
    $smarty->assign('formulaire', genererFormulaire($formulaire));
}