diff options
Diffstat (limited to 'actions/comments/add.php')
-rw-r--r-- | actions/comments/add.php | 62 |
1 files changed, 62 insertions, 0 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); |