aboutsummaryrefslogtreecommitdiffstats
path: root/mod/removeaccount.php
blob: 4505bbea04db6889a7084c07836df378725ccbb7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php

function removeaccount_post(&$a) {

	if(! local_channel())
		return;

	if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
		return;

	if((! x($_POST,'qxz_password')) || (! strlen(trim($_POST['qxz_password']))))
		notice( t('Password not correct.') . EOL);
		return;

	if((! x($_POST,'verify')) || (! strlen(trim($_POST['verify']))))
		return;

	if($_POST['verify'] !== $_SESSION['remove_account_verify'])
		return;


	$account = $a->get_account();
	$account_id = get_account_id();

	if(! account_verify_password($account['account_email'],$_POST['qxz_password']))
		notice( t('Password not correct.') . EOL);
		return;

	if($account['account_password_changed'] != NULL_DATE) {
		$d1 = datetime_convert('UTC','UTC','now - 48 hours');
		if($account['account_password_changed'] > d1) {
			notice( t('Account removals are not allowed within 48 hours of changing the account password.') . EOL);
			return;
		}
	}

	require_once('include/Contact.php');

	$global_remove = intval($_POST['global']);

	account_remove($account_id,true);
	
}



function removeaccount_content(&$a) {

	if(! local_channel())
		goaway(z_root());

	$hash = random_string();

	$_SESSION['remove_account_verify'] = $hash;
	$tpl = get_markup_template('removeaccount.tpl');
	$o .= replace_macros($tpl, array(
		'$basedir' => $a->get_baseurl(),
		'$hash' => $hash,
		'$title' => t('Remove This Account'),
		'$desc' => array(t('WARNING: '), t('This account and all its channels will be completely removed from the network. '), t('This action is permanent and can not be undone!')),
		'$passwd' => t('Please enter your password for verification:'),
		'$global' => array('global', t('Remove this account, all its channels and all its channel clones from the network'), false, t('By default only the instances of the channels located on this hub will be removed from the network')),
		'$submit' => t('Remove Account')
	));

	return $o;		

}