63 lines
1.9 KiB
PHP
63 lines
1.9 KiB
PHP
<?php
|
|
|
|
if (processForm()) {
|
|
if (!isset($_POST['delete']))
|
|
output(403, 'Il faut confirmer la suppression du compte');
|
|
|
|
foreach (query('select', 'registry', ['username' => $_SESSION['id']], 'domain') as $domain)
|
|
regDeleteDomain($domain);
|
|
|
|
foreach (query('select', 'zones', ['username' => $_SESSION['id']], 'zone') as $zone)
|
|
nsDeleteZone($zone);
|
|
|
|
foreach (query('select', 'sites', [
|
|
'username' => $_SESSION['id'],
|
|
'domain_type' => 'onion',
|
|
'protocol' => 'http',
|
|
], 'site_dir') as $dir)
|
|
htDeleteSite($dir, domainType: 'onion', protocol: 'http');
|
|
|
|
foreach (query('select', 'sites', [
|
|
'username' => $_SESSION['id'],
|
|
'domain_type' => 'dns',
|
|
'protocol' => 'http',
|
|
], 'site_dir') as $dir)
|
|
htDeleteSite($dir, domainType: 'dns', protocol: 'http');
|
|
|
|
exec(CONF['ht']['sudo_path'] . ' -u ' . CONF['ht']['tor_user'] . ' ' . CONF['ht']['rm_path'] . ' --recursive ' . CONF['ht']['tor_keys_path'] . '/' . $_SESSION['id'], result_code: $code);
|
|
if ($code !== 0)
|
|
output(500, 'Can\'t remove Tor keys directory.');
|
|
|
|
removeDirectory(CONF['ht']['tor_config_path'] . '/' . $_SESSION['id']);
|
|
|
|
exec(CONF['ht']['sudo_path'] . ' -u ' . CONF['ht']['sftpgo_user'] . ' ' . CONF['ht']['rm_path'] . ' --recursive ' . CONF['ht']['ht_path'] . '/' . $_SESSION['id'], result_code: $code);
|
|
if ($code !== 0)
|
|
output(500, 'Can\'t remove user\'s directory.');
|
|
|
|
query('delete', 'users', ['id' => $_SESSION['id']]);
|
|
|
|
logout();
|
|
|
|
output(200, 'Compte supprimé.');
|
|
}
|
|
|
|
?>
|
|
|
|
<p>
|
|
Cette action supprimera toutes les données appartenant à ce compte, y compris :
|
|
</p>
|
|
|
|
<ul>
|
|
<li>la possession et la réservation des domaines dans le registre</li>
|
|
<li>les enregistrements DNS des zones hébergées sur le serveur de noms</li>
|
|
<li>le contenu des sites</li>
|
|
<li>les paires de clés des services Onion</li>
|
|
</ul>
|
|
|
|
<form method="post">
|
|
<input type="checkbox" name="delete" id="delete" required="">
|
|
<label for="delete">Supprimer mon compte et toutes ses données</label>
|
|
<br>
|
|
<input type="submit">
|
|
</form>
|