PageRenderTime 45ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/application/controllers/inscriptionController.php

https://bitbucket.org/mageecprojects/portail3g
PHP | 281 lines | 237 code | 22 blank | 22 comment | 3 complexity | 2411876296f20cb4d632b796dc7af877 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <?php
  2. require_once("baseController.php");
  3. class inscriptionController extends baseController{
  4. /**
  5. * Page-level DocBlock
  6. *
  7. *
  8. * @todo ajouter le slangues a droite
  9. *
  10. * @todo faire le design d ela page d accueil
  11. * @todo faire le routage correcte des pages
  12. *
  13. *
  14. *
  15. *
  16. */
  17. public function index(){
  18. echo "ok";
  19. }
  20. //-------------------------------
  21. public function inscription(){
  22. $connected=$this->status_connexion();
  23. if(!$connected){
  24. if(!$this->isMobileDevice()) $this->addJs(array("controlins.js"));
  25. $this->vue->set_filenames(array("body"=>"inscription/inscription.tpl","header"=>"common/header.tpl"));
  26. $this->vue->assign_var_from_handle("HEADER","header");
  27. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  28. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  29. $this->vue->pparse("body");
  30. }else{
  31. Tools::redirect($this->domain.$this->dashbord_url);
  32. }
  33. }
  34. //------------------------
  35. public function forgetpass(){
  36. $this->vue->set_filenames(array("body"=>"inscription/forget_pass.tpl","header"=>"common/header.tpl"));
  37. $this->vue->assign_var_from_handle("HEADER","header");
  38. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  39. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  40. $this->vue->pparse("body");
  41. }
  42. //--------------------------
  43. public function inscription_processing(){
  44. $numero=Tools::getPostValue("numero_ab");
  45. $numero2=Tools::getPostValue("numero2_ab");
  46. $email=Tools::getPostValue("email_ab");
  47. $nom=Tools::getPostValue("nom_ab");
  48. $prenom=Tools::getPostValue("prenom_ab");
  49. $reponse=new Moov3GResponseInscriptionMembre();
  50. $equipement=Tools::getPostValue("equipement");
  51. $equipement_soap=$this->device_list_soap[$equipement];
  52. $nom=strtoupper($nom);
  53. $prenom=strtoupper($prenom);
  54. // print_r($_SESSION);
  55. // print_r($_POST);
  56. // $insert_inscrit2="insert into 3g_inscrits2 values (null,'$numero','$numero2') ";
  57. // $this->database->execCustom($insert_inscrit2);
  58. $numequipement_pattern="/^(01|02|03|40|41|42)[0-9]{6}$/i";
  59. $nummobile_pattern="/^[0-9]+$/i";
  60. $alphapattern="/^[A-Z\- ]+$/i";
  61. //$this->correct_captcha();
  62. if(!$this->correct_captcha()){
  63. $this->addMessage($this->MES_ERROR,"Le code de sécurité est incorrecte.");
  64. // echo "incorrecte";
  65. }elseif (!preg_match($numequipement_pattern,$numero )){
  66. $this->addMessage($this->MES_ERROR,"Le numéro fourni n' est pas un numéro moov.");
  67. }elseif (!preg_match($nummobile_pattern,$numero2 )){
  68. $this->addMessage($this->MES_ERROR,"Le numéro mobile est invalide.");
  69. }elseif (!preg_match($alphapattern,$nom )){
  70. $this->addMessage($this->MES_ERROR,"Le nom doit etre en majuscule sans accent.");
  71. }elseif (!preg_match($alphapattern,$prenom )){
  72. $this->addMessage($this->MES_ERROR,"Le prénom doit etre en majuscule sans accent.");
  73. }elseif (!$this->validEmail($email)) {
  74. $this->addMessage($this->MES_ERROR,"Le format de votre email est invalide.");
  75. }else{
  76. $soap_client=new Moov3GSoapWebsiteClient();
  77. $reponse=$soap_client->InscriptionMembre($numero,$email,$nom,$prenom,$equipement_soap);
  78. if($reponse->Succes){
  79. $password=$reponse->Password;
  80. $this->remove_inscrit($numero);
  81. $insert_inscrit="insert into 3g_inscrits values (null,'$numero','$password','$email','$nom','$prenom','$equipement_soap','$numero2') ";
  82. $insert_inscrit2="insert into 3g_inscrits2 values (null,'$numero','$numero2') ";
  83. $this->database->execCustom($insert_inscrit);
  84. $this->database->execCustom($insert_inscrit2);
  85. $this->addMessage($this->MES_SUCESS,"Merci de votre inscription à MOOV3G. Votre mot de passe vous sera envoyé par SMS." );
  86. }else{
  87. $this->addMessage($this->MES_ERROR, utf8_encode($reponse->MessageErreur).".");
  88. }
  89. }
  90. // print_r($reponse);
  91. Tools::redirect($this->domain.$this->inscription_url);
  92. //var_dump($reponse);
  93. }
  94. //----------------------
  95. public function reinit_processing(){
  96. $numero=Tools::getPostValue("numero_ab");
  97. $email=Tools::getPostValue("email_ab");
  98. // print_r($_SESSION);
  99. // print_r($_POST);
  100. //$this->correct_captcha();
  101. $reponse=new Moov3GResponseReinitialisePassword();
  102. if(!$this->correct_captcha()){
  103. $this->addMessage($this->MES_ERROR,"Le code de sécurité est incorrecte.");
  104. // echo "incorrecte";
  105. }else{
  106. $soap_client=new Moov3GSoapWebsiteClient();
  107. $reponse=$soap_client->ReinitialisePassword($numero,$email);
  108. if($reponse->Succes){
  109. // $this->database->execCustom("delete from 3g_inscrits where numero='$numero'");
  110. $new_password=$reponse->Password;
  111. $update_ins="update 3g_inscrits set pass_word ='$new_password' where numero='$numero'";
  112. $this->database->execCustom($update_ins);
  113. $this->addMessage($this->MES_SUCESS,"Votre mot de passe a été reinitialisée avec succès.Un sms de confirmation vous sera envoyée." );
  114. }else{
  115. $this->addMessage($this->MES_ERROR, utf8_encode($reponse->MessageErreur).".");
  116. }
  117. }
  118. Tools::redirect($this->domain.$this->forget_url);
  119. //var_dump($reponse);
  120. }
  121. //--------------------
  122. public function connexion_processing(){
  123. $numero=Tools::getPostValue("numero_ab");
  124. $password=Tools::getPostValue("password_ab");
  125. // $equipement=Tools::getPostValue("equipement");
  126. $current_date=date("Y-m-d H:i:s");
  127. $nom_soap=$prenom_soap=$equipement=$mail_soap="";
  128. // print_r($_SESSION);
  129. //$this->correct_captcha();
  130. if(!$this->correct_captcha()){
  131. $this->addMessage($this->MES_ERROR,"Le code de sécurité est incorrecte.");
  132. // echo "incorrecte";
  133. Tools::redirect($this->domain.$this->login_url);
  134. }else{
  135. $soap_client=new Moov3GSoapWebsiteClient();
  136. $reponse_infos_abonne=new Moov3GResponseInfoMembre();
  137. $reponse=$soap_client->ConnexionMembre($numero,$password);
  138. // print_r($reponse);
  139. if($reponse->Succes){
  140. // echo "success".$reponse->IdConnexion;
  141. //-------------------------------------------
  142. $infos=$this->getInfosMembre($reponse->IdConnexion);
  143. // print_r($infos);
  144. $this->openSession($numero,$reponse->IdConnexion,$infos["equipement"],$password );
  145. $this->saveLastConnectionDate();
  146. $this->database->execCustom("delete from 3g_connexion where numero='$numero'");
  147. $insert_conn="insert into 3g_connexion values (null,'$numero','$current_date') ";
  148. $this->database->execCustom($insert_conn);
  149. // $this->addMessage($this->MES_SUCESS,".Merci de votre inscription à MOOV3G.Votre mot de passe vous sera envoyé par SMS" );
  150. //-----------------
  151. // $email_user=$this->getEmail();
  152. //echo "user:".$email_user."<br>";
  153. if($infos["email"]==""){//pas d email chez moov
  154. $this->remove_inscrit($numero);
  155. $this->add_inscrit($numero,$password ,$infos["email"],$infos["nom"],$infos["prenom"],$infos["equipement"]);
  156. // si il a un mail chez moov on le redirige vers le changement d email
  157. $_SESSION["n_email"]=true;
  158. // echo "ppp";
  159. Tools::redirect($this->domain.$this->change_password_url);
  160. }else{
  161. // echo "pppiii";
  162. Tools::redirect($this->domain.$_SESSION["previous"]);
  163. }
  164. //---------------
  165. }else{
  166. $this->addMessage($this->MES_ERROR, utf8_encode($reponse->MessageErreur).".");
  167. Tools::redirect($this->domain.$this->login_url);
  168. }
  169. //-------------------------------
  170. }
  171. }
  172. //var_dump($reponse);
  173. //-------------------------------
  174. public function connexion(){
  175. $connected=$this->status_connexion();
  176. if(!$connected){
  177. $this->vue->set_filenames(array("body"=>"inscription/connexion.tpl","header"=>"common/header.tpl"));
  178. $this->vue->assign_var_from_handle("HEADER","header");
  179. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  180. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  181. $this->vue->pparse("body");
  182. }else{
  183. Tools::redirect($this->domain.$this->dashbord_url);
  184. }
  185. /*
  186. $response = $clt->InscriptionMembre('03084182', 'lebdenat@hotmail.com') ;
  187. if(! $response->Succes)
  188. {
  189. echo $response->MessageErreur ;
  190. }
  191. else
  192. {
  193. echo "Inscription reussie" ;
  194. }
  195. */
  196. }
  197. //--------------------
  198. }
  199. ?>