aboutsummaryrefslogtreecommitdiff
path: root/mod/messageboard/actions
diff options
context:
space:
mode:
Diffstat (limited to 'mod/messageboard/actions')
-rw-r--r--mod/messageboard/actions/add.php21
-rw-r--r--mod/messageboard/actions/delete.php29
2 files changed, 22 insertions, 28 deletions
diff --git a/mod/messageboard/actions/add.php b/mod/messageboard/actions/add.php
index 5a34904d7..55bc5775a 100644
--- a/mod/messageboard/actions/add.php
+++ b/mod/messageboard/actions/add.php
@@ -10,15 +10,28 @@ $owner_guid = get_input("owner_guid");
$owner = get_entity($owner_guid);
if ($owner && !empty($message_content)) {
- if (messageboard_add(elgg_get_logged_in_user_entity(), $owner, $message_content, $owner->access_id)) {
+ $result = messageboard_add(elgg_get_logged_in_user_entity(), $owner, $message_content, $owner->access_id);
+
+ if ($result) {
system_message(elgg_echo("messageboard:posted"));
// push the newest content out if using ajax
$is_ajax = array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
if ($is_ajax) {
- $contents = $owner->getAnnotations('messageboard', 1, 0, 'desc');
- $post = elgg_view("messageboard/messageboard_content", array('annotation' => $contents[0]));
- echo json_encode(array('post' => $post));
+ // always return the entity with the full ul and li
+ // this is parsed out as needed by js.
+ // if this is the only post we need to return the entire ul
+ $options = array(
+ 'annotations_name' => 'messageboard',
+ 'guid' => $owner->getGUID(),
+ 'limit' => $num_display,
+ 'pagination' => false,
+ 'reverse_order_by' => true,
+ 'limit' => 1
+ );
+
+ $output = elgg_list_annotations($options);
+ echo json_encode(array('post' => $output));
}
} else {
diff --git a/mod/messageboard/actions/delete.php b/mod/messageboard/actions/delete.php
index 1cc20f285..a40329cb5 100644
--- a/mod/messageboard/actions/delete.php
+++ b/mod/messageboard/actions/delete.php
@@ -1,37 +1,18 @@
<?php
-
/**
* Elgg Message board: delete message action
*
* @package ElggMessageBoard
*/
-// Make sure we can get the comment in question
$annotation_id = (int) get_input('annotation_id');
+$message = elgg_get_annotation_from_id($annotation_id);
-//make sure that there is a message on the message board matching the passed id
-if ($message = elgg_get_annotation_from_id($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();
- // delete river entry
- remove_from_river_by_annotation($annotation_id);
- //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);
- }
-
+if ($message && $message->canEdit() && $message->delete()) {
+ remove_from_river_by_annotation($annotation_id);
+ system_message(elgg_echo("messageboard:deleted"));
} else {
- $url = "";
system_message(elgg_echo("messageboard:notdeleted"));
}
-forward($url);
+forward(REFERER);