remove self
This commit is contained in:
parent
01c83f0e93
commit
a4cbdc2414
|
@ -6,6 +6,10 @@
|
||||||
// authorisation to do this.
|
// authorisation to do this.
|
||||||
|
|
||||||
function user_remove($uid) {
|
function user_remove($uid) {
|
||||||
|
if(! $uid)
|
||||||
|
return;
|
||||||
|
$a = get_app();
|
||||||
|
logger('Removing user: ' . $uid);
|
||||||
q("DELETE FROM `contact` WHERE `uid` = %d", intval($uid));
|
q("DELETE FROM `contact` WHERE `uid` = %d", intval($uid));
|
||||||
q("DELETE FROM `group` WHERE `uid` = %d", intval($uid));
|
q("DELETE FROM `group` WHERE `uid` = %d", intval($uid));
|
||||||
q("DELETE FROM `group_member` WHERE `uid` = %d", intval($uid));
|
q("DELETE FROM `group_member` WHERE `uid` = %d", intval($uid));
|
||||||
|
@ -19,7 +23,7 @@ function user_remove($uid) {
|
||||||
if($uid == local_user()) {
|
if($uid == local_user()) {
|
||||||
unset($_SESSION['authenticated']);
|
unset($_SESSION['authenticated']);
|
||||||
unset($_SESSION['uid']);
|
unset($_SESSION['uid']);
|
||||||
killme();
|
goaway($a->get_baseurl());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
50
mod/removeme.php
Normal file
50
mod/removeme.php
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function removeme_post(&$a) {
|
||||||
|
|
||||||
|
if(! local_user())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if((! x($_POST,'qxz_password')) || (! strlen(trim($_POST['qxz_password']))))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if((! x($_POST,'verify')) || (! strlen(trim($_POST['verify']))))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if($_POST['verify'] !== $_SESSION['remove_account_verify'])
|
||||||
|
return;
|
||||||
|
|
||||||
|
$encrypted = hash('whirlpool',trim($_POST['qxz_password']));
|
||||||
|
|
||||||
|
if((strlen($a->user['password'])) && ($encrypted === $a->user['password'])) {
|
||||||
|
require_once('include/Contact.php');
|
||||||
|
user_remove($a->user['uid']);
|
||||||
|
// NOTREACHED
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function removeme_content(&$a) {
|
||||||
|
|
||||||
|
if(! local_user())
|
||||||
|
goaway($a->get_baseurl());
|
||||||
|
|
||||||
|
$hash = random_string();
|
||||||
|
|
||||||
|
$_SESSION['remove_account_verify'] = $hash;
|
||||||
|
|
||||||
|
$tpl = load_view_file('view/removeme.tpl');
|
||||||
|
$o .= replace_macros($tpl, array(
|
||||||
|
'$basedir' => $a->get_baseurl(),
|
||||||
|
'$hash' => $hash,
|
||||||
|
'$title' => t('Remove My Account'),
|
||||||
|
'$desc' => t('This will completely remove your account. Once this has been done it is not recoverable.'),
|
||||||
|
'$passwd' => t('Please enter your password for verification:'),
|
||||||
|
'$submit' => t('Remove My Account')
|
||||||
|
));
|
||||||
|
|
||||||
|
return $o;
|
||||||
|
|
||||||
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
$nickname_block
|
$nickname_block
|
||||||
|
|
||||||
|
|
||||||
<form action="settings" id="settings-form" method="post" autocomplete="false" >
|
<form action="settings" id="settings-form" method="post" autocomplete="off" >
|
||||||
|
|
||||||
|
|
||||||
<h3 class="settings-heading">Grundeinstellungen</h3>
|
<h3 class="settings-heading">Grundeinstellungen</h3>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
$nickname_block
|
$nickname_block
|
||||||
|
|
||||||
|
|
||||||
<form action="settings" id="settings-form" method="post" autocomplete="false" >
|
<form action="settings" id="settings-form" method="post" autocomplete="off" >
|
||||||
|
|
||||||
|
|
||||||
<h3 class="settings-heading">Basic Settings</h3>
|
<h3 class="settings-heading">Basic Settings</h3>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
$nickname_block
|
$nickname_block
|
||||||
|
|
||||||
|
|
||||||
<form action="settings" id="settings-form" method="post" autocomplete="false" >
|
<form action="settings" id="settings-form" method="post" autocomplete="off" >
|
||||||
|
|
||||||
|
|
||||||
<h3 class="settings-heading">Basic Settings</h3>
|
<h3 class="settings-heading">Basic Settings</h3>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
$nickname_block
|
$nickname_block
|
||||||
|
|
||||||
|
|
||||||
<form action="settings" id="settings-form" method="post" autocomplete="false" >
|
<form action="settings" id="settings-form" method="post" autocomplete="off" >
|
||||||
|
|
||||||
|
|
||||||
<h3 class="settings-heading">Impostazioni base</h3>
|
<h3 class="settings-heading">Impostazioni base</h3>
|
||||||
|
|
20
view/removeme.tpl
Normal file
20
view/removeme.tpl
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<h1>$title</h1>
|
||||||
|
|
||||||
|
<div id="remove-account-wrapper">
|
||||||
|
|
||||||
|
<div id="remove-account-desc">$desc</div>
|
||||||
|
|
||||||
|
<form action="$basedir/removeme" autocomplete="off" method="post" >
|
||||||
|
<input type="hidden" name="verify" value="$hash" />
|
||||||
|
|
||||||
|
<div id="remove-account-pass-wrapper">
|
||||||
|
<label id="remove-account-pass-label" for="remove-account-pass">$passwd</label>
|
||||||
|
<input type="password" id="remove-account-pass" name="qxz_password" />
|
||||||
|
</div>
|
||||||
|
<div id="remove-account-pass-end"></div>
|
||||||
|
|
||||||
|
<input type="submit" name="submit" value="$submit" />
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue