コード例 #1
0
use ElggEntity;
$entity = elgg_extract('entity', $vars, false);
/* @var $entity ElggEntity */
$comment = elgg_extract('comment', $vars, false);
/* @var $comment Comment */
if (!elgg_instanceof($entity)) {
    return;
}
$full_view = elgg_extract('full_view', $vars, false);
$show_form = elgg_extract('show_add_form', $vars, true) && $entity->canComment();
$expand_form = elgg_extract('expand_form', $vars, !elgg_in_context('widgets'));
$sort = InteractionsService::getCommentsSort();
if ($comment && !in_array($sort, ['time_created::asc', 'time_created::desc'])) {
    $sort = 'time_created::desc';
}
$style = InteractionsService::getLoadStyle();
$form_position = InteractionsService::getCommentsFormPosition();
$limit = elgg_extract('limit', $vars, InteractionsService::getLimit(!$full_view));
$offset_key = "comments_{$entity->guid}";
$offset = get_input($offset_key, null);
$count = $entity->countComments();
if (!isset($offset)) {
    $offset = InteractionsService::calculateOffset($count, $limit, $comment);
}
$level = elgg_extract('level', $vars) ?: 1;
$options = array('types' => 'object', 'subtypes' => array(Comment::SUBTYPE, 'hjcomment'), 'container_guid' => $entity->guid, 'list_id' => "interactions-comments-{$entity->guid}", 'list_class' => 'interactions-comments-list elgg-comments', 'base_url' => elgg_normalize_url("stream/comments/{$entity->guid}"), 'limit' => $limit, 'offset' => $offset, 'offset_key' => $offset_key, 'full_view' => true, 'pagination' => true, 'pagination_type' => 'infinite', 'lazy_load' => 0, 'reversed' => $sort == 'time_created::asc', 'auto_refresh' => 90, 'no_results' => elgg_echo('interactions:comments:no_results'), 'data-guid' => $entity->guid, 'data-trait' => 'comments', 'level' => $level);
elgg_push_context('comments');
$allow_sort = $level == 1 && (bool) elgg_get_plugin_setting('comment_sort', 'hypeInteractions');
$list = elgg_view('lists/objects', ['options' => $options, 'show_filter' => $allow_sort, 'show_sort' => $allow_sort, 'show_search' => $allow_sort, 'expand_form' => false, 'sort_options' => ['time_created::desc', 'time_created::asc', 'likes_count::desc'], 'sort' => get_input('sort', $sort)]);
elgg_pop_context();
$form = '';