Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $this->Title = 'Wachtwoord vergeten';
- $this->Define('Nav-3', 'active');
- $Errors = "";
- $this->AddJS('https://www.google.com/recaptcha/api.js');
- if (!isset(CMS::$Router->Request->SubUrls[0]))
- {
- if (isset($_POST['email']))
- {
- $Mail = $_POST['email'];
- if (!Site::ValidCaptcha())
- {
- $Errors = "<div id='toast-container'><div class='toast red'>De Captcha is onjuist!</div></div>";
- }
- else if (!Users::ValidMail($Mail))
- {
- $Errors = '<div id="toast-container"><div class="toast red">Deze email is niet geldig.</div></div>';
- }
- else if (Users::MailFree($Mail))
- {
- $Errors = "<div id='toast-container'><div class='toast red'>Deze email bestaat niet!</div></div>";
- }
- else
- {
- $Data = CMS::$MySql->Query("SELECT id, username, rank FROM users WHERE mail = '".$Mail."'");
- $Info = $Data->fetch_assoc();
- $Check = CMS::$MySql->Query("SELECT expire FROM wachtwoord_vergeten WHERE userid = '".$Info['id']."'");
- $CheckData = $Check->fetch_assoc();
- if ($Info['rank'] > 2)
- {
- $Errors = "<div id='toast-container'><div class='toast red'>Er kunnen geen mails worden verzonden naar dit email!</div></div>";
- }
- else if ($CheckData['expire'] == true && $CheckData['expire'] > time())
- {
- $Errors = "<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>";
- }
- else
- {
- $Code = Site::RandomMD5(32);
- require 'PHPMailer/PHPMailerAutoload.php';
- $email = new PHPMailer;
- $email->isSMTP();
- $email->Host = "".CMS::$Config['cms.smtphost']."";
- $email->SMTPAuth = true;
- $email->Username = "".CMS::$Config['cms.smtpusername']."";
- $email->Password = "".CMS::$Config['cms.smtppassword']."";
- $email->SMTPSecure = 'tls';
- $email->Port = 587;
- $email->setFrom("".CMS::$Config['cms.afzender']."", "".CMS::$Config['cms.hotelname']." Hotel");
- $email->addAddress($Mail, $Info['username']);
- $email->isHTML(true);
- $email->Subject = 'Aanvraag wachtwoord vergeten';
- $email->Body = "<table width='98%' border='0' cellspacing='0' cellpadding='0'>
- <tbody><tr><td align='center'><table border='0' cellpadding='0' cellspacing='0' width='595'>
- <tbody><tr><td align='left' style='border-bottom:1px solid #aaaaaa;' height='70' valign='middle'>
- <table border='0' cellpadding='0' cellspacing='0'><tbody><tr>
- <td><img src='".CMS::$Config['cms.url']."/Simple/Public/img/globaal/logo.gif'></td></tr></tbody></table></td>
- </tr><tr><td align='left' style='border-bottom:1px dashed #aaaaaa;' valign='middle'><table style='padding:0 0 10px 0;width:100%;' border='0' cellpadding='0' cellspacing='0'>
- <tbody><tr><td valign='top'><p style='font-family:Verdana,Arial,sans-serif;font-size:20px;padding-top:15px;'>
- Hey ".$Info['username']."!</p><p style='font-family:Verdana,Arial,sans-serif;font-size:12px;padding-bottom:5px;'>
- Klik <a href='".CMS::$Config['cms.url']."/wachtwoord/vergeten/".$Code."'>hier</a> om je wachtwoord aan te passen.<br><br>Heb je dit mailtje niet aangevraagd? Negeer dan dit bericht.</p></td></tr></tbody></table></td></tr><tr><td align='left' style='border-bottom:1px solid #aaaaaa;' height='100' valign='middle'>
- <table style='' border='0' cellpadding='0' cellspacing='0'><tbody><tr><td valign='middle'><table style='background-color:#51b708;height:50px;' height='50px;' cellpadding='0' cellspacing='0'>
- <tbody><tr><td style='height:100%;vertical-align:middle;border:solid 2px #000000;' valign='middle'>
- <p style='font-family:Verdana,Arial,sans-serif;font-weight:bold;font-size:18px;color:#ffffff;'>
- <a style='text-decoration:none;padding:15px 20px;color:#ffffff;' href='".CMS::$Config['cms.url']."/wachtwoord/vergeten/".$Code."'>Naar ".CMS::$Config['cms.hotelname']." Hotel</p></a></td></tr></tbody></table></td></tr></tbody></table></td></tr>";
- if(!$email->send()) {
- $Errors = "<div id='toast-container'><div class='toast red'>Email kan niet worden verzonden wegens een fout!</div></div>";
- } else {
- $Tijd = time() + 3600; // 1 uur
- CMS::$MySql->Query("INSERT INTO wachtwoord_vergeten (userid, code, expire) VALUES(".$Info['id'].", '".$Code."', ".$Tijd.") ON DUPLICATE KEY UPDATE code='".$Code."', expire=".$Tijd."");
- $Errors = "<div id='toast-container'><div class='toast green'>Er is een email verzonden naar ".$Mail." !</div></div>";
- }
- }
- }
- }
- $this->Write('<div class="col s12 m12 l6">');
- $this->LoadTpl('Wachtwoord-Vergeten');
- $this->Write('</div>');
- $this->Write('<div class="col s12 m12 l6">');
- $this->LoadTpl('Naam-Vergeten');
- $this->Write('</div>');
- }
- else
- {
- $Code = trim(CMS::$Router->Request->SubUrls[0], '/');
- $Codes = CMS::$MySql->Query("SELECT userid, code, expire, tries FROM wachtwoord_vergeten where code='".$Code."'");
- $Check = $Codes->fetch_assoc();
- if ($Check == false)
- {
- Site::Stop('/wachtwoord/vergeten');
- }
- else if ($Check['expire'] < time())
- {
- $this->LoadTpl('Code-Verlopen');
- }
- else
- {
- $this->DefineArray('Data', $Check);
- if (isset($_POST['email']) && isset($_POST['newpass']) && isset($_POST['newpass2']))
- {
- $Mail = $_POST['email'];
- $Pass = $_POST['newpass'];
- $Pass2 = $_POST['newpass2'];
- $Data = CMS::$MySql->Query("SELECT mail FROM users WHERE id='".$Check['userid']."'");
- $Info = $Data->fetch_assoc();
- if ($Info['mail'] != $Mail)
- {
- if ($Check['tries'] > 1)
- {
- CMS::$MySql->Query("DELETE FROM wachtwoord_vergeten WHERE code='".$Code."'");
- $_SESSION['error'] = 'Je hebt je email tevaak fout ingevuld! <br> De link is verwijderd.';
- Site::Stop('/index');
- return;
- }
- $Errors = '<div id="toast-container"><div class="toast red">Email komt niet overeen met die van de speler!</div></div>';
- CMS::$MySql->Query("UPDATE wachtwoord_vergeten SET tries = tries+1 WHERE code='".$Code."'");
- }
- else if ($Pass !== false && $Pass != $Pass2)
- {
- $Errors = '<div id="toast-container"><div class="toast red">Je wachtwoord is niet hetzelfde</div></div>';
- }
- else if (!Users::ValidPass($Pass))
- {
- $Errors = '<div id="toast-container"><div class="toast red">Je wachtwoord moet tussen de 6 en 32 karakters zitten</div></div>';
- }
- else
- {
- $Hash = Site::Hash($Pass);
- CMS::$MySql->Query("UPDATE users SET password='".$Hash."' WHERE id='".$Check['userid']."'");
- CMS::$MySql->Query("DELETE FROM wachtwoord_vergeten WHERE code='".$Code."'");
- $_SESSION['melding'] = 'Je wachtwoord is succesvol aangepast!';
- Site::Stop('/index');
- }
- }
- $this->Write('<div class="col s12 m12 l7">');
- $this->LoadTpl('Wachtwoord-Aanpassen');
- $this->Write('</div>');
- }
- }
- $this->Define('Errors', $Errors);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement