boinc/html/user/delete_account_request.php

74 lines
2.8 KiB
PHP

<?php
// This file is part of BOINC.
// https://boinc.berkeley.edu
// Copyright (C) 2018 University of California
//
// BOINC is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// BOINC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see <https://www.gnu.org/licenses/>.
require_once("../inc/util.inc");
require_once("../inc/account.inc");
require_once("../inc/delete_account.inc");
require_once("../inc/user_util.inc");
require_once("../inc/email.inc");
$config = get_config();
if (!parse_bool($config, "enable_delete_account")) {
error_page(
tra("This feature is disabled. Please contact the project administrator.")
);
}
$user = get_logged_in_user();
if ($user->email_addr_change_time + 7*86400 > time()) {
error_page(tra("You are not allowed to delete your account until after 7 days from when you last changed your email address."));
}
function delete_account_request_form($user) {
page_head(tra("Delete Account"));
echo "<p>".tra("You have the ability to delete your account. Please note that this <b>cannot be undone</b> once it is completed.")."</p>"
."<p>".tra("The process works as follows:")."</p>"
."<ul>"
."<li>".tra("Enter in your password below and click on the \"Send Confirmation Email\" button")."</li>"
."<li>".tra("You will receive an email which contains a link. Click on that link")."</li>"
."<li>".tra("On the page displayed, you will need to re-enter your password and then click \"Delete Account\"")."</li>"
."<li>".tra("Your account will then be immediately deleted")
."</ul><br/>";
form_start(secure_url_base()."delete_account_request.php", "post");
form_input_text(tra("Password"), "passwd", "", "password", 'id="passwd"', passwd_visible_checkbox("passwd"));
form_submit(tra("Send Confirmation Email"));
form_end();
page_tail();
}
function delete_account_request_action($user) {
$passwd = post_str("passwd");
check_passwd_ui($user, $passwd);
send_confirm_delete_email($user);
page_head(tra("Confirmation Email Sent"));
echo "<p>".tra("The email to confirm your request to delete your account has been sent.")."</p>";
page_tail();
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
delete_account_request_action($user);
} else {
delete_account_request_form($user);
}
?>