From a5a57cc9e000d47796a6143964c5857e1b7d2267 Mon Sep 17 00:00:00 2001 From: afornerot Date: Thu, 21 Jan 2021 16:23:14 +0100 Subject: [PATCH] gestion synchro no mail --- src/nineskeletor-1.0/src/Command/SynchroUsersCommand.php | 3 ++- .../src/Controller/SecurityController.php | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/nineskeletor-1.0/src/Command/SynchroUsersCommand.php b/src/nineskeletor-1.0/src/Command/SynchroUsersCommand.php index fb3740c..1bf9cfa 100644 --- a/src/nineskeletor-1.0/src/Command/SynchroUsersCommand.php +++ b/src/nineskeletor-1.0/src/Command/SynchroUsersCommand.php @@ -214,6 +214,7 @@ class SynchroUsersCommand extends Command $result[$ldap_username]=utf8_encode($result[$ldap_username]); if(!isset($result[$ldap_lastname])) $result[$ldap_lastname] = ""; if(!isset($result[$ldap_firstname])) $result[$ldap_firstname] = ""; + if(!array_key_exists($ldap_email,$result)||empty($result[$ldap_email])) $result[$ldap_email]=$result[$ldap_username]."@nomail.fr"; $result[$ldap_email]=strtolower($result[$ldap_email]); $result[$ldap_email]=utf8_encode($result[$ldap_email]); @@ -246,7 +247,7 @@ class SynchroUsersCommand extends Command if($user->getLastname()!=$result[$ldap_lastname]||$user->getFirstname()!=$result[$ldap_firstname]||$user->getEmail()!=$result[$ldap_email]||$toadmin) { $usermail=$this->em->getRepository('App:User')->findOneBy(array('email' => $result[$ldap_email])); - if($usermail!=$user) { + if($usermail&&$usermail!=$user) { array_push($tberrors," - Modification dans Bundle impossible >> ".$result[$ldap_username]." un autre utilisateur a déjà ce mail = ".$result[$ldap_email]); } else { diff --git a/src/nineskeletor-1.0/src/Controller/SecurityController.php b/src/nineskeletor-1.0/src/Controller/SecurityController.php index d420d60..9ba9a88 100755 --- a/src/nineskeletor-1.0/src/Controller/SecurityController.php +++ b/src/nineskeletor-1.0/src/Controller/SecurityController.php @@ -66,6 +66,12 @@ class SecurityController extends AbstractController // Récupération Attribut $attributes = \phpCAS::getAttributes(); + // Init + $username = ""; + $email = ""; + $lastname = ""; + $firstname = ""; + // Rechercher l'utilisateur $em = $this->getDoctrine()->getManager(); if(isset($attributes[$this->getParameter('casUsername')])) @@ -80,6 +86,9 @@ class SecurityController extends AbstractController if(isset($attributes[$this->getParameter('casFirstname')])) $firstname = $attributes[$this->getParameter('casFirstname')]; + // Cas nomail + if(empty($email)) $email = $username."@nomail.com"; + $user = $em->getRepository('App:User')->findOneBy(array("username"=>$username)); $exists = $user ? true : false;