Advertisement
Guest User

Untitled

a guest
Nov 1st, 2016
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. <?php
  2.  
  3. $this->Title = 'Wachtwoord vergeten';
  4.  
  5. $this->Define('Nav-3', 'color:orange');
  6.  
  7. if (!isset(CMS::$Router->Request->SubUrls[0]) || CMS::$Router->Request->SubUrls[0] == '/1')
  8. {
  9. $this->AddJS('https://www.google.com/recaptcha/api.js');
  10.  
  11. if (isset($_POST['email']))
  12. {
  13. $Mail = $_POST['email'];
  14. $Captcha = $_POST['g-recaptcha-response'];
  15. $Captchacheck = json_decode(file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=6Lf7AygTAAAAAKLc6xI0fZ4JO2etzlnawRJtZ1vg&response=' .$Captcha));
  16.  
  17. if (!Users::ValidMail($Mail))
  18. {
  19. echo'<div id="toast-container"><div class="toast red">Deze email is niet geldig.</div></div>';
  20. }
  21. else if (Users::MailFree($Mail))
  22. {
  23. echo "<div id='toast-container'><div class='toast red'>Dit email bestaat niet!</div></div>";
  24. }
  25. else
  26. {
  27.  
  28. $Data = CMS::$MySql->Query("SELECT id, username FROM users WHERE mail = '".$Mail."'");
  29. $Info = $Data->fetch_assoc();
  30.  
  31. $Check = CMS::$MySql->Query("SELECT expire FROM wachtwoord_vergeten WHERE userid = '".$Info['id']."'");
  32. $CheckData = $Check->fetch_assoc();
  33.  
  34. if ($CheckData['expire'] == true && $CheckData['expire'] > time())
  35. {
  36. echo "<div id='toast-container'><div class='toast red'>Er is recentelijk al een bericht naar dit email gestuurd! <br> Probeer het over een uur nog eens!</div></div>";
  37. }
  38. else
  39. {
  40.  
  41. $Code = Site::RandomMD5(32);
  42.  
  43. require 'PHPMailer/PHPMailerAutoload.php';
  44.  
  45. $email = new PHPMailer;
  46.  
  47. $email->isSMTP();
  48. $email->Host = 'smtp.ziggo.nl';
  49. $email->SMTPAuth = true;
  50. $email->Username = '';
  51. $email->Password = '';
  52. $email->SMTPSecure = 'tls';
  53. $email->Port = 587;
  54.  
  55. $email->setFrom('noreply@darkhotel.nl', 'Dark Hotel');
  56. $email->addAddress($Mail, $Info['username']);
  57. $email->isHTML(true);
  58.  
  59. $email->Subject = 'Code voor wachtwoord reset';
  60. $email->Body = "Hey ".$Info['username'].",<br><br>Klik <a href='https://www.darkhotel.nl/wachtwoord/vergeten/".$Code."'>hier</a> om je wachtwoord te resetten. <br>Letop! deze code is slechts 1 uur geldig!<br><br>Met vriendelijke groet, <br><b>Dark Hotel</b>";
  61.  
  62. if(!$email->send()) {
  63. echo "<div id='toast-container'><div class='toast red'>Email kan niet worden verzonden wegens een fout!</div></div>";
  64. } else {
  65.  
  66. $Tijd = time() + 3600; // 1 uur
  67.  
  68. CMS::$MySql->Query("INSERT INTO wachtwoord_vergeten (userid, code, expire) VALUES(".$Info['id'].", '".$Code."', ".$Tijd.") ON DUPLICATE KEY UPDATE code='".$Code."', expire=".$Tijd."");
  69. echo "<div id='toast-container'><div class='toast green'>Er is een email verzonden naar ".$Mail." !</div></div>";
  70. }
  71. }
  72. }
  73. }
  74.  
  75. $this->Write('<div class="col s12 m12 l6">');
  76. $this->LoadTpl('Wachtwoord-Vergeten');
  77. $this->Write('</div>');
  78.  
  79. }
  80. else
  81. {
  82. $Code = trim(CMS::$Router->Request->SubUrls[0], '/');
  83. $Codes = CMS::$MySql->Query("SELECT userid, expire FROM wachtwoord_vergeten where code='".$Code."'");
  84. $Check = $Codes->fetch_assoc();
  85. if ($Check == false)
  86. {
  87. Site::Stop('/wachtwoord/vergeten');
  88. }
  89. else if ($Check['expire'] < time())
  90. {
  91. $this->LoadTpl('Code-Verlopen');
  92. CMS::$MySql->Query("DELETE FROM wachtwoord_vergeten WHERE code='".$Code."'");
  93. }
  94. else
  95. {
  96. $this->LoadTpl('Wachtwoord-Aanpassen');
  97. }
  98. }
  99.  
  100. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement