Rev 144 | Rev 156 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass GttCtrlActionAdminUtilisateur extends aControlleurAction {public function __construct(Registre $Registre){$Registre->ajouterEspace('AdminUtilisateur', 'admin_utilisateur');$Registre->setTitre('Administrer les utilisateurs');}public function executer(){$aso_admin_utilisateur = array();// Ajout du mode$aso_admin_utilisateur['mode'] = 'A';// Ajout// Récupération des utilisateur$Utilisateur = new Utilisateur();// Vérification si l'utilisateur est admin$aso_admin_utilisateur['bool_mark_admin'] = false;if ($Utilisateur->getMarkAdmin() == 1) {$aso_admin_utilisateur['bool_mark_admin'] = true;}// Vérification si l'utilisateur doit apparaître dans le récapitulatif$aso_admin_utilisateur['bool_mark_recapitulatif'] = false;if ($Utilisateur->getMarkRecapitulatif() == 1) {$aso_admin_utilisateur['bool_mark_recapitulatif'] = true;}// Utilisateur vide par défaut$aso_admin_utilisateur['Utilisateur'] = clone $Utilisateur;// Recherche des utilisateurs existant$tab_u = $Utilisateur->consulter(Utilisateur::GU_TOUS);foreach ($tab_u as $u) {// Nous récupérons tous les statuts sauf le null (=0)if ($u->getIdUtilisateur() != 0) {$aso_utilisateur['id'] = $u->getIdUtilisateur();$aso_utilisateur['libelle'] = $u->getNom().' '.$u->getPrenom();$aso_admin_utilisateur['utilisateurs'][] = $aso_utilisateur;}}// Recherche des statuts des utilisateurs$UtilisateurStatut = new UtilisateurStatut();$tab_us = $UtilisateurStatut->consulter(UtilisateurStatut::GUS_TOUS);foreach ($tab_us as $us) {// Nous récupérons tous les statuts sauf le null (=0)if ($us->getIdUtilisateurStatut() != 0) {$aso_us['id'] = $us->getIdUtilisateurStatut();$aso_us['libelle'] = $us->getLibelle();$aso_admin_utilisateur['utilisateur_statuts'][] = $aso_us;}}// Modification des titres, légendes et bouton$aso_admin_utilisateur['form_legend'] = 'Ajouter un utilisateur';$aso_admin_utilisateur['form_bouton_value'] = 'Ajouter';$aso_admin_utilisateur['form_bouton_id'] = 'btn_utilisateur_ajouter';$aso_admin_utilisateur['form_url'] = 'index.php?action=admin-utilisateur_valider-ajouter';//echo '<pre>'.print_r($aso_admin_utilisateur, true).'</pre>';$this->getRegistre()->ajouterDonnee('admin_utilisateur', $aso_admin_utilisateur);}public function executerValiderAjouter(){if (isset($_POST['btn_utilisateur_annuler'])) {// Action suivante$this->setSuivant('__defaut__');} else if (isset($_POST['btn_utilisateur_ajouter'])) {// Vérification de l'utilisateur à ajouter$bool_ajouter = true;$Utilisateur = new Utilisateur();$UtMail = $Utilisateur->consulter(Utilisateur::GU_MAIL, array($_POST['ut_email']));if ((is_array($UtMail) && count($UtMail) > 1) || $UtMail instanceof Utilisateur) {$aso_admin_utilisateur['messages'][] = 'Un utilisateur avec le même courriel existe déjà !';$bool_ajouter = false;}$this->verifierChampsCommuns(&$aso_admin_utilisateur, &$bool_ajouter, 'A');if ($bool_ajouter) {// Action suivante$this->setSuivant('ajouter');} else {// Action suivante$this->setSuivant('__defaut__');$this->getRegistre()->ajouterDonnee('admin_utilisateur', $aso_admin_utilisateur);}}}public function executerValiderModifier(){if (isset($_POST['btn_utilisateur_annuler'])) {// Action suivante$this->setSuivant('__defaut__');} else if (isset($_POST['btn_utilisateur_modifier'])) {// Vérification de l'utilisateur à modifier$bool_modifier = true;$Utilisateur = new Utilisateur();$UtMail = $Utilisateur->consulter(Utilisateur::GU_MAIL, array($_POST['ut_email']));if ((is_array($UtMail) && count($UtMail) > 1) || ($UtMail instanceof Utilisateur && $UtMail->getIdUtilisateur() != $_POST['ut_id_utilisateur'])) {$aso_admin_utilisateur['messages'][] = 'Un utilisateur avec le même courriel existe déjà !';$bool_modifier = false;}$this->verifierChampsCommuns(&$aso_admin_utilisateur, &$bool_modifier, 'M');if ($bool_modifier) {// Action suivante$this->setSuivant('modifier');} else {// Action suivante$_POST['btn_utilisateur_modifier'] = 'btn_utilisateur_modifier';$_POST['utsu_id'] = $_POST['ut_id_utilisateur'];$this->setSuivant('editer');$this->getRegistre()->ajouterDonnee('admin_utilisateur', $aso_admin_utilisateur);}}}public function verifierChampsCommuns(&$aso_admin_utilisateur, &$bool, $mode){// En modifcation, si le mot de passe est vide, on ne fait pas de changement dans la base de donnéesif ($mode == 'A' || ($mode == 'M' && (!empty($_POST['ut_mot_de_passe']) || !empty($_POST['ut_mot_de_passe_confirmation'])))) {if (mb_strlen($_POST['ut_mot_de_passe']) < 6) {$aso_admin_utilisateur['messages'][] = 'Le mot de passe doit contenir au moins 6 caractères !';$bool = false;}if ($_POST['ut_mot_de_passe'] != $_POST['ut_mot_de_passe_confirmation']) {$aso_admin_utilisateur['messages'][] = 'Les mots de passe saisies ne sont pas identique !';$bool = false;}}if ($_POST['ut_temps_de_travail_jour'] > 24) {$aso_admin_utilisateur['messages'][] = 'Il est impossible que le temps de travail soit supérieur à 24h !';$bool = false;}$aso_champs_tdt = array('ut_tdt_lundi' => 'Lundi', 'ut_tdt_mardi' => 'Mardi', 'ut_tdt_mercredi' => 'Mercredi','ut_tdt_jeudi' => 'Jeudi', 'ut_tdt_vendredi' => 'Vendredi', 'ut_tdt_samedi' => 'Samedi','ut_tdt_dimanche' => 'Dimanche');foreach ($aso_champs_tdt as $champ_id => $libelle) {if ($_POST[$champ_id] > $_POST['ut_temps_de_travail_jour']) {$aso_admin_utilisateur['messages'][] = "Le champ temps de travail du $libelle ne doit pas être supérieur à la durée maximum du temps de travail journalier !";$bool = false;}}$aso_champs_obligatoires = array('ut_nom' => 'Nom', 'ut_prenom' => 'Prénom', 'ut_email' => 'Courriel');// En modifcation, si le mot de passe est vide cela peut être normalif ($mode == 'A' || ($mode == 'M' && (!empty($_POST['ut_mot_de_passe']) || !empty($_POST['ut_mot_de_passe_confirmation'])))) {$aso_champs_obligatoires['ut_mot_de_passe'] = 'Mot de passe';}foreach ($aso_champs_obligatoires as $champ_id => $libelle) {if (empty($_POST[$champ_id])) {$aso_admin_utilisateur['messages'][] = "Le champ $libelle ne doit pas être vide !";$bool = false;}}}public function executerEditer(){// Ajout du statut d'utilisateurif (isset($_POST['btn_utilisateur_modifier'])) {// Ajout du mode$aso_admin_utilisateur['mode'] = 'M';// Modifier// Récupération des données de l'utilisateur à modifier$Utilisateur = new Utilisateur();$Utilisateur->consulter(Utilisateur::GU_ID, $_POST['utsu_id'], true);$aso_admin_utilisateur['Utilisateur'] = $Utilisateur;// Vérification si l'utilisateur est admin$aso_admin_utilisateur['bool_mark_admin'] = false;if ($Utilisateur->getMarkAdmin() == 1) {$aso_admin_utilisateur['bool_mark_admin'] = true;}// Vérification si l'utilisateur doit apparaître dans le récapitulatif$aso_admin_utilisateur['bool_mark_recapitulatif'] = false;if ($Utilisateur->getMarkRecapitulatif() == 1) {$aso_admin_utilisateur['bool_mark_recapitulatif'] = true;}// Modification des titres, légendes et bouton$aso_admin_utilisateur['form_legend'] = 'Modifier un utilisateur';$aso_admin_utilisateur['form_bouton_value'] = 'Modifier';$aso_admin_utilisateur['form_bouton_id'] = 'btn_utilisateur_modifier';$aso_admin_utilisateur['form_url'] = 'index.php?action=admin-utilisateur_valider-modifier';$this->getRegistre()->ajouterDonnee('admin_utilisateur', $aso_admin_utilisateur);} else if (isset($_POST['btn_utilisateur_supprimer'])) {// Action suivante$this->setSuivant('supprimer');}}public function executerAjouter(){$Utilisateur = new Utilisateur();$Utilisateur->setNom($_POST['ut_nom']);$Utilisateur->setPrenom($_POST['ut_prenom']);$Utilisateur->setAdresse($_POST['ut_adresse']);$Utilisateur->setVille($_POST['ut_ville']);$Utilisateur->setCodePostal($_POST['ut_code_postal']);$Utilisateur->setTelephone($_POST['ut_telephone']);$Utilisateur->setEmail($_POST['ut_email']);$Utilisateur->setPassword($_POST['ut_mot_de_passe']);//$Utilisateur->setCeStatut($_POST['ut_statut']);$Utilisateur->setCongesPayes($_POST['ut_conges_payes']);$Utilisateur->setTempsDeTravailJour($_POST['ut_temps_de_travail_jour']);$Utilisateur->setTempsDeTravailMois($_POST['ut_temps_de_travail_mois']);$Utilisateur->setTdtLundi($_POST['ut_tdt_lundi']);$Utilisateur->setTdtMardi($_POST['ut_tdt_mardi']);$Utilisateur->setTdtMercredi($_POST['ut_tdt_mercredi']);$Utilisateur->setTdtJeudi($_POST['ut_tdt_jeudi']);$Utilisateur->setTdtVendredi($_POST['ut_tdt_vendredi']);$Utilisateur->setTdtSamedi($_POST['ut_tdt_samedi']);$Utilisateur->setTdtDimanche($_POST['ut_tdt_dimanche']);$Utilisateur->setQuotaHeuresSupp($_POST['ut_quota_heures_supp']);if (!isset($_POST['ut_mark_admin'])) {$_POST['ut_mark_admin'] = 0;}$Utilisateur->setMarkAdmin($_POST['ut_mark_admin']);if (!isset($_POST['ut_mark_recapitulatif'])) {$_POST['ut_mark_recapitulatif'] = 0;}$Utilisateur->setMarkRecapitulatif($_POST['ut_mark_recapitulatif']);$Utilisateur->ajouter();// Action suivante$this->setSuivant('__defaut__');}public function executerModifier(){$Utilisateur = new Utilisateur();$Utilisateur->setIdUtilisateur($_POST['ut_id_utilisateur']);$Utilisateur->setNom($_POST['ut_nom']);$Utilisateur->setPrenom($_POST['ut_prenom']);$Utilisateur->setAdresse($_POST['ut_adresse']);$Utilisateur->setVille($_POST['ut_ville']);$Utilisateur->setCodePostal($_POST['ut_code_postal']);$Utilisateur->setTelephone($_POST['ut_telephone']);$Utilisateur->setEmail($_POST['ut_email']);if (isset($_POST['ut_mot_de_passe']) && !empty($_POST['ut_mot_de_passe'])) {$Utilisateur->setPassword($_POST['ut_mot_de_passe']);}//$Utilisateur->setCeStatut($_POST['ut_statut']);$Utilisateur->setCongesPayes($_POST['ut_conges_payes']);$Utilisateur->setTempsDeTravailJour($_POST['ut_temps_de_travail_jour']);$Utilisateur->setTempsDeTravailMois($_POST['ut_temps_de_travail_mois']);$Utilisateur->setTdtLundi($_POST['ut_tdt_lundi']);$Utilisateur->setTdtMardi($_POST['ut_tdt_mardi']);$Utilisateur->setTdtMercredi($_POST['ut_tdt_mercredi']);$Utilisateur->setTdtJeudi($_POST['ut_tdt_jeudi']);$Utilisateur->setTdtVendredi($_POST['ut_tdt_vendredi']);$Utilisateur->setTdtSamedi($_POST['ut_tdt_samedi']);$Utilisateur->setTdtDimanche($_POST['ut_tdt_dimanche']);$Utilisateur->setQuotaHeuresSupp($_POST['ut_quota_heures_supp']);if (!isset($_POST['ut_mark_admin'])) {$_POST['ut_mark_admin'] = 0;}$Utilisateur->setMarkAdmin($_POST['ut_mark_admin']);if (!isset($_POST['ut_mark_recapitulatif'])) {$_POST['ut_mark_recapitulatif'] = 0;}$Utilisateur->setMarkRecapitulatif($_POST['ut_mark_recapitulatif']);$Utilisateur->modifier();// Action suivante$this->setSuivant('__defaut__');}public function executerSupprimer(){$aso_admin_utilisateur = array();// Vérif du nombre d'utilisateur admin (doit être supérieur à 1)$Utilisateur = new Utilisateur();$nbre_admin = $Utilisateur->consulter(Utilisateur::GU_ADMIN);if (count($nbre_admin) > 1) {trigger_error('Utilisateur admin > 1 -> OK', E_USER_NOTICE);// Vérif des travail_projets$TravailProjet = new TravailProjet();$bool_existe = $TravailProjet->consulter(TravailProjet::GTP_UTILISATEUR, array($_POST['utsu_id']));if ($bool_existe == false) {trigger_error('TravailProjet -> OK', E_USER_NOTICE);// Vérif des absences$Absence = new Absence();$bool_existe = $Absence->consulter(Absence::GA_ID_UTILISATEUR, array($_POST['utsu_id']));if ($bool_existe == false) {trigger_error('Absence -> OK', E_USER_NOTICE);// Suppression de l'utilisateur$Utilisateur = new Utilisateur();$Utilisateur->setIdUtilisateur($_POST['utsu_id']);if ($Utilisateur->supprimer()) {$aso_admin_utilisateur['messages'][] = "L'utilisateur a été supprimé.";}}}} else {$aso_admin_utilisateur['messages'][] = "Il n'est pas possible de supprimer le seul administrateur!";}// Message d'erreur si l'utilisateur contient des donnéesif (isset($bool_existe) && $bool_existe != false) {$aso_admin_utilisateur['messages'][] = "Il n'est pas possible de supprimer un utilisateur contenant des données!";}// Enregistrement du message$this->getRegistre()->ajouterDonnee('admin_utilisateur', $aso_admin_utilisateur);// Action suivante$this->setSuivant('__defaut__');}}?>