diff options
Diffstat (limited to 'mod/messages/actions')
-rw-r--r-- | mod/messages/actions/delete.php | 62 | ||||
-rw-r--r-- | mod/messages/actions/messages/delete.php | 20 | ||||
-rw-r--r-- | mod/messages/actions/messages/process.php | 35 | ||||
-rw-r--r-- | mod/messages/actions/messages/send.php | 46 | ||||
-rw-r--r-- | mod/messages/actions/send.php | 57 |
5 files changed, 101 insertions, 119 deletions
diff --git a/mod/messages/actions/delete.php b/mod/messages/actions/delete.php deleted file mode 100644 index 4ccc1d2ba..000000000 --- a/mod/messages/actions/delete.php +++ /dev/null @@ -1,62 +0,0 @@ -<?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 -*/ - -// 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=" . get_loggedin_user()->username . "&offset={$offset}"); - } -} else { - register_error(elgg_echo("messages:notfound")); - forward(REFERER); -}
\ No newline at end of file diff --git a/mod/messages/actions/messages/delete.php b/mod/messages/actions/messages/delete.php new file mode 100644 index 000000000..ffdb3b3a3 --- /dev/null +++ b/mod/messages/actions/messages/delete.php @@ -0,0 +1,20 @@ +<?php +/** + * Delete message + */ + +$guid = (int) get_input('guid'); + +$message = get_entity($guid); +if (!$message || !$message->canEdit()) { + register_error(elgg_echo('messages:error:delete:single')); + forward(REFERER); +} + +if (!$message->delete()) { + register_error(elgg_echo('messages:error:delete:single')); +} else { + system_message(elgg_echo('messages:success:delete:single')); +} + +forward(REFERER); diff --git a/mod/messages/actions/messages/process.php b/mod/messages/actions/messages/process.php new file mode 100644 index 000000000..d929ae190 --- /dev/null +++ b/mod/messages/actions/messages/process.php @@ -0,0 +1,35 @@ +<?php +/** + * Process a set of messages + */ + +$message_ids = get_input('message_id', array()); + +if (!$message_ids) { + register_error(elgg_echo('messages:error:messages_not_selected')); + forward(REFERER); +} + +$delete_flag = get_input('delete', false); +$read_flag = get_input('read', false); + +if ($delete_flag) { + $success_msg = elgg_echo('messages:success:delete'); + foreach ($message_ids as $guid) { + $message = get_entity($guid); + if ($message && $message->getSubtype() == 'messages' && $message->canEdit()) { + $message->delete(); + } + } +} else { + $success_msg = elgg_echo('messages:success:read'); + foreach ($message_ids as $guid) { + $message = get_entity($guid); + if ($message && $message->getSubtype() == 'messages' && $message->canEdit()) { + $message->readYet = 1; + } + } +} + +system_message($success_msg); +forward(REFERER); diff --git a/mod/messages/actions/messages/send.php b/mod/messages/actions/messages/send.php new file mode 100644 index 000000000..f6bac606d --- /dev/null +++ b/mod/messages/actions/messages/send.php @@ -0,0 +1,46 @@ +<?php +/** +* Ssend a message action +* +* @package ElggMessages +*/ + +$subject = strip_tags(get_input('subject')); +$body = get_input('body'); +$recipient_guid = get_input('recipient_guid'); + +elgg_make_sticky_form('messages'); + +//$reply = get_input('reply',0); // this is the guid of the message replying to + +if (!$recipient_guid) { + register_error(elgg_echo("messages:user:blank")); + forward("pg/messages/compose"); +} + +$user = get_user($recipient_guid); +if (!$user) { + register_error(elgg_echo("messages:user:nonexist")); + forward("pg/messages/compose"); +} + +// Make sure the message field, send to field and title are not blank +if (!$body || !$subject) { + register_error(elgg_echo("messages:blank")); + forward("pg/messages/compose"); +} + +// Otherwise, 'send' the message +$result = messages_send($subject, $body, $recipient_guid, 0, $reply); + +// Save 'send' the message +if (!$result) { + register_error(elgg_echo("messages:error")); + forward("pg/messages/compose"); +} + +elgg_clear_sticky_form('messages'); + +system_message(elgg_echo("messages:posted")); + +forward('pg/messages/inbox/' . get_loggedin_user()->username); diff --git a/mod/messages/actions/send.php b/mod/messages/actions/send.php deleted file mode 100644 index 59d90a9d2..000000000 --- a/mod/messages/actions/send.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php -/** -* Elgg send a message action page -* -* @package ElggMessages -*/ - -// Make sure we're logged in (send us to the front page if not) -if (!isloggedin()) forward(); - -// Get input data -$title = strip_tags(get_input('title')); // message title -$message_contents = get_input('message'); // the message -$send_to = get_input('send_to'); // this is the user guid to whom the message is going to be sent -$reply = get_input('reply',0); // this is the guid of the message replying to - -// Cache to the session to make form sticky -$_SESSION['msg_to'] = $send_to; -$_SESSION['msg_title'] = $title; -$_SESSION['msg_contents'] = $message_contents; - -if (empty($send_to)) { - register_error(elgg_echo("messages:user:blank")); - forward("mod/messages/send.php"); -} - -$user = get_user($send_to); -if (!$user) { - register_error(elgg_echo("messages:user:nonexist")); - forward("mod/messages/send.php"); -} - -// Make sure the message field, send to field and title are not blank -if (empty($message_contents) || empty($title)) { - register_error(elgg_echo("messages:blank")); - forward("mod/messages/send.php"); -} - -// Otherwise, 'send' the message -$result = messages_send($title,$message_contents,$send_to,0,$reply); - -// Save 'send' the message -if (!$result) { - register_error(elgg_echo("messages:error")); - forward("mod/messages/send.php"); -} - -// successful so uncache form values -unset($_SESSION['msg_to']); -unset($_SESSION['msg_title']); -unset($_SESSION['msg_contents']); - -// Success message -system_message(elgg_echo("messages:posted")); - -// Forward to the users inbox -forward('mod/messages/sent.php'); |