diff options
author | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-03-03 17:53:05 +0000 |
---|---|---|
committer | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-03-03 17:53:05 +0000 |
commit | 4766f36a4d74924f21ff329c4318ce4e069ffa04 (patch) | |
tree | 969b84632f2a8b0db79788a8a6db8e41d63e5cb4 /mod/groups/actions/forums/addpost.php | |
parent | 57a217fd6b708844407486046a1faa23b46cac08 (diff) | |
download | elgg-4766f36a4d74924f21ff329c4318ce4e069ffa04.tar.gz elgg-4766f36a4d74924f21ff329c4318ce4e069ffa04.tar.bz2 |
Pulled in the interface changes.
git-svn-id: http://code.elgg.org/elgg/trunk@5257 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/groups/actions/forums/addpost.php')
-rw-r--r-- | mod/groups/actions/forums/addpost.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/mod/groups/actions/forums/addpost.php b/mod/groups/actions/forums/addpost.php new file mode 100644 index 000000000..c277b795d --- /dev/null +++ b/mod/groups/actions/forums/addpost.php @@ -0,0 +1,58 @@ +<?php + +/** + * Elgg groups: add post to a topic + * + * @package ElggGroups + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Curverider <info@elgg.com> + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.org/ + */ + +// Make sure we're logged in and have a CSRF token +gatekeeper(); + +// Get input +$topic_guid = (int) get_input('topic_guid'); +$group_guid = (int) get_input('group_guid'); +$post = get_input('topic_post'); + + +// make sure we have text in the post +if (!$post) { + register_error(elgg_echo("grouppost:nopost")); + forward($_SERVER['HTTP_REFERER']); +} + + +// Check that user is a group member +$group = get_entity($group_guid); +$user = get_loggedin_user(); +if (!$group->isMember($user)) { + register_error(elgg_echo("groups:notmember")); + forward($_SERVER['HTTP_REFERER']); +} + + +// Let's see if we can get an form topic with the specified GUID, and that it's a group forum topic +$topic = get_entity($topic_guid); +if (!$topic || $topic->getSubtype() != "groupforumtopic") { + register_error(elgg_echo("grouptopic:notfound")); + forward($_SERVER['HTTP_REFERER']); +} + + +// add the post to the forum topic +$post_id = $topic->annotate('group_topic_post', $post, $topic->access_id, $user->guid); +if ($post_id == false) { + system_message(elgg_echo("groupspost:failure")); + forward($_SERVER['HTTP_REFERER']); +} + +// add to river +add_to_river('river/forum/create', 'create', $user->guid, $topic_guid, "", 0, $post_id); + +system_message(elgg_echo("groupspost:success")); + +forward($_SERVER['HTTP_REFERER']); |