PageRenderTime 60ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

/application/controllers/operationsController.php

https://bitbucket.org/mageecprojects/portail3g
PHP | 1155 lines | 890 code | 181 blank | 84 comment | 50 complexity | c764d8d48576df2c798c000c3b17a579 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <?php
  2. require_once("baseController.php");
  3. class operationsController extends baseController{
  4. public function index(){
  5. // print_r($_SESSION);
  6. $connected=$this->status_connexion();
  7. $consommation_bas_debit="(Consommation bas débit)";
  8. $mode_consommation="";
  9. $is_bas_debit=false;
  10. if(!$connected){
  11. // echo "pppppp";
  12. Tools::redirect($this->domain.$this->login_url);
  13. }else{
  14. $reponse=new Moov3GResponseStatutAbonne();
  15. $solde_obj=new Moov3GResponseConsultationCompte();
  16. $hist_obj=new Moov3GResponseHistoriqueSouscription();
  17. $client=new Moov3GSoapWebsiteClient();
  18. $reponse=$client->StatutAbonne(Tools::getsession("id_conn"));
  19. if(Tools::getsession("num_conn")=="42689986"){
  20. // print_r($_SESSION);
  21. }
  22. // print_r($reponse);
  23. $solde_obj=$client->ConsultationCompte(Tools::getsession("id_conn"));
  24. $hist_obj=$client->HistoriqueSouscription(Tools::getsession("id_conn"),1,1);
  25. // print_r($solde_obj);
  26. if(!$reponse->Succes){
  27. Tools::redirect($this->domain.$this->login_url);
  28. }else{
  29. //
  30. // print_r($reponse);
  31. $this->vue->assign_var("SOLDE",Tools::formatfrechprice($solde_obj->Montant ));
  32. $equipement=Tools::getsession("equipement");
  33. if($reponse->ForfaitEnCours){// ila un forfait
  34. // echo "kkkkkkkkkkkkk";
  35. $this->vue->set_filenames(array("forfaits"=>"operations/hasforfait.tpl"));
  36. $volume_tot=$this->ConvertVolumeWithoutUnit($reponse->VolumeTotal);
  37. $volume_used=$this->ConvertVolumeWithoutUnit($reponse->VolumeConsomme);
  38. $volume_rest=floatval($volume_tot-$volume_used);
  39. $ratio_cons=$this->ConvertConsoRatio($volume_tot,$volume_rest );
  40. if($volume_rest<0){// cas d' une consommation bas débit
  41. $volume_rest=0;
  42. $ratio_cons=0;
  43. $is_bas_debit=true;
  44. }
  45. // print_r($_SESSION);
  46. if(Tools::getsession("num_conn")=="01022728"){
  47. echo $reponse->VolumeTotal."<br>";
  48. echo $reponse->VolumeConsomme."<br>";
  49. echo $this->ConvertVolumeWithoutUnit($reponse->VolumeConsomme)."<br>";
  50. echo $volume_used."<br>";
  51. echo $this->ConvertVolumeWithoutUnit($reponse->VolumeTotal)."<br>";
  52. echo $volume_rest."<br>";
  53. echo $ratio_cons."<br>";
  54. echo (($volume_rest/$volume_tot)*100)."<br>";
  55. // echo number_format($volume_rest, 2, ',', ' ');
  56. // $this->getLastConnectionDate(1);
  57. }
  58. if($is_bas_debit) $mode_consommation=$consommation_bas_debit;
  59. //on cache la div
  60. $this->vue->assign_vars(array(
  61. "CONSO_RATIO"=>$ratio_cons,
  62. "MAX_VOLUME"=>Tools::formatfrechprice($volume_tot),
  63. "FORFAIT_ACTIF"=>$reponse->NomForfait." ".$mode_consommation,
  64. "date_expiration"=>Tools::convert_date_to_french($reponse->DateExpiration),
  65. "volume_total"=>$this->ConvertVolume($reponse->VolumeTotal),
  66. "volume_consomme"=>Tools::formatfrechprice($volume_used,2),
  67. "volume_dispo"=>Tools::formatfrechprice($volume_rest,2)
  68. )
  69. );
  70. }else{
  71. $this->vue->set_filenames(array("forfaits"=>"operations/no_forfaits.tpl"));
  72. }
  73. $this->vue->set_filenames(array("body"=>"operations/dashboard.tpl","header"=>"common/header.tpl","login"=>"common/login.tpl","menu"=>"common/menu.tpl"));
  74. if(empty($hist_obj->Elements)){
  75. $dernier_forfait="Aucun forfait souscrit";
  76. $dernier_forfait_date="Aucune souscription";
  77. }else{
  78. $dernier_forfait=$hist_obj->Elements[0]->NomForfait;
  79. $dernier_forfait_date=$hist_obj->Elements[0]->DateSouscription;
  80. $dernier_forfait_date=Tools::convert_date_to_french($dernier_forfait_date);
  81. }
  82. // echo "uuuu".$dernier_forfait;
  83. $this->vue->assign_var("LAST_FORFAIT",$dernier_forfait );//on cache la div
  84. $this->vue->assign_var("DATE_LAST_CONNEXION",$this->getLastConnectionDate());//on cache la div
  85. $this->vue->assign_var("menu_underline_compte","underline" );//on cache la div
  86. $this->vue->assign_var("DATE_LAST_SOUSCRIPTION",$dernier_forfait_date);//on cache la div
  87. // $this->vue->assign_var("device",$this->device_list[$equipement]);//on cache la div
  88. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  89. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  90. $this->vue->assign_var_from_handle("LOGIN","login" );
  91. $this->vue->assign_var_from_handle("MENU","menu" );
  92. $this->vue->assign_var_from_handle("HEADER","header");
  93. $this->vue->assign_var_from_handle("FORFAITS","forfaits" );
  94. $this->vue->pparse("body");
  95. }
  96. }
  97. }
  98. //-----------------------------------------------------
  99. function testdevice(){
  100. if($this->isMobileDevice()){
  101. echo "mobile/tablette";
  102. }else{
  103. echo "pc";
  104. }
  105. }
  106. //----------------------------------------------------
  107. function abonneredirection(){
  108. Tools::redirect($this->domain.$this->login_url);
  109. // echo $_GET["num"];
  110. }
  111. //-------------------------------------------------
  112. //------------------------------------------
  113. function activatepayg(){
  114. $num=Tools::getQueryValue("num");
  115. if($num=="") {
  116. Tools::redirect($this->domain.$this->login_url);
  117. }else{
  118. // echo "uuuuuu";
  119. $client=new Moov3GSoapWebsiteClient();
  120. $reponse=new Moov3GResponseActivatePAYG();
  121. $reponse=$client->ActivatePAYG($num);
  122. // if($reponse->Succes){
  123. $this->addMessage($this->MES_SUCESS,utf8_encode($reponse->MessageSucces) );
  124. /* }else{
  125. $this->addMessage($this->MES_ERROR,utf8_encode($reponse->MessageErreur) );
  126. }*/
  127. // var_dump($reponse);
  128. $this->vue->set_filenames(array("header"=>"common/header.tpl","body"=>"operations/redirection.tpl"));
  129. $this->vue->assign_var("FLAG_SHOW_MENU_REDIRECTION","hide");
  130. $this->vue->assign_var("msisdn",$num );
  131. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  132. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  133. $this->vue->assign_var_from_handle("HEADER","header");
  134. $this->vue->pparse("body");
  135. }
  136. }
  137. //------------------------------------------------
  138. function checkpendingsouscription(){
  139. $num=$_SESSION["pending_num"];
  140. echo $num;
  141. if($num=="") {
  142. Tools::redirect($this->domain.$this->login_url);
  143. }else{
  144. // Tools::redirect($this->domain.$this->login_url);
  145. $client=new Moov3GSoapWebsiteClient();
  146. $reponse=new Moov3GResponseActiveBundlePending();
  147. $this->vue->set_filenames(array("header"=>"common/header.tpl","body"=>"operations/redirection.tpl"));
  148. $reponse=$client->ConfirmBundlePending($num);
  149. //var_dump( $reponse);
  150. if($reponse->Succes){
  151. $this->addMessage($this->MES_SUCESS,$reponse->MessageSucces);
  152. $show_menu_redirection="hide";
  153. unset($_SESSION["pending_num"]);
  154. }else{
  155. $this->addJs(array("reload.js"));
  156. $this->addMessage($this->MES_ERROR,$reponse->MessageErreur);
  157. $show_menu_redirection="hide";
  158. }
  159. $this->vue->assign_var("FLAG_SHOW_MENU_REDIRECTION",$show_menu_redirection );
  160. $this->vue->assign_var("msisdn",$num );
  161. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  162. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  163. $this->vue->assign_var_from_handle("HEADER","header");
  164. $this->vue->pparse("body");
  165. }
  166. }
  167. //------------------------------------------------
  168. function abonneredirection2(){
  169. $num=Tools::getQueryValue("num");
  170. // echo $num;
  171. if($num=="") {
  172. Tools::redirect($this->domain.$this->login_url);
  173. }else{
  174. // Tools::redirect($this->domain.$this->login_url);
  175. $client=new Moov3GSoapWebsiteClient();
  176. $reponse=new Moov3GResponseActiveBundlePending();
  177. // $this->vue->set_filenames(array("header"=>"common/header.tpl","body"=>"operations/redirection.tpl"));
  178. $reponse=$client->ActiveBundlePending($num);
  179. if($reponse->Succes){
  180. $this->vue->set_filenames(array("header"=>"common/header.tpl","body"=>"operations/redirection.tpl"));
  181. $this->addMessage($this->MES_SUCESS,"VOUS NE DISPOSEZ D' AUCUN FORFAIT INTERNET OU VOTRE FORFAIT INTERNET EST EPUISE.VEUILLEZ SELECTIONNEZ VOTRE MODE DE NAVIGATION" );
  182. $this->vue->assign_var("FLAG_SHOW_MENU_REDIRECTION",$show_menu_redirection );
  183. $this->vue->assign_var("msisdn",$num );
  184. }else{
  185. $_SESSION["pending_num"]=$num;
  186. Tools::redirect($this->domain."account/pending/");
  187. }
  188. // var_dump( $reponse);
  189. // $codereponse=intval($reponse->LastConfigNode["child"][4]["content"]);
  190. // $statut=$reponse->LastConfigNode["child"][9]["content"];
  191. // $codereponse=$reponse->LastConfigNode["child"][4]["content"];
  192. // echo $codereponse."<br>";
  193. // echo $statut."<br>";
  194. // var_dump($reponse->LastConfigNode["child"]);
  195. /* if((intval($codereponse)==0)&&($statut=="true")){
  196. $this->addMessage($this->MES_SUCESS,$reponse->MessageSucces );
  197. $show_menu_redirection="hide";
  198. }elseif(($statut=="false") &&(($codereponse==-1)||($codereponse==-3)||($codereponse==-4))){
  199. $this->addMessage($this->MES_ERROR,$reponse->MessageErreur );
  200. $show_menu_redirection="hide";
  201. }elseif(($statut=="false")&&($codereponse==-2)){
  202. $show_menu_redirection="";
  203. $this->addMessage($this->MES_SUCESS,"VOTRE FORFAIT DE NAVIGATION INTERNET EST EPUISE" );
  204. }else{
  205. $show_menu_redirection="";
  206. $this->addMessage($this->MES_SUCESS,"VOTRE FORFAIT DE NAVIGATION INTERNET EST EPUISE" );
  207. }*/
  208. // var_dump($reponse);
  209. // echo $_GET["num"];
  210. /* $this->vue->assign_var("FLAG_SHOW_MENU_REDIRECTION",$show_menu_redirection );
  211. $this->vue->assign_var("msisdn",$num );*/
  212. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  213. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  214. $this->vue->assign_var_from_handle("HEADER","header");
  215. $this->vue->pparse("body");
  216. }
  217. }
  218. //----------------------------------------
  219. function logout(){
  220. $reponse=new Moov3GResponseDeconnexionMembre();
  221. $client=new Moov3GSoapWebsiteClient();
  222. $reponse=$client->DeconnexionMembre(Tools::getsession("id_conn"));
  223. if($reponse->Succes){
  224. session_unset();
  225. session_destroy();
  226. Tools::redirect($this->domain.$this->login_url);
  227. }else{
  228. // $this->addMessage($this->MES_ERROR, utf8_encode($reponse->MessageErreur).".");
  229. session_unset();
  230. session_destroy();
  231. Tools::redirect($this->domain.$this->login_url);
  232. // Tools::redirect($this->dashbord_url);
  233. }
  234. }
  235. //--------------------------------------------------
  236. public function forfaits(){
  237. $reponse_offres=new Moov3GResponseListeOffre();
  238. $reponse_solde=new Moov3GResponseConsultationCompte();
  239. $reponse_statut=new Moov3GResponseStatutAbonne();
  240. $client=new Moov3GSoapWebsiteClient();
  241. $nom_forfait_en_cours="Aucun forfait actif sur ce compte";
  242. $connected=$this->status_connexion();
  243. if(!$connected){
  244. Tools::redirect($this->domain.$this->login_url);
  245. }else{
  246. // echo Tools::getsession("id_conn");
  247. $reponse_offres=$client->ListeOffre(Tools::getsession("id_conn"),Tools::getsession("equipement"));
  248. $reponse_statut=$client->StatutAbonne(Tools::getsession("id_conn"));
  249. $reponse_solde=$client->ConsultationCompte(Tools::getsession("id_conn"));
  250. if(!$reponse_statut->Succes){
  251. Tools::redirect($this->domain.$this->login_url);
  252. }else{
  253. // print_r($reponse_offres);
  254. if($reponse_statut->ForfaitEnCours){
  255. $nom_forfait_en_cours=$reponse_statut->NomForfait;
  256. $date_forfait="Expire le : <strong>".Tools::convert_date_to_french($reponse_statut->DateExpiration)."</strong><br><br>";
  257. }else{
  258. $show_stop_forfait="hide";
  259. $date_forfait="";
  260. }
  261. }
  262. //on charge les forfaits
  263. $offres_listes=$this->filterForfaits($reponse_offres->Elements,Tools::getsession("equipement") );
  264. foreach($offres_listes as $offre){
  265. $this->vue->assign_block_vars("offres",
  266. array("nom"=>strtoupper($offre->Nom),
  267. "duree"=>$offre->TotalJours,
  268. "id"=>$offre->Id,
  269. "volume"=>$this->ConvertVolumeOffre($offre->VolumeMax),
  270. "prix"=>Tools::formatfrechprice($offre->Montant),
  271. )
  272. );
  273. }
  274. //---------on assigne les vues aux variables
  275. $this->vue->assign_var("SOLDE",Tools::formatfrechprice($reponse_solde->Montant ));
  276. $this->vue->assign_var("menu_underline_forfait","underline" );//on cache la div
  277. $this->vue->assign_vars(array(
  278. "forfait_actif"=>$nom_forfait_en_cours,
  279. "date_forfait"=>$date_forfait,
  280. "flag_show_date_forfait"=>$show_date_forfait,
  281. "flag_stop_forfait"=>$show_stop_forfait,
  282. ));
  283. $this->vue->set_filenames(array("body"=>"operations/offres.tpl","header"=>"common/header.tpl","login"=>"common/login.tpl","menu"=>"common/menu.tpl","forfaits"=>"operations/liste_offres.tpl"));
  284. $this->vue->assign_var_from_handle("LOGIN","login" );
  285. $this->vue->assign_var_from_handle("MENU","menu" );
  286. $this->vue->assign_var_from_handle("HEADER","header");
  287. $this->vue->assign_var_from_handle("OFFRES","forfaits" );
  288. $this->vue->pparse("body");
  289. }
  290. }
  291. //---------------------------------------------------
  292. public function getOffres(){
  293. $connected=$this->status_connexion();
  294. $res=array();
  295. if(!$connected){
  296. echo "ERROR";
  297. }else{
  298. $device=Tools::getPostValue("device");
  299. $reponse=new Moov3GResponseListeOffre();
  300. $offre=new Moov3GOffre();
  301. $client=new Moov3GSoapWebsiteClient();
  302. // $reponse=$client->ListeOffre(Tools::getsession("id_conn"),$this->device_list_soap[$device]);
  303. $reponse=$client->ListeOffre(Tools::getsession("id_conn"),$device);
  304. if(!$reponse->Succes){
  305. echo "ERROR";
  306. }else{
  307. $liste_offres=$this->filterForfaits($reponse->Elements,$device );
  308. foreach($liste_offres as $offre){
  309. $data_offres=array();
  310. $data_offres[]=$offre->Id;
  311. $data_offres[]=strtoupper($offre->Nom);
  312. $data_offres[]=$offre->TotalJours;
  313. $data_offres[]=$this->ConvertVolumeOffre($offre->VolumeMax);
  314. $data_offres[]=Tools::formatfrechprice($offre->Montant);
  315. $one_forfait=implode("@",$data_offres);
  316. $res[]=$one_forfait;
  317. }
  318. echo implode("@@@",$res);
  319. }
  320. }
  321. }
  322. //-----------------------------------------------
  323. public function stop(){
  324. $connected=$this->status_connexion();
  325. if(!$connected){
  326. Tools::redirect($this->domain.$this->login_url);
  327. }else{
  328. $reponse=new Moov3GResponseStopSouscription();
  329. $client=new Moov3GSoapWebsiteClient();
  330. $reponse=$client->StopSouscription(Tools::getsession("id_conn"));
  331. if($reponse->Succes){
  332. $this->addMessage($this->MES_SUCESS,"Votre forfait a été arrêté avec succés.Vous ne disposez d' aucun forfait actif sur ce compte.");
  333. }else{
  334. $this->addMessage($this->MES_ERROR, utf8_encode($reponse->MessageErreur).".");
  335. }
  336. Tools::redirect($this->domain.$this->dashbord_url);
  337. }
  338. }
  339. public function offrir_forfaits(){
  340. $reponse_offres=new Moov3GResponseListeOffre();
  341. $reponse_solde=new Moov3GResponseConsultationCompte();
  342. $reponse_statut=new Moov3GResponseStatutAbonne();
  343. $client=new Moov3GSoapWebsiteClient();
  344. $nom_forfait_en_cours="Aucun forfait actif sur ce compte";
  345. $connected=$this->status_connexion();
  346. if(!$connected){
  347. Tools::redirect($this->domain.$this->login_url);
  348. }else{
  349. $reponse_offres=$client->ListeOffre(Tools::getsession("id_conn"),Tools::getsession("equipement"));
  350. $reponse_statut=$client->StatutAbonne(Tools::getsession("id_conn"));
  351. $reponse_solde=$client->ConsultationCompte(Tools::getsession("id_conn"));
  352. if(!$reponse_offres->Succes){
  353. Tools::redirect($this->domain.$this->login_url);
  354. }else{
  355. //print_r($reponse_offres);
  356. if($reponse_statut->ForfaitEnCours){
  357. $nom_forfait_en_cours=$reponse_statut->NomForfait;
  358. $date_forfait="Expire le : <strong>".Tools::convert_date_to_french($reponse_statut->DateExpiration)."</strong><br><br>";
  359. }else{
  360. $show_stop_forfait="hide";
  361. $date_forfait="";
  362. }
  363. }
  364. //on charge les forfaits
  365. $offres_listes=$this->filterForfaits($reponse_offres->Elements,"0" );
  366. foreach($offres_listes as $offre){
  367. $this->vue->assign_block_vars("offres",
  368. array("nom"=>strtoupper($offre->Nom),
  369. "duree"=>$offre->TotalJours,
  370. "id"=>$offre->Id,
  371. "volume"=>$this->ConvertVolumeOffre($offre->VolumeMax),
  372. "prix"=>Tools::formatfrechprice($offre->Montant),
  373. )
  374. );
  375. }
  376. //---------on assigne les vues aux variables
  377. $this->vue->assign_var("SOLDE",Tools::formatfrechprice($reponse_solde->Montant ));
  378. $this->vue->assign_vars(array(
  379. "forfait_actif"=>$nom_forfait_en_cours,
  380. "date_forfait"=>$date_forfait,
  381. "flag_show_date_forfait"=>$show_date_forfait,
  382. "flag_stop_forfait"=>$show_stop_forfait,
  383. ));
  384. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  385. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  386. $this->vue->assign_var("menu_underline_send","underline" );//on cache la div
  387. $this->vue->set_filenames(array("body"=>"operations/offrir_forfait.tpl","header"=>"common/header.tpl","login"=>"common/login.tpl","menu"=>"common/menu.tpl","forfaits"=>"operations/liste_offres.tpl"));
  388. $this->vue->assign_var_from_handle("LOGIN","login" );
  389. $this->vue->assign_var_from_handle("MENU","menu" );
  390. $this->vue->assign_var_from_handle("HEADER","header");
  391. $this->vue->pparse("body");
  392. }
  393. }
  394. //----------------------------------------------------
  395. public function charge_compte_processing(){
  396. $connected=$this->status_connexion();
  397. $reponse=new Moov3GResponseRechargementCompte();
  398. $client=new Moov3GSoapWebsiteClient();
  399. $rechargement=Tools::getPostValue("code_recharge");
  400. if(!$connected){
  401. Tools::redirect($this->domain.$this->login_url);
  402. }elseif($rechargement==""){
  403. $this->addMessage($this->MES_ERROR,"Veuillez saisir un code de rechargement" );
  404. Tools::redirect($this->domain.$this->recharge_url);
  405. }elseif(!is_numeric($rechargement)){
  406. $this->addMessage($this->MES_ERROR,"le format du code de rechargement est incorrecte");
  407. Tools::redirect($this->domain.$this->recharge_url);
  408. }elseif((strlen($rechargement)!=14)||(strlen($rechargement)!=16)){
  409. $this->addMessage($this->MES_ERROR,"le code de rechargement doit comporter 14 ou 16 chiffres");
  410. Tools::redirect($this->domain.$this->recharge_url);
  411. }else{
  412. // $reponse=$client->RechargementCompte(Tools::getsession("id_conn"),'xxxxxxxxxxxxxx' );
  413. $reponse=$client->RechargementCompte(Tools::getsession("id_conn"),$rechargement );
  414. if($reponse->Succes){
  415. $this->addMessage($this->MES_SUCESS,"Votre rechargement s' est déroulé avec succès." );
  416. }else{
  417. $this->addMessage($this->MES_ERROR,utf8_encode($reponse->MessageErreur)."");
  418. }
  419. // print_r($reponse);
  420. Tools::redirect($this->domain.$this->dashbord_url);
  421. }
  422. }
  423. //----------------------------------------
  424. public function change_password_processing(){
  425. $connected=$this->status_connexion();
  426. $reponse=new Moov3GResponseChangePassword();
  427. $client=new Moov3GSoapWebsiteClient();
  428. if(!$connected){
  429. Tools::redirect($this->domain.$this->login_url);
  430. }else{
  431. $old_pass=Tools::getPostValue("old_password");
  432. $new_pass=Tools::getPostValue("new_password");
  433. $conf_pass=Tools::getPostValue("conf_password");
  434. if($new_pass!=$conf_pass){
  435. $this->addMessage($this->MES_ERROR,"Vos 2 mots de passe ne sont pas identiques.Veuillez les ressaisir.");
  436. Tools::redirect($this->domain.$this->change_password_url);
  437. }else if(($old_pass=="")||($new_pass=="")||($conf_pass=="")){
  438. $this->addMessage($this->MES_ERROR,"Un ou plusieurs champs sont vides.Veuillez remplir tous les champs avant de valider le formulaire.");
  439. Tools::redirect($this->domain.$this->change_password_url);
  440. }else{
  441. // $reponse=$client->RechargementCompte(Tools::getsession("id_conn"),'xxxxxxxxxxxxxx' );
  442. $reponse=$client->ChangePassword(Tools::getsession("num_conn"),$old_pass,$new_pass );
  443. if($reponse->Succes){
  444. $num_conn=Tools::getsession("num_conn");
  445. $this->database->execCustom("update 3g_inscrits set pass_word='$new_pass' where numero='$num_conn'");
  446. $_SESSION["password_conn"]=$new_pass;
  447. $this->addMessage($this->MES_SUCESS,"Le changement de votre mot de passe s' est déroulé avec succès. MOOV CI vous remercie de votre confiance." );
  448. Tools::redirect($this->domain.$this->dashbord_url);
  449. }else{
  450. $this->addMessage($this->MES_ERROR,utf8_encode($reponse->MessageErreur)."." );
  451. Tools::redirect($this->domain.$this->change_password_url);
  452. }
  453. // print_r($reponse);
  454. }
  455. }
  456. }
  457. //----------------------------------------
  458. public function change_device_processing(){
  459. $connected=$this->status_connexion();
  460. $reponse=new Moov3GResponseModifieMembre();
  461. $infos=new Moov3GResponseInfoMembre();
  462. $client=new Moov3GSoapWebsiteClient();
  463. if(!$connected){
  464. Tools::redirect($this->domain.$this->login_url);
  465. }else{
  466. $new_equipement=Tools::getPostValue("new_equipement");
  467. $infos=$client->InfoMembre(Tools::getsession("id_conn"));
  468. if($infos->Succes){
  469. $nom=$infos->Nom;
  470. $prenom=$infos->Prenoms;
  471. $email=$infos->Email;
  472. if($nom=="") $nom="ABONNE";
  473. if($prenom=="") $prenom="SANS NOM";
  474. $reponse=$client->ModifieMembre(Tools::getsession("id_conn"),$email,$nom,$prenom,$new_equipement );
  475. if($reponse->Succes){
  476. $num_conn=Tools::getsession("num_conn");
  477. $this->database->execCustom("update 3g_inscrits set equipement='$new_equipement' where numero='$num_conn'");
  478. $_SESSION["equipement"]=$new_equipement;
  479. $this->addMessage($this->MES_SUCESS,"Le changement de votre mot equipement s' est déroulé avec succès. MOOV CI vous remercie de votre confiance." );
  480. Tools::redirect($this->domain.$this->dashbord_url);
  481. }else{
  482. $this->addMessage($this->MES_ERROR,utf8_encode($reponse->MessageErreur)."." );
  483. Tools::redirect($this->domain.$this->change_password_url);
  484. }
  485. }else{
  486. // $reponse=$client->RechargementCompte(Tools::getsession("id_conn"),'xxxxxxxxxxxxxx' );
  487. // print_r($reponse);
  488. }
  489. }
  490. }
  491. ///------------------------------
  492. public function change_name_processing(){
  493. $connected=$this->status_connexion();
  494. $reponse=new Moov3GResponseModifieMembre();
  495. $infos=new Moov3GResponseInfoMembre();
  496. $client=new Moov3GSoapWebsiteClient();
  497. $new_nom=Tools::getPostValue("nom_user");
  498. $new_prenom=Tools::getPostValue("prenom_user");
  499. $nompattern="/^[A-Za-z\- ]+$/i";
  500. if(!$connected){
  501. Tools::redirect($this->domain.$this->login_url);
  502. }elseif(!preg_match($nompattern,$new_nom )){
  503. $this->addMessage($this->MES_ERROR,"Votre nom contient des caractères incorrectes" );
  504. Tools::redirect($this->domain.$this->change_password_url);
  505. }elseif(!preg_match($nompattern,$new_prenom)){
  506. $this->addMessage($this->MES_ERROR,"Votre prénom contient des caractères incorrectes" );
  507. Tools::redirect($this->domain.$this->change_password_url);
  508. }else{
  509. $new_nom=strtoupper($new_nom);
  510. $new_prenom=strtoupper($new_prenom);
  511. $infos=$client->InfoMembre(Tools::getsession("id_conn"));
  512. if($infos->Succes){
  513. // $nom=$infos->Nom;
  514. // $prenom=$infos->Prenoms;
  515. $email=$infos->Email;
  516. $equipement=$infos->Equipement;
  517. // if($nom=="") $nom="ABONNE";
  518. // if($prenom=="") $prenom="SANS NOM";
  519. $reponse=$client->ModifieMembre(Tools::getsession("id_conn"),$email,$new_nom,$new_prenom,$equipement );
  520. if($reponse->Succes){
  521. $num_conn=Tools::getsession("num_conn");
  522. $this->database->execCustom("update 3g_inscrits set nom='$new_nom',prenoms='$new_prenom' where numero='$num_conn'");
  523. //$_SESSION["equipement"]=$new_equipement;
  524. $this->addMessage($this->MES_SUCESS,"Le changement de vos noms et prénoms se sont déroulés avec succès. MOOV CI vous remercie de votre confiance." );
  525. Tools::redirect($this->domain.$this->dashbord_url);
  526. }else{
  527. $this->addMessage($this->MES_ERROR,utf8_encode($reponse->MessageErreur)."." );
  528. Tools::redirect($this->domain.$this->change_password_url);
  529. }
  530. }else{
  531. $this->addMessage($this->MES_ERROR,utf8_encode($reponse->MessageErreur)."." );
  532. Tools::redirect($this->domain.$this->dashbord_url);
  533. // $reponse=$client->RechargementCompte(Tools::getsession("id_conn"),'xxxxxxxxxxxxxx' );
  534. // print_r($reponse);
  535. }
  536. }
  537. }
  538. //------------------------------
  539. public function change_email_processing(){
  540. $connected=$this->status_connexion();
  541. // $reponse=new Moov3GResponseChangePassword();
  542. // $client=new Moov3GSoapWebsiteClient();
  543. if(!$connected){
  544. Tools::redirect($this->domain.$this->login_url);
  545. }else{
  546. // echo "oooooo";
  547. $correct_email=$this->getEmail();
  548. $old_email=Tools::getPostValue("old_email");
  549. $new_email=Tools::getPostValue("new_email");
  550. $conf_email=Tools::getPostValue("conf_email");
  551. //-----------------------------------------------
  552. // print_r($_POST);
  553. // print_r($_SESSION);
  554. $numero_conn=Tools::getsession("num_conn");
  555. $reponse=new Moov3GResponseModifieMembre();
  556. $client=new Moov3GSoapWebsiteClient();
  557. $infos=$this->getInfosMembre();//on obtient les infos d elabonne via soap
  558. // $equipement_soap=($infos["equipement"]=="") ? "SMARTPHONE" : $infos["equipement"];
  559. if(!$infos["success"]){
  560. $this->addMessage($this->MES_ERROR,$infos["error"] );
  561. Tools::redirect($this->domain.$this->change_password_url);
  562. }
  563. //--------------------------------
  564. if($_SESSION["n_email"]){// cas d' un ajout d email
  565. if((!filter_var($new_email,FILTER_VALIDATE_EMAIL))){
  566. $this->addMessage($this->MES_ERROR,"Votre nouvel email n' est pas un email valide.Veuillez le corriger.");
  567. Tools::redirect($this->domain.$this->change_password_url."?om=".$old_email."&n_m=".$new_email);
  568. }else if($new_email!=$conf_email){
  569. $this->addMessage($this->MES_ERROR,"Vos 2 emails ne sont pas identiques.Veuillez les ressaisir.");
  570. Tools::redirect($this->domain.$this->change_password_url."?om=".$old_email."&n_m=".$new_email);
  571. }else{
  572. $reponse=$client->ModifieMembre(Tools::getsession("id_conn"),$new_email,$infos["nom"],$infos["prenom"],$infos["equipement"]);
  573. if($reponse->Succes){
  574. $this->database->execCustom("update 3g_inscrits set email='$new_email' where numero='$numero_conn'");
  575. $this->addMessage($this->MES_SUCESS,"Le changement de votre email s' est déroulé avec succès. MOOV CI vous remercie de votre confiance." );
  576. // print_r($reponse);
  577. unset($_SESSION["n_email"]);
  578. // echo "ok";
  579. Tools::redirect($this->domain.$this->dashbord_url);
  580. }else{
  581. $this->addMessage($this->MES_ERROR,utf8_encode($reponse->MessageErreur).".");
  582. Tools::redirect($this->domain.$this->change_password_url);
  583. }
  584. }
  585. }else{// cas d' un changement email normal
  586. if((!filter_var($old_email,FILTER_VALIDATE_EMAIL))){
  587. $this->addMessage($this->MES_ERROR,"Votre ancien email n' est pas un email valide.Veuillez le corriger.");
  588. Tools::redirect($this->domain.$this->change_password_url."?om=".$old_email."&n_m=".$new_email);
  589. }else if((!filter_var($new_email,FILTER_VALIDATE_EMAIL))){
  590. $this->addMessage($this->MES_ERROR,"Votre nouvel email n' est pas un email valide.Veuillez le corriger.");
  591. Tools::redirect($this->domain.$this->change_password_url."?om=".$old_email."&n_m=".$new_email);
  592. }else if($old_email!=$infos["email"]){
  593. $this->addMessage($this->MES_ERROR,"l' ancien email ne correspond pas à celui que vous avez fourni à votre inscription.Veuillez le corriger.");
  594. Tools::redirect($this->domain.$this->change_password_url."?om=".$old_email."&n_m=".$new_email);
  595. }else if($new_email!=$conf_email){
  596. $this->addMessage($this->MES_ERROR,"Vos 2 emails ne sont pas identiques.Veuillez les ressaisir.");
  597. Tools::redirect($this->domain.$this->change_password_url."?om=".$old_email."&n_m=".$new_email);
  598. }else if(($old_email=="")||($new_email=="")||($conf_email=="")){
  599. $this->addMessage($this->MES_ERROR,"Un ou plusieurs champs sont vides.Veuillez remplir tous les champs avant de valider le formulaire.");
  600. Tools::redirect($this->domain.$this->change_password_url."?om=".$old_email."&n_m=".$new_email);
  601. }else{
  602. $reponse=$client->ModifieMembre(Tools::getsession("id_conn"),$new_email,$infos["nom"],$infos["prenom"],$infos["equipement"]);
  603. if($reponse->Succes){
  604. $this->database->execCustom("update 3g_inscrits set email='$new_email' where numero='$numero_conn'");
  605. $this->addMessage($this->MES_SUCESS,"Le changement de votre email s' est déroulé avec succès. MOOV CI vous remercie de votre confiance." );
  606. // print_r($reponse);
  607. // unset($_SESSION["n_email"]);
  608. Tools::redirect($this->domain.$this->dashbord_url);
  609. }else{
  610. $this->addMessage($this->MES_ERROR,utf8_encode($reponse->MessageErreur).".");
  611. Tools::redirect($this->domain.$this->change_password_url);
  612. }
  613. }
  614. }
  615. }
  616. }
  617. //-----------------------------------
  618. function recharge_compte(){
  619. $connected=$this->status_connexion();
  620. if(!$connected){
  621. // echo "pppppp";
  622. Tools::redirect($this->domain.$this->login_url);
  623. }else{
  624. $reponse=new Moov3GResponseRechargementCompte();
  625. $client=new Moov3GSoapWebsiteClient();
  626. $reponse=$client->StatutAbonne(Tools::getsession("id_conn"));
  627. // print_r($solde_obj);
  628. if(!$reponse->Succes){
  629. Tools::redirect($this->domain.$this->login_url);
  630. }else{
  631. //
  632. // print_r($reponse);
  633. $this->vue->set_filenames(array("body"=>"operations/rechargement.tpl","header"=>"common/header.tpl","login"=>"common/login.tpl","menu"=>"common/menu.tpl"));
  634. $this->vue->assign_var("menu_underline_recharge","underline" );//on cache la div
  635. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  636. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  637. $this->vue->assign_var_from_handle("LOGIN","login" );
  638. $this->vue->assign_var_from_handle("MENU","menu" );
  639. $this->vue->assign_var_from_handle("HEADER","header");
  640. $this->vue->pparse("body");
  641. }
  642. }
  643. }
  644. //----------------------------------
  645. function change_password3(){
  646. $connected=$this->status_connexion();
  647. $old_mail=Tools::getQueryValue("om");
  648. $new_mail=Tools::getQueryValue("nm");
  649. // print_r($_SESSION);
  650. if(!$connected){
  651. // echo "pppppp";
  652. Tools::redirect($this->domain.$this->login_url);
  653. }else{
  654. // print_r($this->getInfosMembre());
  655. $reponse=new Moov3GResponseChangePassword();
  656. $client=new Moov3GSoapWebsiteClient();
  657. $reponse=$client->StatutAbonne(Tools::getsession("id_conn"));
  658. // print_r($solde_obj);
  659. if(!$reponse->Succes){
  660. Tools::redirect($this->domain.$this->login_url);
  661. }else{
  662. //
  663. // print_r($reponse);
  664. if($_SESSION["n_email"]){
  665. if((empty($_GET))&&(!isset($_SESSION["msgcontent"]))){
  666. $this->addMessage($this->MES_WARNING,"Veuillez renseigner votre email.MOOV CI vous enverra des informations via cet email." );
  667. }
  668. $this->vue->assign_var("hide_old_email","hide" );
  669. $this->vue->assign_var("hide_change_password","hide" );
  670. //unset($_SESSION["n_mail"]);
  671. }
  672. $this->vue->set_filenames(array("body"=>"operations/change_password.tpl","header"=>"common/header.tpl","login"=>"common/login.tpl","menu"=>"common/menu.tpl"));
  673. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  674. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  675. $this->vue->assign_var("old_email",Tools::escapeVar($old_mail) );
  676. $this->vue->assign_var("new_email",Tools::escapeVar($new_mail) );
  677. $this->vue->assign_var("menu_underline_infos","underline" );//on cache la div
  678. $this->vue->assign_var_from_handle("LOGIN","login" );
  679. $this->vue->assign_var_from_handle("MENU","menu" );
  680. $this->vue->assign_var_from_handle("HEADER","header");
  681. $this->vue->pparse("body");
  682. }
  683. }
  684. }
  685. //-------------------------------
  686. function change_password(){
  687. $connected=$this->status_connexion();
  688. $old_mail=Tools::getQueryValue("om");
  689. $new_mail=Tools::getQueryValue("nm");
  690. // print_r($_SESSION);
  691. if(!$connected){
  692. // echo "pppppp";
  693. Tools::redirect($this->domain.$this->login_url);
  694. }else{
  695. // print_r($this->getInfosMembre());
  696. $reponse=new Moov3GResponseChangePassword();
  697. $client=new Moov3GSoapWebsiteClient();
  698. $reponse=$client->StatutAbonne(Tools::getsession("id_conn"));
  699. // print_r($solde_obj);
  700. if(!$reponse->Succes){
  701. Tools::redirect($this->domain.$this->login_url);
  702. }else{
  703. //
  704. // print_r($reponse);
  705. if($_SESSION["n_email"]){
  706. if((empty($_GET))&&(!isset($_SESSION["msgcontent"]))){
  707. $this->addMessage($this->MES_WARNING,"Veuillez renseigner votre email.MOOV CI vous enverra des informations via cet email." );
  708. }
  709. $this->vue->assign_var("hide_old_email","hide" );
  710. $this->vue->assign_var("hide_change_password","hide" );
  711. //unset($_SESSION["n_mail"]);
  712. }
  713. $this->vue->set_filenames(array("body"=>"operations/infos_perso.tpl","header"=>"common/header.tpl","login"=>"common/login.tpl","menu"=>"common/menu.tpl"));
  714. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  715. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  716. $this->vue->assign_var("old_email",Tools::escapeVar($old_mail) );
  717. $this->vue->assign_var("new_email",Tools::escapeVar($new_mail) );
  718. $this->vue->assign_var("old_name",$_SESSION["realname"] );
  719. $this->vue->assign_var("old_prenom",$_SESSION["realprenom"] );
  720. $this->vue->assign_var("menu_underline_infos","underline" );//on cache la div
  721. $this->vue->assign_var_from_handle("LOGIN","login" );
  722. $this->vue->assign_var_from_handle("MENU","menu" );
  723. $this->vue->assign_var_from_handle("HEADER","header");
  724. $this->vue->pparse("body");
  725. }
  726. }
  727. }
  728. //----------------------------
  729. public function add_forfait(){
  730. $connected=$this->status_connexion();
  731. if(!$connected){
  732. Tools::redirect($this->domain.$this->login_url);
  733. }else{
  734. $reponse=new Moov3GResponseSouscritAbonne();
  735. $client=new Moov3GSoapWebsiteClient();
  736. $reference_forfait=Tools::getQueryValue("ref");
  737. $reponse=$client->SouscritAbonne(Tools::getsession("id_conn"),$reference_forfait,"",true );
  738. if($reponse->Succes){
  739. $this->addMessage($this->MES_SUCESS,"Opération réussie.Votre nouveau forfait est actif.");
  740. }else{
  741. $this->addMessage($this->MES_ERROR, utf8_encode($reponse->MessageErreur).".");
  742. }
  743. Tools::redirect($this->domain.$this->dashbord_url);
  744. }
  745. }
  746. //--------------------------------
  747. public function sendMessageToMoov(){
  748. $connected=$this->status_connexion();
  749. $line_separator="<br><br>";
  750. if(!$connected){
  751. Tools::redirect($this->domain.$this->login_url);
  752. }else{
  753. $error_list=array();
  754. $nom=Tools::getPostValue("nom");
  755. $prenom=Tools::getPostValue("prenom");
  756. $email=Tools::getPostValue("email");
  757. $sujet=Tools::getPostValue("sujet");
  758. $message=$_POST["message"];
  759. if(!Tools::is_alphabetic($nom)){
  760. $error_list[]="Veuillez saisir un nom valide";
  761. }
  762. if(!Tools::is_alphabetic($prenom)){
  763. $error_list[]="Veuillez saisir un prénom valide";
  764. }
  765. if(!Tools::is_alphanumeric($sujet)){
  766. $error_list[]="Veuillez saisir un sujet valide";
  767. }
  768. if(!Tools::is_email($email)){
  769. $error_list[]="Veuillez saisir un email valide";
  770. }
  771. if($message==""){
  772. $error_list[]="Votre message est vide ou contient des caractères invalides";
  773. }
  774. /* if(!Tools::is_alphanumeric($message)){
  775. $error_list[]="Votre message est vide ou contient des caractères invalides";
  776. }*/
  777. if(!empty($error_list)){
  778. $this->addMessage($this->MES_ERROR,implode("<br>",$error_list ) );
  779. Tools::redirect($this->domain.$this->contact_url);
  780. }else{
  781. $mail_message.="NOM: ".$nom.$line_separator;
  782. $mail_message.="PRENOM: ".$prenom.$line_separator;
  783. $mail_message.="EMAIL: ".$email.$line_separator;
  784. $mail_message.="MESSAGE: ".str_replace("\n","<br>" ,$message ).$line_separator;
  785. // $this->launchmail("interactiveneo@gmail.com",$mail_message );
  786. $this->launchmail($this->contact_clientele_moov,$mail_message );
  787. $this->addMessage($this->MES_SUCESS,"Votre message a été envoyée au service clientèle de MOOV CI.<br>Vous recevrez une réponse dans un délai de 48h" );
  788. Tools::redirect($this->domain.$this->dashbord_url);
  789. }
  790. }
  791. }
  792. //-------------------------
  793. public function contact_clientele(){
  794. $connected=$this->status_connexion();
  795. if(!$connected){
  796. // echo "pppppp";
  797. Tools::redirect($this->domain.$this->login_url);
  798. }else{
  799. $reponse=new Moov3GResponseStatutAbonne();
  800. $client=new Moov3GSoapWebsiteClient();
  801. $reponse=$client->StatutAbonne(Tools::getsession("id_conn"));
  802. // print_r($solde_obj);
  803. if(!$reponse->Succes){
  804. Tools::redirect($this->domain.$this->login_url);
  805. }else{
  806. //
  807. // print_r($reponse);
  808. $this->vue->set_filenames(array("body"=>"operations/contact.tpl","header"=>"common/header.tpl","login"=>"common/login.tpl","menu"=>"common/menu.tpl"));
  809. $this->vue->assign_var("menu_underline_contact","underline" );//on cache la div
  810. $this->vue->assign_var("ERROR_TYPE",$this->getMessagetype() );
  811. $this->vue->assign_var("ERROR_MESSAGE",$this->getMessageContent() );
  812. $this->vue->assign_var_from_handle("LOGIN","login" );
  813. $this->vue->assign_var_from_handle("MENU","menu" );
  814. $this->vue->assign_var_from_handle("HEADER","header");
  815. $this->vue->pparse("body");
  816. }
  817. }
  818. }
  819. //--------------------------
  820. /**
  821. *
  822. *
  823. */
  824. public function send_forfait(){
  825. $connected=$this->status_connexion();
  826. if(!$connected){
  827. Tools::redirect($this->domain.$this->login_url);
  828. }else{
  829. $statut=new Moov3GResponseStatutAbonne();
  830. $reponse=new Moov3GResponseSouscritAbonne();
  831. $client=new Moov3GSoapWebsiteClient();
  832. $reference_forfait=$_POST["ref"];
  833. $reference_forfait=trim($reference_forfait);
  834. $dest_forfait=Tools::getPostValue("dest_numero");
  835. $nom_forfait=Tools::getPostValue("nom_forfait");
  836. $password=Tools::getPostValue("password_ab");
  837. $correct_password=Tools::getsession("password_conn");
  838. // $correct_email=$this->getEmail();
  839. // print_r($_POST);
  840. // echo "iii".$reference_forfait;
  841. // echo "jjj".$dest_forfait;
  842. if(Tools::getsession("num_conn")==$dest_forfait){
  843. $this->addMessage($this->MES_ERROR,"Le numéro de destination et le numéro d' envoi sont identiques. Veuillez selectionner un autre numéro." );
  844. Tools::redirect($this->domain.$this->send_forfait_url);
  845. }else if($password!=$correct_password){
  846. $this->addMessage($this->MES_ERROR,"Le password que vous avez saisi est incorrecte." );
  847. Tools::redirect($this->domain.$this->send_forfait_url);
  848. }else{
  849. $reponse=$client->SouscritAbonne(Tools::getsession("id_conn"),$reference_forfait,$dest_forfait,true );
  850. /* if(Tools::getsession("num_conn")=="42121327"){
  851. print_r($_POST);
  852. echo $_POST["ref"]."<br>";
  853. echo $reference_forfait."<br>";
  854. echo $dest_forfait."<br>";
  855. print_r($reponse);
  856. }*/
  857. if($reponse->Succes){
  858. $this->addMessage($this->MES_SUCESS,"Vous venez de transférer le forfait ".strtoupper($nom_forfait)." au numéro +225".$dest_forfait.".Le destinataire recevra un sms de confirmation.");
  859. }else{
  860. $this->addMessage($this->MES_ERROR, utf8_encode($reponse->MessageErreur).".");
  861. }
  862. // print_r($reponse);
  863. // if(Tools::getsession("num_conn")!="42121327"){
  864. Tools::redirect($this->domain.$this->dashbord_url);
  865. // }
  866. }
  867. // $email_user=""
  868. }
  869. }
  870. }
  871. ?>