Advertisement
Guest User

Untitled

a guest
Nov 1st, 2016
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 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. if (isset($_POST['email']))
  10. {
  11. $Mail = $_POST['email'];
  12.  
  13. if (!Users::ValidMail($Mail))
  14. {
  15. echo'<div id="toast-container"><div class="toast red">Deze email is niet geldig.</div></div>';
  16. }
  17. else if (Users::MailFree($Mail))
  18. {
  19. echo "<div id='toast-container'><div class='toast red'>Dit email bestaat niet!</div></div>";
  20. }
  21. else
  22. {
  23.  
  24. $Data = CMS::$MySql->Query("SELECT id, username, mail FROM users WHERE mail = '".$Mail."'");
  25. $Info = $Data->fetch_assoc();
  26.  
  27. $Check = CMS::$MySql->Query("SELECT expire FROM wachtwoord_vergeten WHERE userid = '".$Info['id']."'");
  28. $CheckData = $Check->fetch_assoc();
  29.  
  30. if ($CheckData['expire'] == true && $CheckData['expire'] > time())
  31. {
  32. 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>";
  33. }
  34. else
  35. {
  36.  
  37. $Code = Site::RandomMD5(32);
  38.  
  39. require 'PHPMailer/PHPMailerAutoload.php';
  40.  
  41. $email = new PHPMailer;
  42.  
  43. $email->isSMTP();
  44. $email->Host = 'smtp.ziggo.nl';
  45. $email->SMTPAuth = true;
  46. $email->Username = 'darkhotel@ziggo.nl';
  47. $email->Password = '';
  48. $email->SMTPSecure = 'tls';
  49. $email->Port = 587;
  50.  
  51. $email->setFrom('noreply@darkhotel.nl', 'Dark Hotel');
  52. $email->addAddress($Mail, $Info['username']);
  53. $email->isHTML(true);
  54.  
  55. $email->Subject = 'Code voor wachtwoord reset';
  56. $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>";
  57.  
  58. if(!$email->send()) {
  59. echo "<div id='toast-container'><div class='toast red'>Email kan niet worden verzonden wegens een fout!</div></div>";
  60. } else {
  61.  
  62. $Tijd = time() + 3600; // 1 uur
  63.  
  64. CMS::$MySql->Query("INSERT INTO wachtwoord_vergeten (userid, code, expire) VALUES(".$Info['id'].", '".$Code."', ".$Tijd.") ON DUPLICATE KEY UPDATE code='".$Code."', expire=".$Tijd."");
  65. echo "<div id='toast-container'><div class='toast green'>Er is een email verzonden naar ".$Mail." !</div></div>";
  66. }
  67. }
  68. }
  69. }
  70.  
  71. $this->Write('<div class="col s12 m12 l6">');
  72. $this->LoadTpl('Wachtwoord-Vergeten');
  73. $this->Write('</div>');
  74.  
  75. $this->Write('<div class="col s12 m12 l6">');
  76. $this->LoadTpl('Naam-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, code, expire FROM wachtwoord_vergeten where code='".$Code."'");
  84. $Check = $Codes->fetch_assoc();
  85. $this->DefineArray('Data', $Check);
  86.  
  87. if ($Check == false)
  88. {
  89. Site::Stop('/wachtwoord/vergeten');
  90. }
  91. else if ($Check['expire'] < time())
  92. {
  93. $this->LoadTpl('Code-Verlopen');
  94. CMS::$MySql->Query("DELETE FROM wachtwoord_vergeten WHERE code='".$Code."'");
  95. }
  96. else
  97. {
  98. if (isset($_POST['email']) && isset($_POST['newpass']) && isset($_POST['newpass2']))
  99. {
  100. $Mail = $_POST['email'];
  101. $Pass = $_POST['newpass'];
  102. $Pass2 = $_POST['newpass2'];
  103.  
  104. $Data = CMS::$MySql->Query("SELECT mail FROM users WHERE id='".$Check['userid']."'");
  105. $Info = $Data->fetch_assoc();
  106.  
  107. if ($Info['mail'] != $Mail)
  108. {
  109. echo'<div id="toast-container"><div class="toast red">Email komt niet overeen met die van de speler.</div></div>';
  110. }
  111. else if ($Pass !== false && $Pass != $Pass2)
  112. {
  113. echo'<div id="toast-container"><div class="toast red">Je wachtwoord is niet hetzelfde</div></div>';
  114. }
  115. else if (!isset($Pass[5]) || isset($Pass[32]))
  116. {
  117. echo'<div id="toast-container"><div class="toast red">Je wachtwoord moet tussen de 6 en 32 karakters zitten</div></div>';
  118. }
  119. else
  120. {
  121. $Hash = Site::Hash($Pass);
  122. CMS::$MySql->Query("UPDATE users SET password='".$Hash."' WHERE id='".$Check['userid']."'");
  123. CMS::$MySql->Query("DELETE FROM wachtwoord_vergeten WHERE code='".$Code."'");
  124. Site::Stop('/index/Je_kan_nu_inloggen_met_je_nieuwe_wachtwoord!');
  125. }
  126. }
  127. $this->Write('<div class="col s12 m12 l7">');
  128. $this->LoadTpl('Wachtwoord-Aanpassen');
  129. $this->Write('</div>');
  130. }
  131. }
  132.  
  133. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement