aboutsummaryrefslogtreecommitdiff
path: root/mod/messages/actions/delete.php
blob: 395b5528b9bd93b9b54e5ca6ff07816e9f82a9fd (plain)
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
<?php
/**
* Elgg delete a message action page
* It is worth noting that due to the nature of a messaging system and the fact 2 people access
* the same message, messages don't actually delete, they are just removed from view for the user who deletes
* 
* @package ElggMessages
*/

// Need to be logged in to do this
gatekeeper();

// grab details sent from the form
$message_id_array = get_input('message_id');
if (!is_array($message_id_array)) $message_id_array = array($message_id_array);
$type = get_input('type'); // sent message or inbox
$success = true;
$submit = get_input('submit');
$offset = get_input('offset');

foreach($message_id_array as $message_id) {

// get the message object
    $message = get_entity($message_id);
    
// Make sure we actually have permission to edit and that the object is of sub-type messages
	if ($message && $message->getSubtype() == "messages") {
		
		if ($submit == elgg_echo('delete')) {
			if ($message->delete()) {
			} else {
				$success = false;
			}
		} else {
			if ($message->readYet = 1) {
			} else {
				$success = false;
			}
		}
        
    }else{
        
        // display the error message
        $success = false;
		
	}

}

if ($success) {
	if ($submit == elgg_echo('delete')) {
		system_message(elgg_echo("messages:deleted"));
	} else {
		system_message(elgg_echo("messages:markedread"));
	}
	// check to see if it is a sent message to be deleted
    if($type == 'sent'){
	    forward("mod/messages/sent.php?offset={$offset}");
    }else{
	    forward("mod/messages/?username=" . $_SESSION['user']->username . "&offset={$offset}");
    }
} else {
	register_error(elgg_echo("messages:notfound"));
	forward($_SERVER['HTTP_REFERER']);
}