aboutsummaryrefslogtreecommitdiff
path: root/mod/messageboard/actions
diff options
context:
space:
mode:
Diffstat (limited to 'mod/messageboard/actions')
-rw-r--r--mod/messageboard/actions/add.php68
-rw-r--r--mod/messageboard/actions/delete.php44
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