-
Notifications
You must be signed in to change notification settings - Fork 2
/
delete.php
58 lines (45 loc) · 1.39 KB
/
delete.php
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
<?php
global $ACT, $TITLE, $CONTENT, $TYPE, $DELAY, $ACL, $VSCSRF, $ID, $NS, $auth,
$lang, $msg, $storage;
/* Check consistency */
if(!defined('QUIGON_ABS'))
die('meh.');
if($ACT !== 'delete')
act_fallback($default_act);
/* Check the security token */
if(check_token($VSCSRF) !== ERR_SUCCESS)
{
$msg->addMessage($lang['csrf'], Msg::ERROR);
act_fallback($default_act);
}
/* Deletion is only authorized if the user is logged in */
if($auth->isAuthenticated() !== ERR_SUCCESS)
act_fallback($default_act);
$user = $auth->identifier();
$paste = array();
/* Try to get the paste to be deleted */
if($storage->get_value($ID, $NS, $paste) === ERR_NOT_FOUND)
{
$msg->addMessage($lang['wrong_id'], Msg::ERROR);
act_fallback($default_act);
}
/* Check the paste belongs to the currently logged-in user */
if(is_null($paste['owner']) || $paste['owner'] !== $user)
{
$msg->addMessage($lang['delete_wrong_owner'], Msg::ERROR);
act_fallback($default_act);
}
/* Delete the paste */
$storage->delete_value($ID, $NS);
/*
* Give the next page the messages
*/
$msg->addMessage('----- Redirecting -----', Msg::DEBUG);
$msg->addMessage($lang['paste_deleted'], Msg::SUCCESS);
$messages = $msg->getMessages(null, true);
$_SESSION['MSG_STATUS'] = $messages;
/* Redirect the user to the application's root */
$url = getUrl('', '');
header("HTTP/1.1 303 See Other");
header("Location: $url");
//Setup VIM: ex: ts=4 noet :