PageRenderTime 52ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/src/eportail-3.0/view/user/inscription.php

https://gitlab.com/cadoles/ePortail
PHP | 185 lines | 136 code | 44 blank | 5 comment | 16 complexity | 26614de414eaea8badb03d4ea28ba155 MD5 | raw file
Possible License(s): Apache-2.0, LGPL-2.1, MPL-2.0-no-copyleft-exception
  1. <?
  2. if($config["modeRegistration"]=='true'&&$config["modeRegistrationExterne"]==""&&($config["activerLDAP"]=='true'||$config["modeAuthentification"]=='MYSQL'))
  3. $levelpage=99;
  4. else
  5. $levelpage=-1;
  6. include("include/permission.php");
  7. echo "<link rel='stylesheet' href='lib/realperson/jquery.realperson.css'>";
  8. echo "<script src='lib/realperson/jquery.plugin.js'></script>";
  9. echo "<script src='lib/realperson/jquery.realperson.js'></script>";
  10. $vlmod =$_POST['vlmod'];
  11. $inscription_login =$_POST['inscription_login'];
  12. $inscription_password =$_POST['inscription_password'];
  13. $inscription_passwordbis =$_POST['inscription_passwordbis'];
  14. $inscription_lastname =$_POST['inscription_lastname'];
  15. $inscription_firstname =$_POST['inscription_firstname'];
  16. $inscription_email =$_POST['inscription_email'];
  17. function rpHash($value) {
  18. $hash = 5381;
  19. $value = strtoupper($value);
  20. for($i = 0; $i < strlen($value); $i++) {
  21. $hash = (($hash << 5) + $hash) + ord(substr($value, $i));
  22. }
  23. return $hash;
  24. }
  25. /*--> Controle de cohérance */
  26. if($vlmod!="") {
  27. $fgerr="";
  28. if(rpHash($_POST['realPerson'].salt) == $_POST['realPersonHash']) {
  29. $fgerr="1";
  30. }
  31. if($inscription_password!=$inscription_passwordbis) {
  32. $jsaction="alert('Votre mot de passe n\'est pas confirmé');";
  33. $fgerr=1;
  34. }
  35. if($inscription_lastname==""||$inscription_firstname==""||$inscription_email=="") {
  36. $jsaction="alert('Vous devez renseigner l\'ensemble des informations');";
  37. $fgerr=1;
  38. }
  39. if($fgerr!=1) {
  40. $q="SELECT * FROM ".$config["dbprefixe"]."user WHERE (user_login=? OR user_email=?)";
  41. $tbq=array($inscription_login,$inscription_email);
  42. $query=$bdd01->prepare($q);
  43. $query->execute($tbq);
  44. if($row=$query->fetch()) {
  45. $jsaction="alert('Un utilisateur avec cet email ou ce login existe déjà');";
  46. $fgerr=1;
  47. }
  48. $query->closeCursor();
  49. }
  50. }
  51. /*--> Rester sur le mode encours */
  52. if($vlmod!=""&&fgerr!="") $tpmod="";
  53. /*--> Modify */
  54. if($vlmod!=""&&$fgerr=="") {
  55. $q="INSERT INTO ".$config["dbprefixe"]."inscription (inscription_login, inscription_password, inscription_lastname, inscription_firstname, inscription_pseudo, inscription_email, inscription_token) VALUE (?,?,?,?,?,?,?)";
  56. $inscription_token="";
  57. if($config["modeRegistrationConfirm"]=="direct")
  58. $inscription_token=uniqid(rand(),true);
  59. $tbq=array($inscription_login,md5($inscription_password),$inscription_lastname,$inscription_firstname,"",$inscription_email,$inscription_token);
  60. $query=$bdd01->prepare($q);
  61. $query->execute($tbq);
  62. // Si inscription direct par email on envoit l'email
  63. if($config["modeRegistrationConfirm"]=="direct") {
  64. $to = $inscription_email;
  65. $subject = "Inscription au site = ".$config["title"];
  66. $headers = array();
  67. $headers[] = "MIME-Version: 1.0";
  68. $headers[] = "Content-type: text/html; charset=UTF-8";
  69. $headers[] = "From: Sender Name <sender@domain.com>";
  70. $headers[] = "Reply-To: no-replay";
  71. $headers[] = "Subject: Inscription au site = ".$config["title"];
  72. $headers[] = "X-Mailer: PHP/".phpversion();
  73. $message = "Bonjour,<br>
  74. Merci de valider votre inscription à notre site <strong>".$config["title"]."</strong>, en suivant le lien suivant<br>
  75. <a href='".$config["urlbase"]."/index.php?view=user/confirm.php&login=".$inscription_login."&token=".$inscription_token."'>Validez votre inscription</a>";
  76. $retour=mail($to, $subject, $message, implode("\r\n", $headers));
  77. }
  78. $tpmod="MESSAGE";
  79. }
  80. if($tpmod=="") {
  81. echo "<form class='form-horizontal' role='form' method='post' enctype='multipart/form-data'>";
  82. echo "<input id='tpmod' name='tpmod' type='hidden' value=''>";
  83. // Entete du formulaire
  84. echo "<legend><h1>INSCRIPTION</h1></legend>";
  85. echo "<div class='form-group'>";
  86. echo "<div class='col-sm-12'>";
  87. echo "<input id='vlmod' name='vlmod' type='submit' class='btn btn-primary' value='Enregistrer'>";
  88. echo "</div>";
  89. echo "</div>";
  90. ?>
  91. <fieldset id="encadrer" style="clear:both">
  92. <div class="form-group">
  93. <label for="inscription_login" class="col-sm-3 control-label">Login*</label>
  94. <div class="col-sm-6"><input name="inscription_login" id="inscription_login" type="titre" class="form-control" placeholder="Login" value="<? echo $inscription_login; ?>"></div>
  95. </div>
  96. <div class="form-group">
  97. <label for="inscription_password" class="col-sm-3 control-label">Password*</label>
  98. <div class="col-sm-6"><input name="inscription_password" id="inscription_password" type="password" class="form-control" placeholder="Password" value="<? echo $inscription_password; ?>"></div>
  99. </div>
  100. <div class="form-group">
  101. <label for="inscription_passwordbis" class="col-sm-3 control-label">Confirmer Password*</label>
  102. <div class="col-sm-6"><input name="inscription_passwordbis" id="inscription_passwordbis" type="password" class="form-control" placeholder="Confirmer Password" value="<? echo $inscription_passwordbis; ?>"></div>
  103. </div>
  104. <div class="form-group">
  105. <label for="inscription_lastname" class="col-sm-3 control-label">Nom*</label>
  106. <div class="col-sm-6"><input name="inscription_lastname" id="inscription_lastname" type="titre" class="form-control" placeholder="Nom" value="<? echo $inscription_lastname; ?>"></div>
  107. </div>
  108. <div class="form-group">
  109. <label for="inscription_firstname" class="col-sm-3 control-label">Prénom*</label>
  110. <div class="col-sm-6"><input name="inscription_firstname" id="inscription_firstname" type="titre" class="form-control" placeholder="Prénom" value="<? echo $inscription_firstname; ?>"></div>
  111. </div>
  112. <div class="form-group">
  113. <label for="inscription_email" class="col-sm-3 control-label">Email*</label>
  114. <div class="col-sm-6"><input name="inscription_email" id="inscription_email" type="email" class="form-control" placeholder="Email" value="<? echo $inscription_email; ?>"></div>
  115. </div>
  116. <div class="form-group">
  117. <label for="inscription_email" class="col-sm-3 control-label">Confirmez ce code*</label>
  118. <div class="col-sm-6"><input type="text" id="defaultReal" type="titre" class="form-control" name="defaultReal"></div>
  119. </fieldset>
  120. <?
  121. echo "</form>";
  122. }
  123. elseif($tpmod=="MESSAGE") {
  124. echo "<div class='alert alert-success' role='alert' style='margin: 20px auto 0px auto; max-width: 800px;'>";
  125. if($config["modeRegistrationConfirm"]=="direct") {
  126. echo "Vous allez recevoir par email un message de confirmation que vous devrez suivre pour finaliser votre inscription";
  127. }
  128. else {
  129. echo "Nous avons prise en compte votre demande d'inscription. Vous recevrez un email de confirmation quand nous aurons validé votre profil.";
  130. }
  131. echo "</div>";
  132. }
  133. ?>
  134. <script type="text/JavaScript">
  135. $(document).ready(function() {
  136. $('#defaultReal').realperson();
  137. $('#inscription_login').focus();
  138. <?php echo $jsaction ?>
  139. } );
  140. </script>