diff options
-rw-r--r-- | engine/lib/views.php | 26 | ||||
-rw-r--r-- | views/default/page/elements/comments.php | 9 |
2 files changed, 19 insertions, 16 deletions
diff --git a/engine/lib/views.php b/engine/lib/views.php index 199f79dae..a66b7748b 100644 --- a/engine/lib/views.php +++ b/engine/lib/views.php @@ -1075,32 +1075,30 @@ function elgg_view_friendly_time($time) { * * @tip Plugins can override the output by registering a handler * for the comments, $entity_type hook. The handler is responsible - * for formatting the comments and add comment form. + * for formatting the comments and the add comment form. * * @param ElggEntity $entity The entity to view comments of - * @param bool $add_comment Include a form to add comments + * @param bool $add_comment Include a form to add comments? + * @param array $vars Variables to pass to comment view * - * @return string|false The HTML (etc) for the comments, or false on failure + * @return string|false Rendered comments or false on failure * @link http://docs.elgg.org/Entities/Comments * @link http://docs.elgg.org/Annotations/Comments */ -function elgg_view_comments($entity, $add_comment = true) { +function elgg_view_comments($entity, $add_comment = true, array $vars = array()) { if (!($entity instanceof ElggEntity)) { return false; } - $comments = elgg_trigger_plugin_hook('comments', $entity->getType(), array('entity' => $entity), false); - if ($comments) { - return $comments; - } else { - $params = array( - 'entity' => $entity, - 'show_add_form' => $add_comment, - 'id' => "{$entity->getSubtype()}-comments", - ); - $output = elgg_view('page/elements/comments', $params); + $vars['entity'] = $entity; + $vars['show_add_form'] = $add_comment; + $vars['class'] = elgg_extract('class', $vars, "{$entity->getSubtype()}-comments"); + $output = elgg_trigger_plugin_hook('comments', $entity->getType(), $vars, false); + if ($output) { return $output; + } else { + return elgg_view('page/elements/comments', $vars); } } diff --git a/views/default/page/elements/comments.php b/views/default/page/elements/comments.php index 3d44f5785..1b0082ee4 100644 --- a/views/default/page/elements/comments.php +++ b/views/default/page/elements/comments.php @@ -5,6 +5,7 @@ * @uses $vars['entity'] ElggEntity * @uses $vars['show_add_form'] Display add form or not * @uses $vars['id'] Optional id for the div + * @uses $vars['class'] Optional additional class for the div */ $show_add_form = elgg_extract('show_add_form', $vars, true); @@ -14,10 +15,15 @@ if (isset($vars['id'])) { $id = "id =\"{$vars['id']}\""; } +$class = 'elgg-comments'; +if (isset($vars['class'])) { + $class = "$class {$vars['class']}"; +} + // work around for deprecation code in elgg_view() unset($vars['internalid']); -echo "<div $id class=\"elgg-comments\">"; +echo "<div $id class=\"$class\">"; $options = array( 'guid' => $vars['entity']->getGUID(), @@ -28,7 +34,6 @@ if ($html) { echo '<h3>Comments</h3>'; echo $html; } -//echo strlen($html); if ($show_add_form) { $form_vars = array('name' => 'elgg_add_comment'); |