diff options
Diffstat (limited to 'actions/comments')
| -rw-r--r-- | actions/comments/add.php | 75 | ||||
| -rw-r--r-- | actions/comments/delete.php | 26 |
2 files changed, 44 insertions, 57 deletions
diff --git a/actions/comments/add.php b/actions/comments/add.php index 4d01fe1b0..5bd741413 100644 --- a/actions/comments/add.php +++ b/actions/comments/add.php @@ -2,60 +2,61 @@ /** * Elgg add comment action * - * @package Elgg - * @author Curverider <curverider.co.uk> - * @link http://elgg.org/ + * @package Elgg.Core + * @subpackage Comments */ -// Make sure we're logged in; forward to the front page if not -gatekeeper(); -action_gatekeeper(); - -// Get input $entity_guid = (int) get_input('entity_guid'); $comment_text = get_input('generic_comment'); -// make sure comment is not empty if (empty($comment_text)) { register_error(elgg_echo("generic_comment:blank")); - forward($_SERVER['HTTP_REFERER']); + forward(REFERER); } // Let's see if we can get an entity with the specified GUID -if ($entity = get_entity($entity_guid)) { +$entity = get_entity($entity_guid); +if (!$entity) { + register_error(elgg_echo("generic_comment:notfound")); + forward(REFERER); +} - // If posting the comment was successful, say so - $annotation = create_annotation($entity->guid, 'generic_comment', - $comment_text, "", $_SESSION['guid'], $entity->access_id); +$user = elgg_get_logged_in_user_entity(); + +$annotation = create_annotation($entity->guid, + 'generic_comment', + $comment_text, + "", + $user->guid, + $entity->access_id); + +// tell user annotation posted +if (!$annotation) { + register_error(elgg_echo("generic_comment:failure")); + forward(REFERER); +} - if ($annotation) { - if ($entity->owner_guid != $_SESSION['user']->getGUID()) { - notify_user($entity->owner_guid, - $_SESSION['user']->getGUID(), +// notify if poster wasn't owner +if ($entity->owner_guid != $user->guid) { + + notify_user($entity->owner_guid, + $user->guid, elgg_echo('generic_comment:email:subject'), - sprintf( - elgg_echo('generic_comment:email:body'), + elgg_echo('generic_comment:email:body', array( $entity->title, - $_SESSION['user']->name, + $user->name, $comment_text, $entity->getURL(), - $_SESSION['user']->name, - $_SESSION['user']->getURL() - ) + $user->name, + $user->getURL() + )) ); - } +} - system_message(elgg_echo("generic_comment:posted")); - //add to river - add_to_river('annotation/annotate','comment',$_SESSION['user']->guid,$entity->guid, "", 0, $annotation); - } else { - register_error(elgg_echo("generic_comment:failure")); - } -} else { +system_message(elgg_echo("generic_comment:posted")); - register_error(elgg_echo("generic_comment:notfound")); - -} +//add to river +add_to_river('river/annotation/generic_comment/create', 'comment', $user->guid, $entity->guid, "", 0, $annotation); -// Forward to the -forward($entity->getURL());
\ No newline at end of file +// Forward to the page the action occurred on +forward(REFERER); diff --git a/actions/comments/delete.php b/actions/comments/delete.php index 03e575b66..c6b481da4 100644 --- a/actions/comments/delete.php +++ b/actions/comments/delete.php @@ -3,30 +3,16 @@ * Elgg delete comment action * * @package Elgg - * @author Curverider <curverider.co.uk> - * @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'); -if ($comment = get_annotation($annotation_id)) { - - $entity = get_entity($comment->entity_guid); - - if ($comment->canEdit()) { - $comment->delete(); - system_message(elgg_echo("generic_comment:deleted")); - forward($entity->getURL()); - } - +$comment = elgg_get_annotation_from_id($annotation_id); +if ($comment && $comment->canEdit()) { + $comment->delete(); + system_message(elgg_echo("generic_comment:deleted")); } else { - $url = ""; + register_error(elgg_echo("generic_comment:notdeleted")); } -register_error(elgg_echo("generic_comment:notdeleted")); -forward($entity->getURL());
\ No newline at end of file +forward(REFERER);
\ No newline at end of file |
