diff options
Diffstat (limited to 'mod/profile/actions')
-rw-r--r-- | mod/profile/actions/addcomment.php | 48 | ||||
-rw-r--r-- | mod/profile/actions/deletecomment.php | 29 |
2 files changed, 77 insertions, 0 deletions
diff --git a/mod/profile/actions/addcomment.php b/mod/profile/actions/addcomment.php new file mode 100644 index 000000000..b5c5e0708 --- /dev/null +++ b/mod/profile/actions/addcomment.php @@ -0,0 +1,48 @@ +<?php
+/**
+ * Elgg profile commentwall: add message action
+ */
+
+// 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 commentwall owner 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('commentwall',$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('profile:comment:subject'),
+ sprintf(
+ elgg_echo('profile:comment:body'),
+ $_SESSION['user']->name,
+ $message_content,
+ $CONFIG->wwwroot . "pg/profile/" . $user->username,
+ $_SESSION['user']->name,
+ $_SESSION['user']->getURL()
+ )
+ );
+
+ system_message(elgg_echo("profile:commentwall:posted"));
+ // add to river
+ add_to_river('river/object/profile/commentwall/create','commentwall',$_SESSION['user']->guid,$user->guid);
+
+ } else {
+ register_error(elgg_echo("profile:commentwall:failure"));
+ }
+
+} else {
+ register_error(elgg_echo("profile:commentwall:blank"));
+}
+
+// Forward back to the messageboard
+forward($_SERVER['HTTP_REFERER']);
\ No newline at end of file diff --git a/mod/profile/actions/deletecomment.php b/mod/profile/actions/deletecomment.php new file mode 100644 index 000000000..48399af4a --- /dev/null +++ b/mod/profile/actions/deletecomment.php @@ -0,0 +1,29 @@ +<?php
+/**
+ * Elgg profile commentwall: delete message action
+ */
+
+// 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 commentwall 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 commentwall
+ if ($message->canEdit()) {
+ //delete the comment
+ $message->delete();
+ //display message
+ system_message(elgg_echo("profile:commentwall:deleted"));
+ forward($_SERVER['HTTP_REFERER']);
+ }
+
+} else {
+ system_message(elgg_echo("profile:commentwall:notdeleted"));
+}
+
+forward($_SERVER['HTTP_REFERER']);
\ No newline at end of file |