aboutsummaryrefslogtreecommitdiff
path: root/actions/comments
diff options
context:
space:
mode:
Diffstat (limited to 'actions/comments')
-rw-r--r--actions/comments/add.php62
-rw-r--r--actions/comments/delete.php18
-rw-r--r--actions/comments/edit.php61
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);