diff options
Diffstat (limited to 'mod/messageboard/actions')
-rw-r--r-- | mod/messageboard/actions/add.php | 68 | ||||
-rw-r--r-- | mod/messageboard/actions/delete.php | 44 |
2 files changed, 112 insertions, 0 deletions
diff --git a/mod/messageboard/actions/add.php b/mod/messageboard/actions/add.php new file mode 100644 index 000000000..98ffe4b47 --- /dev/null +++ b/mod/messageboard/actions/add.php @@ -0,0 +1,68 @@ +<?php + + /** + * Elgg Message board: add message action + * + * @package ElggMessageBoard + * @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.org/ + */ + + // Make sure we're logged in; forward to the front page if not + if (!isloggedin()) forward(); + + // Get input + $message_content = get_input('message_content'); // the actual message + $page_owner = get_input("pageOwner"); // the message board owner + $message_owner = get_input("guid"); // the user posting the message + $user = get_entity($page_owner); // the message board owner's details + + // Let's see if we can get a user entity from the specified page_owner + if ($user && !empty($message_content)) { + + // If posting the comment was successful, say so + if ($user->annotate('messageboard',$message_content,$user->access_id, $_SESSION['user']->getGUID())) { + + global $CONFIG; + + if ($user->getGUID() != $_SESSION['user']->getGUID()) + notify_user($user->getGUID(), $_SESSION['user']->getGUID(), elgg_echo('messageboard:email:subject'), + sprintf( + elgg_echo('messageboard:email:body'), + $_SESSION['user']->name, + $message_content, + $CONFIG->wwwroot . "pg/messageboard/" . $user->username, + $_SESSION['user']->name, + $_SESSION['user']->getURL() + ) + ); + + system_message(elgg_echo("messageboard:posted")); + // add to river + add_to_river('river/object/messageboard/create','messageboard',$_SESSION['user']->guid,$user->guid); + + + } else { + + register_error(elgg_echo("messageboard:failure")); + + } + + //set the url to return the user to the correct message board + $url = "pg/messageboard/" . $user->username; + + } else { + + register_error(elgg_echo("messageboard:blank")); + + //set the url to return the user to the correct message board + $url = "pg/messageboard/" . $user->username; + + } + + // Forward back to the messageboard + forward($url); + +?>
\ No newline at end of file diff --git a/mod/messageboard/actions/delete.php b/mod/messageboard/actions/delete.php new file mode 100644 index 000000000..9c17f1fcd --- /dev/null +++ b/mod/messageboard/actions/delete.php @@ -0,0 +1,44 @@ +<?php + + /** + * Elgg Message board: delete message action + * + * @package ElggMessageBoard + * @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.org/ + */ + + // Ensure we're logged in + if (!isloggedin()) forward(); + + // Make sure we can get the comment in question + $annotation_id = (int) get_input('annotation_id'); + + //make sure that there is a message on the message board matching the passed id + if ($message = get_annotation($annotation_id)) { + + //grab the user or group entity + $entity = get_entity($message->entity_guid); + + //check to make sure the current user can actually edit the message board + if ($message->canEdit()) { + //delete the comment + $message->delete(); + //display message + system_message(elgg_echo("messageboard:deleted")); + //generate the url to forward to + $url = "pg/messageboard/" . $entity->username; + //forward the user back to their message board + forward($url); + } + + } else { + $url = ""; + system_message(elgg_echo("messageboard:notdeleted")); + } + + forward($url); + +?>
\ No newline at end of file |