aboutsummaryrefslogtreecommitdiff
path: root/mod/editablecomments/actions/comments
diff options
context:
space:
mode:
Diffstat (limited to 'mod/editablecomments/actions/comments')
-rw-r--r--mod/editablecomments/actions/comments/edit.php61
1 files changed, 61 insertions, 0 deletions
diff --git a/mod/editablecomments/actions/comments/edit.php b/mod/editablecomments/actions/comments/edit.php
new file mode 100644
index 000000000..462db5db7
--- /dev/null
+++ b/mod/editablecomments/actions/comments/edit.php
@@ -0,0 +1,61 @@
+<?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);