* @author Slawkens * @copyright 2019 MyAAC * @link https://my-aac.org */ defined('MYAAC') or die('Direct access not allowed!'); $title = 'Change E-Mail'; require __DIR__ . '/base.php'; if(!$logged) { return; } $email_new_time = $account_logged->getCustomField("email_new_time"); if($email_new_time > 10) { $email_new = $account_logged->getCustomField("email_new"); } if($email_new_time < 10) { if(isset($_POST['changeemailsave']) && $_POST['changeemailsave'] == 1) { $email_new = $_POST['new_email']; $post_password = $_POST['password']; if(!Validator::email($email_new)) { $errors[] = Validator::getLastError(); } if(empty($post_password)) { $errors[] = 'Please enter password to your account.'; } else { $post_password = encrypt((USE_ACCOUNT_SALT ? $account_logged->getCustomField('salt') : '') . $post_password); if($post_password != $account_logged->getPassword()) { $errors[] = 'Wrong password to account.'; } } if(empty($errors)) { $email_new_time = time() + setting('core.account_mail_change') * 24 * 3600; $account_logged->setCustomField("email_new", $email_new); $account_logged->setCustomField("email_new_time", $email_new_time); $twig->display('success.html.twig', array( 'title' => 'New Email Address Requested', 'description' => 'You have requested to change your email address to ' . $email_new . '. The actual change will take place after ' . date("j F Y, G:i:s", $email_new_time) . ', during which you can cancel the request at any time.' )); } else { //show errors $twig->display('error_box.html.twig', array('errors' => $errors)); //show form $twig->display('account.change-email.html.twig', array( 'new_email' => isset($_POST['new_email']) ? $_POST['new_email'] : null )); } } else { $twig->display('account.change-email.html.twig', array( 'new_email' => isset($_POST['new_email']) ? $_POST['new_email'] : null )); } } else { if($email_new_time < time()) { if (isset($_POST['changeemailsave']) && $_POST['changeemailsave'] == 1) { $account_logged->setCustomField("email_new", ""); $account_logged->setCustomField("email_new_time", 0); $account_logged->setEmail($email_new); $account_logged->save(); $account_logged->logAction('Account email changed to ' . $email_new . ''); $twig->display('success.html.twig', array( 'title' => 'Email Address Change Accepted', 'description' => 'You have accepted ' . $account_logged->getEmail() . ' as your new email adress.' )); } else { $custom_buttons = '
 
' . csrf(true) . '
' . csrf(true) . ' ' . $twig->render('buttons.cancel.html.twig') . '
' . csrf(true) . ' ' . $twig->render('buttons.back.html.twig') . '
 
'; $twig->display('success.html.twig', array( 'title' => 'Email Address Change Accepted', 'description' => 'Do you accept '.$email_new.' as your new email adress?', 'custom_buttons' => $custom_buttons )); } } else if(!isset($_POST['emailchangecancel']) || $_POST['emailchangecancel'] != 1) { $custom_buttons = '
' . csrf(true) . '
' . $twig->render('buttons.cancel.html.twig') . '
' . csrf(true) . '
' . $twig->render('buttons.back.html.twig') . '
'; $twig->display('success.html.twig', array( 'title' => 'Change of Email Address', 'description' => 'A request has been submitted to change the email address of this account to '.$email_new.'.
The actual change will take place on '.date("j F Y, G:i:s", $email_new_time).'.
If you do not want to change your email address, please click on "Cancel".', 'custom_buttons' => $custom_buttons )); } } if(isset($_POST['emailchangecancel']) && $_POST['emailchangecancel'] == 1) { $account_logged->setCustomField("email_new", ""); $account_logged->setCustomField("email_new_time", 0); $custom_buttons = '
' . $twig->render('buttons.back.html.twig') . '
'; $twig->display('success.html.twig', array( 'title' => 'Email Address Change Cancelled', 'description' => 'Your request to change the email address of your account has been cancelled. The email address will not be changed.', 'custom_buttons' => $custom_buttons )); }