page.validation.php 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php global $_,$myUser,$conf; ?>
  2. <div class="row justify-content-md-center">
  3. <div class="col-md-4 text-center subscribe-form">
  4. <?php try{
  5. if($myUser->connected()) throw new Exception("Inscription impossible en étant déjà connecté");
  6. if(!isset($_['token']) || empty($_['token'])) throw new Exception("Lien incorrect, code de confirmation manquant");
  7. $parameters = (array)json_decode(base64_decode($_['token']));
  8. if(!$user = User::load(array('token'=>$parameters['token']))) throw new Exception("Code de confirmation incorrect ou expiré");
  9. if(!empty($conf->get('subscribe_mail_expire')) && (time()-$user->created) > strtotime(intval($conf->get('subscribe_mail_expire')).' days', 0)) throw new Exception("Lien d'inscription expiré");
  10. foreach(User::getAll(array('right'=>false, 'force'=>true)) as $existingUser){
  11. if($existingUser->token==$user->token || $existingUser->state!=User::ACTIVE) continue;
  12. if($existingUser->mail == $user->mail) throw new Exception("Un utilisateur existe déjà avec cette adresse email, ".(!empty($conf->get('password_allow_lost'))?"veuillez utiliser le système de mot de passe oublié":"veuillez contacter un administrateur"));
  13. }
  14. if($user->state != 'registered') throw new Exception("Lien d'inscription expiré");
  15. switch ($parameters['step']) {
  16. case '1':
  17. $parameters['step'] = 2;
  18. ?>
  19. <h5 class="text-muted text-uppercase">Validation d'inscription</h5>
  20. <img src="plugin/subscribe/img/subscribe_head.svg">
  21. <p class="mt-2 px-3">Bonjour, <?php echo $user->fullName(); ?>, pour valider votre inscription et récupérer vos identifiants, veuillez cliquer sur le bouton ci-dessous :</p>
  22. <a class="btn btn-primary mt-2 w-100" href="<?php echo ROOT_URL.'/index.php?module=subscribe&page=validation&token='.base64_encode(json_encode($parameters)); ?>"><i class="fas fa-fw fa-check"></i> Valider</a>
  23. <?php
  24. break;
  25. case '2':
  26. //save du rang / établissement par défaut
  27. $userfirmRank = new UserFirmRank();
  28. $userfirmRank->rank = $conf->get('subscribe_rank');
  29. $userfirmRank->firm = $conf->get('subscribe_firm');
  30. $userfirmRank->user = $user->login;
  31. $userfirmRank->creator = $user->login;
  32. $userfirmRank->updater = $user->login;
  33. $userfirmRank->save();
  34. $user->state = User::ACTIVE;
  35. $user->save(); ?>
  36. <h5 class="text-muted text-uppercase">Inscription terminée</h5>
  37. <img src="plugin/subscribe/img/subscribe_head.svg">
  38. <p class="mt-2 px-3">Bonjour, <?php echo $user->fullName(); ?>, vous pouvez dès à présent vous connecter avec les éléments suivants :</p>
  39. <ul class="list-unstyled px-5 text-left">
  40. <li><strong>Identifiant :</strong> <code class="font-weight-bold bg-light p-2 pointer" onclick="select_text(this, event);copy_string($(this).text(), this);"><?php echo $user->login; ?></code></li>
  41. <li><strong>Mot de passe : </strong><small>Le mot de passe renseigné lors de votre inscription</small></li>
  42. </ul>
  43. <a href="index.php" class="btn btn-success mt-2 w-100" ><i class="fas fa-home"></i> Retour à l'accueil</a>
  44. <?php
  45. break;
  46. default:
  47. throw new Exception("Lien d'inscription expiré");
  48. break;
  49. } ?>
  50. <?php }catch(Exception $e){ ?>
  51. <div class="alert alert-danger" role="alert">
  52. <strong>Erreur</strong> <?php echo $e->getMessage(); ?>
  53. </div>
  54. <a href="index.php">Revenir à l'accueil</a>
  55. <?php } ?>
  56. </div>
  57. </div>