1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
public function registerAction(Request $request) {
$manager = $this->get('collectify_security_manager');
$em = $this->getDoctrine()->getManager();
$user = new Utilisateur();
$form = $this->createFormBuilder()
->add('login', 'text', array(
'required' => TRUE,
'attr' => array(
'placeholder' => 'What\'s your name?',
'pattern' => '.{5,}' //minlength
)
))
->add('email', 'email', array(
'required' => TRUE,
'attr' => array(
'placeholder' => 'So I can get back to you.'
)
))
->add('password', 'repeated', array(
'required' => TRUE,
'type' => 'password',
'invalid_message' => 'Les mots de passe doivent correspondre',
'options' => array('required' => true),
'first_options' => array('label' => 'Mot de passe'),
'second_options' => array('label' => 'Mot de passe (validation)'),)
)
->getForm();
$request = $this->getRequest();
$form->bind($request);
$login = $form["login"]->getData();
$email = $form["email"]->getData();
$password = $form["password"]->getData();
$OK = false;
if (($login != NULL) && ($email != NULL) && ($password != NULL)) {
$user->setLogin($login);
$user->setEmail($email);
$user->setPassword(sha1(md5($password)));
$user->setPrivilege('ADMIN');
$user->setEnabled(TRUE);
$user->setDatelog(new \DateTime());
$EXISTE = $manager->donneruservalid($user);
if ($EXISTE != TRUE) {
$em->persist($user);
$em->flush();
$OK = TRUE;
$managermail = $this->get('collectify_mail_manager');
$managermail->envoiMail($user); /// renvoie de mail au membre
} else {
$this->get('session')->getFlashBag()->set('message', 'Existe déja');
}
}
if ($OK === TRUE) {
$session = new Session();
$session->clear(); /// detruire la session avant de la start
$session->start();
$session->set('user', $user);
return $this->redirect($this->generateUrl('my_app_backoffice_homepage'));
} else {
return $this->render('MyAppBackofficeBundle:admin:register.html.twig', array(
'form' => $form->createView()
));
}
} |
Partager