diff options
Diffstat (limited to 'mod/messages/actions')
-rw-r--r-- | mod/messages/actions/delete.php | 73 | ||||
-rw-r--r-- | mod/messages/actions/send.php | 64 |
2 files changed, 137 insertions, 0 deletions
diff --git a/mod/messages/actions/delete.php b/mod/messages/actions/delete.php new file mode 100644 index 000000000..17bae2808 --- /dev/null +++ b/mod/messages/actions/delete.php @@ -0,0 +1,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']); + } + + +?>
\ No newline at end of file diff --git a/mod/messages/actions/send.php b/mod/messages/actions/send.php new file mode 100644 index 000000000..e48703e5a --- /dev/null +++ b/mod/messages/actions/send.php @@ -0,0 +1,64 @@ +<?php + + /** + * Elgg send a message action page + * + * @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/ + */ + + // Make sure we're logged in (send us to the front page if not) + if (!isloggedin()) forward(); + + // Get input data + $title = 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'); + +?> |