'href' => "#comments-add-$object->guid",
'text' => elgg_echo('generic_comments:text'),
'class' => "elgg-toggler",
+ 'priority' => 50,
);
$return[] = ElggMenuItem::factory($options);
}
'href' => $url,
'text' => elgg_echo('likes:likethis'),
'is_action' => true,
+ 'priority' => 100,
);
} else {
$likes = elgg_get_annotations(array(
'href' => $url,
'text' => elgg_echo('likes:remove'),
'is_action' => true,
+ 'priority' => 100,
);
}
$return[] = ElggMenuItem::factory($options);
// Register for search.
elgg_register_entity_type('object', 'groupforumtopic');
+ // because replies are not comments, need of our menu item
+ elgg_register_plugin_hook_handler('register', 'menu:river', 'discussion_add_to_river_menu');
+
// add the forum tool option
add_group_tool_option('forum', elgg_echo('groups:enableforum'), true);
elgg_extend_view('groups/tool_latest', 'discussion/group_module');
return $return;
}
+/**
+ * Add the reply button for the river
+ */
+function discussion_add_to_river_menu($hook, $type, $return, $params) {
+ if (elgg_is_logged_in()) {
+ $item = $params['item'];
+ $object = $item->getObjectEntity();
+ if (elgg_instanceof($object, 'object', 'groupforumtopic')) {
+ if ($item->annotation_id == 0) {
+ $group = $object->getContainerEntity();
+ if ($group->isMember() || elgg_is_admin_logged_in()) {
+ $options = array(
+ 'name' => 'reply',
+ 'href' => "#groups-reply-$object->guid",
+ 'text' => elgg_echo('reply'),
+ 'class' => "elgg-toggler",
+ 'priority' => 50,
+ );
+ $return[] = ElggMenuItem::factory($options);
+ }
+ }
+ }
+ }
+
+ return $return;
+}
+
/**
* Event handler for group forum posts
*
/**
* Discussion topic reply form bofy
*
- * @uses $vars['entity']
+ * @uses $vars['entity'] A discussion topic object
+ * @uses $vars['inline'] Display a shortened form?
*/
if (isset($vars['entity']) && elgg_is_logged_in()) {
+ $inline = elgg_extract('inline', $vars, false);
+
+ if ($inline) {
+ echo elgg_view('input/text', array('name' => 'group_topic_post'));
+ echo elgg_view('input/submit', array('value' => elgg_echo('reply')));
+ } else {
?>
<div>
<label><?php echo elgg_echo("reply"); ?></label>
<?php echo elgg_view('input/longtext', array('name' => 'group_topic_post')); ?>
</div>
<?php
- echo elgg_view('input/submit', array('value' => elgg_echo('reply')));
-
+ echo elgg_view('input/submit', array('value' => elgg_echo('reply')));
+ }
echo elgg_view('input/hidden', array(
'name' => 'entity_guid',
- 'value' => $vars['entity']->getGUID()
+ 'value' => $vars['entity']->getGUID(),
));
}
echo $excerpt;
echo '</div>';
}
+
+if (elgg_is_logged_in() && $container->isMember(elgg_get_logged_in_user_entity())) {
+ // inline comment form
+ echo elgg_view_form('discussion/reply/save', array(
+ 'id' => "groups-reply-{$object->getGUID()}",
+ ), array('entity' => $object, 'inline' => true));
+}
* @uses $vars['item']
*/
-echo elgg_view_menu('river', array('item' => $vars['item']));
+echo elgg_view_menu('river', array(
+ 'item' => $vars['item'],
+ 'sort_by' => 'priority',
+));