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
|
<?php
/*
* SCROTT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* For more information, please refer to UNLICENSE
*/
require_once "class/form.class.php";
require_once "class/user.class.php";
/*
* Action: deleteaccount - Remove one's own user account
*/
if (isAction("deleteaccount"))
{
$form = new form();
$form->text("passwd", false);
if (!$form->populate(input()))
return;
$user = user::getCurrent();
if (!$user->validatePasswd($form->passwd))
{
logError(WARNING, "Account not deleted, password was incorrect");
return;
}
if ($user->admin == 1 && count(user::getAllAdmin_ordByUname()) == 1)
{
logError(ERROR, "Account not deleted, can not remove the last administrator");
return;
}
$user->delObj();
location("/");
}
?>
|