diff options
Diffstat (limited to 'actions/comments')
-rw-r--r-- | actions/comments/add.php | 62 | ||||
-rw-r--r-- | actions/comments/delete.php | 18 | ||||
-rw-r--r-- | actions/comments/edit.php | 61 |
3 files changed, 80 insertions, 61 deletions
diff --git a/actions/comments/add.php b/actions/comments/add.php new file mode 100644 index 000000000..5bd741413 --- /dev/null +++ b/actions/comments/add.php @@ -0,0 +1,62 @@ +<?php +/** + * Elgg add comment action + * + * @package Elgg.Core + * @subpackage Comments + */ + +$entity_guid = (int) get_input('entity_guid'); +$comment_text = get_input('generic_comment'); + +if (empty($comment_text)) { + register_error(elgg_echo("generic_comment:blank")); + forward(REFERER); +} + +// Let's see if we can get an entity with the specified GUID +$entity = get_entity($entity_guid); +if (!$entity) { + register_error(elgg_echo("generic_comment:notfound")); + forward(REFERER); +} + +$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); +} + +// 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'), + elgg_echo('generic_comment:email:body', array( + $entity->title, + $user->name, + $comment_text, + $entity->getURL(), + $user->name, + $user->getURL() + )) + ); +} + +system_message(elgg_echo("generic_comment:posted")); + +//add to river +add_to_river('river/annotation/generic_comment/create', 'comment', $user->guid, $entity->guid, "", 0, $annotation); + +// Forward to the page the action occurred on +forward(REFERER); diff --git a/actions/comments/delete.php b/actions/comments/delete.php new file mode 100644 index 000000000..c6b481da4 --- /dev/null +++ b/actions/comments/delete.php @@ -0,0 +1,18 @@ +<?php +/** + * Elgg delete comment action + * + * @package Elgg + */ + +// Make sure we can get the comment in question +$annotation_id = (int) get_input('annotation_id'); +$comment = elgg_get_annotation_from_id($annotation_id); +if ($comment && $comment->canEdit()) { + $comment->delete(); + system_message(elgg_echo("generic_comment:deleted")); +} else { + register_error(elgg_echo("generic_comment:notdeleted")); +} + +forward(REFERER);
\ No newline at end of file diff --git a/actions/comments/edit.php b/actions/comments/edit.php deleted file mode 100644 index 462db5db7..000000000 --- a/actions/comments/edit.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Editable Comments -- Add and comment actions - * - * @package Lorea - * @subpackage EditableComments - * - * Copyright 2012 Lorea Faeries <federation@lorea.org> - * - * This file is part of the EditableComments plugin for Elgg. - * - * EditableComments is free software: you can redistribute it and/or - * modify it under the terms of the GNU Affero General Public License - * as published by the Free Software Foundation, either version 3 of - * the License, or (at your option) any later version. - * - * EditableComments is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/>. - */ - -$annotation_id = (int)get_input("annotation_id"); -$comment_text = get_input('generic_comment'); - -if (empty($comment_text)) { - register_error(elgg_echo("generic_comment:blank")); - forward(REFERER); -} - -// Let's see if we can get an annotation with the specified id -$annotation = elgg_get_annotation_from_id($annotation_id); -if (!$annotation) { - register_error(elgg_echo("generic_comment:notfound")); - forward(REFERER); -} - -$user = elgg_get_logged_in_user_entity(); -$entity = $annotation->getEntity(); - -$annotation = update_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); -} - -system_message(elgg_echo("comment:edited")); - -// Forward to the page the action occurred on -forward(REFERER); |