aboutsummaryrefslogtreecommitdiff
path: root/mod/messages/actions/delete.php
blob: 17bae28084979df34d424ec6389188596c19c6d6 (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
66
67
68
69
70
71
72
73
<?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
	 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
	 * @author Curverider Ltd <info@elgg.com>
	 * @copyright Curverider Ltd 2008-2010
	 * @link http://elgg.com/
	 */
	 
	// 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']);
        }
                 
    
?>