mirror of
https://github.com/friendica/friendica
synced 2024-12-23 02:40:17 +00:00
Frio: The activity buttons now have got counters
This commit is contained in:
parent
c5306dcec8
commit
1dd48e4a8b
6 changed files with 201 additions and 155 deletions
|
@ -1056,19 +1056,24 @@ class Conversation
|
||||||
];
|
];
|
||||||
|
|
||||||
$index_list = array_values($activity_emoji);
|
$index_list = array_values($activity_emoji);
|
||||||
$verbs = array_merge(array_keys($activity_emoji), [Activity::EMOJIREACT]);
|
$verbs = array_merge(array_keys($activity_emoji), [Activity::EMOJIREACT, Activity::POST]);
|
||||||
|
|
||||||
$condition = DBA::mergeConditions(['parent-uri-id' => $uriids, 'gravity' => ItemModel::GRAVITY_ACTIVITY, 'verb' => $verbs], ["NOT `deleted`"]);
|
$condition = DBA::mergeConditions(['parent-uri-id' => $uriids, 'gravity' => [ItemModel::GRAVITY_ACTIVITY, ItemModel::GRAVITY_COMMENT], 'verb' => $verbs], ["NOT `deleted`"]);
|
||||||
$separator = chr(255) . chr(255) . chr(255);
|
$separator = chr(255) . chr(255) . chr(255);
|
||||||
|
|
||||||
$sql = "SELECT `thr-parent-id`, `body`, `verb`, COUNT(*) AS `total`, GROUP_CONCAT(REPLACE(`author-name`, '" . $separator . "', ' ') SEPARATOR '" . $separator . "' LIMIT 50) AS `title` FROM `post-view` WHERE " . array_shift($condition) . " GROUP BY `thr-parent-id`, `verb`, `body`";
|
$sql = "SELECT `thr-parent-id`, `body`, `verb`, `gravity`, COUNT(*) AS `total`, GROUP_CONCAT(REPLACE(`author-name`, '" . $separator . "', ' ') SEPARATOR '" . $separator . "' LIMIT 50) AS `title` FROM `post-view` WHERE " . array_shift($condition) . " GROUP BY `thr-parent-id`, `verb`, `body`, `gravity`";
|
||||||
|
|
||||||
$emojis = [];
|
$emojis = [];
|
||||||
|
|
||||||
$rows = DBA::p($sql, $condition);
|
$rows = DBA::p($sql, $condition);
|
||||||
while ($row = DBA::fetch($rows)) {
|
while ($row = DBA::fetch($rows)) {
|
||||||
|
if ($row['gravity'] == ItemModel::GRAVITY_ACTIVITY) {
|
||||||
$row['verb'] = $row['body'] ? Activity::EMOJIREACT : $row['verb'];
|
$row['verb'] = $row['body'] ? Activity::EMOJIREACT : $row['verb'];
|
||||||
$emoji = $row['body'] ?: $activity_emoji[$row['verb']];
|
$emoji = $row['body'] ?: $activity_emoji[$row['verb']];
|
||||||
|
} else {
|
||||||
|
$emoji = '';
|
||||||
|
}
|
||||||
|
|
||||||
if (!isset($index_list[$emoji])) {
|
if (!isset($index_list[$emoji])) {
|
||||||
$index_list[] = $emoji;
|
$index_list[] = $emoji;
|
||||||
}
|
}
|
||||||
|
|
|
@ -636,7 +636,7 @@ class Event
|
||||||
{
|
{
|
||||||
$fmt = DI::l10n()->t('l, F j');
|
$fmt = DI::l10n()->t('l, F j');
|
||||||
|
|
||||||
$item = Post::selectFirst(['plink', 'author-name', 'author-network', 'author-id', 'author-avatar', 'author-link', 'private', 'uri-id'], ['id' => $event['itemid']]);
|
$item = Post::selectFirst(['plink', 'author-name', 'author-network', 'author-id', 'author-avatar', 'author-link', 'author-alias', 'private', 'uri-id'], ['id' => $event['itemid']]);
|
||||||
if (empty($item)) {
|
if (empty($item)) {
|
||||||
// Using default values when no item had been found
|
// Using default values when no item had been found
|
||||||
$item = ['plink' => '', 'author-name' => '', 'author-avatar' => '', 'author-link' => '', 'private' => Item::PUBLIC, 'uri-id' => ($event['uri-id'] ?? 0)];
|
$item = ['plink' => '', 'author-name' => '', 'author-avatar' => '', 'author-link' => '', 'private' => Item::PUBLIC, 'uri-id' => ($event['uri-id'] ?? 0)];
|
||||||
|
|
|
@ -320,7 +320,7 @@ class Post
|
||||||
$location_html = $locate['html'] ?: Strings::escapeHtml($locate['location'] ?: $locate['coord'] ?: '');
|
$location_html = $locate['html'] ?: Strings::escapeHtml($locate['location'] ?: $locate['coord'] ?: '');
|
||||||
|
|
||||||
// process action responses - e.g. like/dislike/attend/agree/whatever
|
// process action responses - e.g. like/dislike/attend/agree/whatever
|
||||||
$response_verbs = ['like', 'dislike', 'announce'];
|
$response_verbs = ['like', 'dislike', 'announce', 'comment'];
|
||||||
|
|
||||||
$isevent = false;
|
$isevent = false;
|
||||||
$attend = [];
|
$attend = [];
|
||||||
|
@ -335,14 +335,31 @@ class Post
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$emojis = $this->getEmojis($item);
|
||||||
|
|
||||||
|
$verbs = [
|
||||||
|
'like' => Activity::LIKE,
|
||||||
|
'dislike' => Activity::DISLIKE,
|
||||||
|
'announce' => Activity::ANNOUNCE,
|
||||||
|
'comment' => Activity::POST,
|
||||||
|
'attendyes' => Activity::ATTEND,
|
||||||
|
'attendno' => Activity::ATTENDNO,
|
||||||
|
'attendmaybe' => Activity::ATTENDMAYBE,
|
||||||
|
];
|
||||||
|
$reactions = $emojis;
|
||||||
$responses = [];
|
$responses = [];
|
||||||
foreach ($response_verbs as $value => $verb) {
|
foreach ($response_verbs as $value => $verb) {
|
||||||
$responses[$verb] = [
|
$responses[$verb] = [
|
||||||
'self' => $conv_responses[$verb][$item['uri-id']]['self'] ?? 0,
|
'self' => $conv_responses[$verb][$item['uri-id']]['self'] ?? 0,
|
||||||
'output' => !empty($conv_responses[$verb][$item['uri-id']]) ? DI::conversation()->formatActivity($conv_responses[$verb][$item['uri-id']]['links'], $verb, $item['uri-id']) : '',
|
'output' => !empty($conv_responses[$verb][$item['uri-id']]) ? DI::conversation()->formatActivity($conv_responses[$verb][$item['uri-id']]['links'], $verb, $item['uri-id']) : '',
|
||||||
|
'total' => $emojis[$verbs[$verb]]['total'] ?? '',
|
||||||
|
'title' => $emojis[$verbs[$verb]]['title'] ?? '',
|
||||||
];
|
];
|
||||||
|
unset($reactions[$verbs[$verb]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unset($emojis[Activity::POST]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We should avoid doing this all the time, but it depends on the conversation mode
|
* We should avoid doing this all the time, but it depends on the conversation mode
|
||||||
* And the conv mode may change when we change the conv, or it changes its mode
|
* And the conv mode may change when we change the conv, or it changes its mode
|
||||||
|
@ -576,7 +593,8 @@ class Post
|
||||||
'vote' => $buttons,
|
'vote' => $buttons,
|
||||||
'like_html' => $responses['like']['output'],
|
'like_html' => $responses['like']['output'],
|
||||||
'dislike_html' => $responses['dislike']['output'],
|
'dislike_html' => $responses['dislike']['output'],
|
||||||
'emojis' => $this->getEmojis($item),
|
'emojis' => $emojis,
|
||||||
|
'reactions' => $reactions,
|
||||||
'responses' => $responses,
|
'responses' => $responses,
|
||||||
'switchcomment' => DI::l10n()->t('Comment'),
|
'switchcomment' => DI::l10n()->t('Comment'),
|
||||||
'reply_label' => DI::l10n()->t('Reply to %s', $profile_name),
|
'reply_label' => DI::l10n()->t('Reply to %s', $profile_name),
|
||||||
|
@ -667,46 +685,59 @@ class Post
|
||||||
case Activity::ANNOUNCE:
|
case Activity::ANNOUNCE:
|
||||||
$title = DI::l10n()->t('Reshared by: %s', $actors);
|
$title = DI::l10n()->t('Reshared by: %s', $actors);
|
||||||
$icon = ['fa' => 'fa-retweet', 'icon' => 'icon-retweet'];
|
$icon = ['fa' => 'fa-retweet', 'icon' => 'icon-retweet'];
|
||||||
|
$verb = Activity::ANNOUNCE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Activity::VIEW:
|
case Activity::VIEW:
|
||||||
$title = DI::l10n()->t('Viewed by: %s', $actors);
|
$title = DI::l10n()->t('Viewed by: %s', $actors);
|
||||||
$icon = ['fa' => 'fa-eye', 'icon' => 'icon-eye-open'];
|
$icon = ['fa' => 'fa-eye', 'icon' => 'icon-eye-open'];
|
||||||
|
$verb = Activity::VIEW;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Activity::LIKE:
|
case Activity::LIKE:
|
||||||
$title = DI::l10n()->t('Liked by: %s', $actors);
|
$title = DI::l10n()->t('Liked by: %s', $actors);
|
||||||
$icon = ['fa' => 'fa-thumbs-up', 'icon' => 'icon-thumbs-up'];
|
$icon = ['fa' => 'fa-thumbs-up', 'icon' => 'icon-thumbs-up'];
|
||||||
|
$verb = Activity::LIKE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Activity::DISLIKE:
|
case Activity::DISLIKE:
|
||||||
$title = DI::l10n()->t('Disliked by: %s', $actors);
|
$title = DI::l10n()->t('Disliked by: %s', $actors);
|
||||||
$icon = ['fa' => 'fa-thumbs-down', 'icon' => 'icon-thumbs-down'];
|
$icon = ['fa' => 'fa-thumbs-down', 'icon' => 'icon-thumbs-down'];
|
||||||
|
$verb = Activity::DISLIKE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Activity::ATTEND:
|
case Activity::ATTEND:
|
||||||
$title = DI::l10n()->t('Attended by: %s', $actors);
|
$title = DI::l10n()->t('Attended by: %s', $actors);
|
||||||
$icon = ['fa' => 'fa-check', 'icon' => 'icon-ok'];
|
$icon = ['fa' => 'fa-check', 'icon' => 'icon-ok'];
|
||||||
|
$verb = Activity::ATTEND;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Activity::ATTENDMAYBE:
|
case Activity::ATTENDMAYBE:
|
||||||
$title = DI::l10n()->t('Maybe attended by: %s', $actors);
|
$title = DI::l10n()->t('Maybe attended by: %s', $actors);
|
||||||
$icon = ['fa' => 'fa-question', 'icon' => 'icon-question'];
|
$icon = ['fa' => 'fa-question', 'icon' => 'icon-question'];
|
||||||
|
$verb = Activity::ATTENDMAYBE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Activity::ATTENDNO:
|
case Activity::ATTENDNO:
|
||||||
$title = DI::l10n()->t('Not attended by: %s', $actors);
|
$title = DI::l10n()->t('Not attended by: %s', $actors);
|
||||||
$icon = ['fa' => 'fa-times', 'icon' => 'icon-remove'];
|
$icon = ['fa' => 'fa-times', 'icon' => 'icon-remove'];
|
||||||
|
$verb = Activity::ATTENDNO;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Activity::POST:
|
||||||
|
$title = DI::l10n()->t('Commented by: %s', $actors);
|
||||||
|
$icon = ['fa' => 'fa-commenting', 'icon' => 'icon-remove'];
|
||||||
|
$verb = Activity::POST;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$title = DI::l10n()->t('Reacted with %s by: %s', $element['emoji'], $actors);
|
$title = DI::l10n()->t('Reacted with %s by: %s', $element['emoji'], $actors);
|
||||||
$icon = [];
|
$icon = [];
|
||||||
|
$verb = $element['emoji'];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$emojis[$index] = ['emoji' => $element['emoji'], 'total' => $element['total'], 'title' => $title, 'icon' => $icon];
|
$emojis[$verb] = ['emoji' => $element['emoji'], 'total' => $element['total'], 'title' => $title, 'icon' => $icon];
|
||||||
}
|
}
|
||||||
ksort($emojis);
|
|
||||||
|
|
||||||
return $emojis;
|
return $emojis;
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,6 +110,12 @@ span.connector {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.wall-item-response {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
.type-link blockquote, .type-video blockquote {
|
.type-link blockquote, .type-video blockquote {
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
max-height: 160px;
|
max-height: 160px;
|
||||||
|
|
|
@ -1985,6 +1985,8 @@ code > .hl-main {
|
||||||
.wall-item-actions button {
|
.wall-item-actions button {
|
||||||
color: $font_color_darker;
|
color: $font_color_darker;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
}
|
}
|
||||||
.wall-item-actions .active {
|
.wall-item-actions .active {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
|
@ -309,18 +309,22 @@ as the value of $top_child_total (this is done at the end of this file)
|
||||||
|
|
||||||
{{if $item.vote}}
|
{{if $item.vote}}
|
||||||
{{if $item.vote.like}}
|
{{if $item.vote.like}}
|
||||||
|
<span class="wall-item-response">
|
||||||
<button type="button" class="btn-link button-likes{{if $item.responses.like.self}} active" aria-pressed="true{{/if}}" id="like-{{$item.id}}" title="{{$item.vote.like.0}}" onclick="doActivityItemAction({{$item.id}}, 'like'{{if $item.responses.like.self}}, true{{/if}});" ><i class="fa fa-thumbs-up" aria-hidden="true"></i></button>
|
<button type="button" class="btn-link button-likes{{if $item.responses.like.self}} active" aria-pressed="true{{/if}}" id="like-{{$item.id}}" title="{{$item.vote.like.0}}" onclick="doActivityItemAction({{$item.id}}, 'like'{{if $item.responses.like.self}}, true{{/if}});" ><i class="fa fa-thumbs-up" aria-hidden="true"></i></button>
|
||||||
{{/if}}
|
<span title="{{$item.responses.like.title}}">{{$item.responses.like.total}}</span>
|
||||||
{{if $item.vote.like AND $item.vote.dislike}}
|
</span>
|
||||||
<span role="presentation" class="separator"></span>
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{if $item.vote.dislike}}
|
{{if $item.vote.dislike}}
|
||||||
|
<span class="wall-item-response">
|
||||||
<button type="button" class="btn-link button-likes{{if $item.responses.dislike.self}} active" aria-pressed="true{{/if}}" id="dislike-{{$item.id}}" title="{{$item.vote.dislike.0}}" onclick="doActivityItemAction({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}});" ><i class="fa fa-thumbs-down" aria-hidden="true"></i></button>
|
<button type="button" class="btn-link button-likes{{if $item.responses.dislike.self}} active" aria-pressed="true{{/if}}" id="dislike-{{$item.id}}" title="{{$item.vote.dislike.0}}" onclick="doActivityItemAction({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}});" ><i class="fa fa-thumbs-down" aria-hidden="true"></i></button>
|
||||||
|
<span title="{{$item.responses.dislike.title}}">{{$item.responses.dislike.total}}</span>
|
||||||
|
</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{if ($item.vote.like OR $item.vote.dislike) AND $item.comment_html}}
|
|
||||||
<span role="presentation" class="separator"></span>
|
{{foreach $item.reactions as $emoji}}
|
||||||
{{/if}}
|
<span class="wall-item-emoji" title="{{$emoji.title}}">{{$emoji.emoji}} {{$emoji.total}}</span>
|
||||||
|
{{/foreach}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{if $item.remote_comment}}
|
{{if $item.remote_comment}}
|
||||||
|
@ -329,27 +333,46 @@ as the value of $top_child_total (this is done at the end of this file)
|
||||||
|
|
||||||
{{* Button to open the comment text field *}}
|
{{* Button to open the comment text field *}}
|
||||||
{{if $item.comment_html}}
|
{{if $item.comment_html}}
|
||||||
|
<span class="wall-item-response">
|
||||||
<button type="button" class="btn-link button-comments" id="comment-{{$item.id}}" title="{{$item.switchcomment}}" {{if $item.thread_level != 1}}onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});" {{else}} onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});"{{/if}}><i class="fa fa-commenting" aria-hidden="true"></i></button>
|
<button type="button" class="btn-link button-comments" id="comment-{{$item.id}}" title="{{$item.switchcomment}}" {{if $item.thread_level != 1}}onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});" {{else}} onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});"{{/if}}><i class="fa fa-commenting" aria-hidden="true"></i></button>
|
||||||
|
<span title="{{$item.responses.comment.title}}">{{$item.responses.comment.total}}</span>
|
||||||
|
</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* Button for sharing the item *}}
|
{{* Button for sharing the item *}}
|
||||||
{{if $item.vote}}
|
{{if $item.vote}}
|
||||||
{{if $item.vote.share OR $item.vote.announce}}
|
|
||||||
{{if $item.vote.like OR $item.vote.dislike OR $item.comment_html}}
|
|
||||||
<span role="presentation" class="separator"></span>
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
{{if $item.vote.announce}}
|
{{if $item.vote.announce}}
|
||||||
|
<span class="wall-item-response">
|
||||||
<button type="button" class="btn-link button-announces{{if $item.responses.announce.self}} active" aria-pressed="true{{/if}}" id="announce-{{$item.id}}" title="{{$item.vote.announce.0}}" onclick="doActivityItemAction({{$item.id}}, 'announce'{{if $item.responses.announce.self}}, true{{/if}});" ><i class="fa fa-retweet" aria-hidden="true"></i></button>
|
<button type="button" class="btn-link button-announces{{if $item.responses.announce.self}} active" aria-pressed="true{{/if}}" id="announce-{{$item.id}}" title="{{$item.vote.announce.0}}" onclick="doActivityItemAction({{$item.id}}, 'announce'{{if $item.responses.announce.self}}, true{{/if}});" ><i class="fa fa-retweet" aria-hidden="true"></i></button>
|
||||||
<span role="presentation" class="separator"></span>
|
<span title="{{$item.responses.announce.title}}">{{$item.responses.announce.total}}</span>
|
||||||
|
</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{if $item.vote.share}}
|
{{if $item.vote.share}}
|
||||||
|
<span>
|
||||||
<button type="button" class="btn-link button-votes" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}});"><i class="fa fa-share" aria-hidden="true"></i></button>
|
<button type="button" class="btn-link button-votes" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}});"><i class="fa fa-share" aria-hidden="true"></i></button>
|
||||||
|
</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{* Event attendance buttons *}}
|
||||||
|
{{if $item.isevent}}
|
||||||
|
<span class="wall-item-response">
|
||||||
|
<button type="button" class="btn-link button-event{{if $item.responses.attendyes.self}} active" aria-pressed="true{{/if}}" id="attendyes-{{$item.id}}" title="{{$item.attend.0}}" onclick="doActivityItemAction({{$item.id}}, 'attendyes'{{if $item.responses.attendyes.self}}, true{{/if}});"><i class="fa fa-check" aria-hidden="true"><span class="sr-only">{{$item.attend.0}}</span></i></button>
|
||||||
|
<span title="{{$item.responses.attendyes.title}}">{{$item.responses.attendyes.total}}</span>
|
||||||
|
</span>
|
||||||
|
<span class="wall-item-response">
|
||||||
|
<button type="button" class="btn-link button-event{{if $item.responses.attendno.self}} active" aria-pressed="true{{/if}}" id="attendno-{{$item.id}}" title="{{$item.attend.1}}" onclick="doActivityItemAction({{$item.id}}, 'attendno'{{if $item.responses.attendno.self}}, true{{/if}});"><i class="fa fa-times" aria-hidden="true"><span class="sr-only">{{$item.attend.1}}</span></i></button>
|
||||||
|
<span title="{{$item.responses.attendno.title}}">{{$item.responses.attendno.total}}</span>
|
||||||
|
</span>
|
||||||
|
<span class="wall-item-response">
|
||||||
|
<button type="button" class="btn-link button-event{{if $item.responses.attendmaybe.self}} active" aria-pressed="true{{/if}}" id="attendmaybe-{{$item.id}}" title="{{$item.attend.2}}" onclick="doActivityItemAction({{$item.id}}, 'attendmaybe'{{if $item.responses.attendmaybe.self}}, true{{/if}});"><i class="fa fa-question" aria-hidden="true"><span class="sr-only">{{$item.attend.2}}</span></i></button>
|
||||||
|
<span title="{{$item.responses.attendmaybe.title}}">{{$item.responses.attendmaybe.total}}</span>
|
||||||
|
</span>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<span class="wall-item-actions-right hidden-xs">
|
||||||
{{* Put additional actions in a dropdown menu *}}
|
{{* Put additional actions in a dropdown menu *}}
|
||||||
<span role="presentation" class="separator"></span>
|
|
||||||
<span class="more-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}">
|
<span class="more-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}">
|
||||||
<button type="button" class="btn-link dropdown-toggle" data-toggle="dropdown" id="dropdownMenuOptions-{{$item.id}}" aria-haspopup="true" aria-expanded="false" title="{{$item.menu}}"><i class="fa fa-ellipsis-h" aria-hidden="true"></i></button>
|
<button type="button" class="btn-link dropdown-toggle" data-toggle="dropdown" id="dropdownMenuOptions-{{$item.id}}" aria-haspopup="true" aria-expanded="false" title="{{$item.menu}}"><i class="fa fa-ellipsis-h" aria-hidden="true"></i></button>
|
||||||
<ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenuOptions-{{$item.id}}">
|
<ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenuOptions-{{$item.id}}">
|
||||||
|
@ -449,17 +472,6 @@ as the value of $top_child_total (this is done at the end of this file)
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</ul>
|
</ul>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<span class="wall-item-actions-right hidden-xs">
|
|
||||||
{{* Event attendance buttons *}}
|
|
||||||
{{if $item.isevent}}
|
|
||||||
<span class="vote-event">
|
|
||||||
<button type="button" class="btn btn-xs btn-default button-event{{if $item.responses.attendyes.self}} active" aria-pressed="true{{/if}}" id="attendyes-{{$item.id}}" title="{{$item.attend.0}}" onclick="doActivityItemAction({{$item.id}}, 'attendyes'{{if $item.responses.attendyes.self}}, true{{/if}});"><i class="fa fa-check" aria-hidden="true"><span class="sr-only">{{$item.attend.0}}</span></i></button>
|
|
||||||
<button type="button" class="btn btn-xs btn-default button-event{{if $item.responses.attendno.self}} active" aria-pressed="true{{/if}}" id="attendno-{{$item.id}}" title="{{$item.attend.1}}" onclick="doActivityItemAction({{$item.id}}, 'attendno'{{if $item.responses.attendno.self}}, true{{/if}});"><i class="fa fa-times" aria-hidden="true"><span class="sr-only">{{$item.attend.1}}</span></i></button>
|
|
||||||
<button type="button" class="btn btn-xs btn-default button-event{{if $item.responses.attendmaybe.self}} active" aria-pressed="true{{/if}}" id="attendmaybe-{{$item.id}}" title="{{$item.attend.2}}" onclick="doActivityItemAction({{$item.id}}, 'attendmaybe'{{if $item.responses.attendmaybe.self}}, true{{/if}});"><i class="fa fa-question" aria-hidden="true"><span class="sr-only">{{$item.attend.2}}</span></i></button>
|
|
||||||
</span>
|
|
||||||
{{/if}}
|
|
||||||
<span class="pull-right checkbox">
|
<span class="pull-right checkbox">
|
||||||
{{if $item.drop && $item.drop.pagedrop}}
|
{{if $item.drop && $item.drop.pagedrop}}
|
||||||
<input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" id="checkbox-{{$item.id}}" class="item-select" value="{{$item.id}}" />
|
<input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" id="checkbox-{{$item.id}}" class="item-select" value="{{$item.id}}" />
|
||||||
|
@ -473,16 +485,16 @@ as the value of $top_child_total (this is done at the end of this file)
|
||||||
{{* Buttons for like and dislike *}}
|
{{* Buttons for like and dislike *}}
|
||||||
{{if $item.vote}}
|
{{if $item.vote}}
|
||||||
{{if $item.vote.like}}
|
{{if $item.vote.like}}
|
||||||
<button type="button" class="btn button-likes{{if $item.responses.like.self}} active" aria-pressed="true{{/if}}" id="like-{{$item.id}}" title="{{$item.vote.like.0}}" onclick="doActivityItemAction({{$item.id}}, 'like'{{if $item.responses.like.self}}, true{{/if}});" ><i class="fa fa-thumbs-up" aria-hidden="true"></i></button>
|
<button type="button" class="btn button-likes{{if $item.responses.like.self}} active" aria-pressed="true{{/if}}" id="like-{{$item.id}}" title="{{$item.vote.like.0}}" onclick="doActivityItemAction({{$item.id}}, 'like'{{if $item.responses.like.self}}, true{{/if}});" ><i class="fa fa-thumbs-up" aria-hidden="true"></i> {{$item.responses.like.total}}</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{if $item.vote.dislike}}
|
{{if $item.vote.dislike}}
|
||||||
<button type="button" class="btn button-likes{{if $item.responses.dislike.self}} active" aria-pressed="true{{/if}}" id="dislike-{{$item.id}}" title="{{$item.vote.dislike.0}}" onclick="doActivityItemAction({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}});" ><i class="fa fa-thumbs-down" aria-hidden="true"></i></button>
|
<button type="button" class="btn button-likes{{if $item.responses.dislike.self}} active" aria-pressed="true{{/if}}" id="dislike-{{$item.id}}" title="{{$item.vote.dislike.0}}" onclick="doActivityItemAction({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}});" ><i class="fa fa-thumbs-down" aria-hidden="true"></i>{{$item.responses.dislike.total}}</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* Button to open the comment text field *}}
|
{{* Button to open the comment text field *}}
|
||||||
{{if $item.comment_html}}
|
{{if $item.comment_html}}
|
||||||
<button type="button" class="btn button-comments" id="comment-{{$item.id}}" title="{{$item.switchcomment}}" {{if $item.thread_level != 1}}onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});" {{else}} onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});"{{/if}}><i class="fa fa-commenting" aria-hidden="true"></i></button>
|
<button type="button" class="btn button-comments" id="comment-{{$item.id}}" title="{{$item.switchcomment}}" {{if $item.thread_level != 1}}onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});" {{else}} onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});"{{/if}}><i class="fa fa-commenting" aria-hidden="true"></i> {{$item.responses.comment.total}}</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{if $item.vote.announce OR $item.vote.share}}
|
{{if $item.vote.announce OR $item.vote.share}}
|
||||||
|
@ -526,11 +538,9 @@ as the value of $top_child_total (this is done at the end of this file)
|
||||||
|
|
||||||
{{* Event attendance buttons *}}
|
{{* Event attendance buttons *}}
|
||||||
{{if $item.isevent}}
|
{{if $item.isevent}}
|
||||||
<div class="btn-group btn-group-event" role="group">
|
<button type="button" class="btn button-event{{if $item.responses.attendyes.self}} active" aria-pressed="true{{/if}}" id="attendyes-{{$item.id}}" title="{{$item.attend.0}}" onclick="doActivityItemAction({{$item.id}}, 'attendyes'{{if $item.responses.attendyes.self}}, true{{/if}});"><i class="fa fa-check" aria-hidden="true"><span class="sr-only">{{$item.attend.0}}</span></i> {{$item.responses.attendyes.total}}</button>
|
||||||
<button type="button" class="btn btn-default button-event{{if $item.responses.attendyes.self}} active" aria-pressed="true{{/if}}" id="attendyes-{{$item.id}}" title="{{$item.attend.0}}" onclick="doActivityItemAction({{$item.id}}, 'attendyes'{{if $item.responses.attendyes.self}}, true{{/if}});"><i class="fa fa-check" aria-hidden="true"><span class="sr-only">{{$item.attend.0}}</span></i></button>
|
<button type="button" class="btn button-event{{if $item.responses.attendno.self}} active" aria-pressed="true{{/if}}" id="attendno-{{$item.id}}" title="{{$item.attend.1}}" onclick="doActivityItemAction({{$item.id}}, 'attendno'{{if $item.responses.attendno.self}}, true{{/if}});"><i class="fa fa-times" aria-hidden="true"><span class="sr-only">{{$item.attend.1}}</span></i> {{$item.responses.attendno.total}}</button>
|
||||||
<button type="button" class="btn btn-default button-event{{if $item.responses.attendno.self}} active" aria-pressed="true{{/if}}" id="attendno-{{$item.id}}" title="{{$item.attend.1}}" onclick="doActivityItemAction({{$item.id}}, 'attendno'{{if $item.responses.attendno.self}}, true{{/if}});"><i class="fa fa-times" aria-hidden="true"><span class="sr-only">{{$item.attend.1}}</span></i></button>
|
<button type="button" class="btn button-event{{if $item.responses.attendmaybe.self}} active" aria-pressed="true{{/if}}" id="attendmaybe-{{$item.id}}" title="{{$item.attend.2}}" onclick="doActivityItemAction({{$item.id}}, 'attendmaybe'{{if $item.responses.attendmaybe.self}}, true{{/if}});"><i class="fa fa-question" aria-hidden="true"><span class="sr-only">{{$item.attend.2}}</span></i> {{$item.responses.attendmaybe.total}}</button>
|
||||||
<button type="button" class="btn btn-default button-event{{if $item.responses.attendmaybe.self}} active" aria-pressed="true{{/if}}" id="attendmaybe-{{$item.id}}" title="{{$item.attend.2}}" onclick="doActivityItemAction({{$item.id}}, 'attendmaybe'{{if $item.responses.attendmaybe.self}}, true{{/if}});"><i class="fa fa-question" aria-hidden="true"><span class="sr-only">{{$item.attend.2}}</span></i></button>
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{if $item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread || $item.ignore || ($item.drop && $item.drop.dropping)}}
|
{{if $item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread || $item.ignore || ($item.drop && $item.drop.dropping)}}
|
||||||
|
@ -615,15 +625,7 @@ as the value of $top_child_total (this is done at the end of this file)
|
||||||
<div class="wall-item-links"></div>
|
<div class="wall-item-links"></div>
|
||||||
|
|
||||||
{{* Display likes, dislike and attendance stats *}}
|
{{* Display likes, dislike and attendance stats *}}
|
||||||
{{if $item.emojis}}
|
{{if !$item.emojis && $item.responses}}
|
||||||
{{foreach $item.emojis as $emoji}}
|
|
||||||
{{if $emoji.icon.fa}}
|
|
||||||
<span class="wall-item-emoji" title="{{$emoji.title}}"><i class="fa {{$emoji.icon.fa}}" aria-hidden="true"></i> {{$emoji.total}}</span>
|
|
||||||
{{else}}
|
|
||||||
<span class="wall-item-emoji" title="{{$emoji.title}}">{{$emoji.emoji}} {{$emoji.total}}</span>
|
|
||||||
{{/if}}
|
|
||||||
{{/foreach}}
|
|
||||||
{{elseif $item.responses}}
|
|
||||||
<div class="wall-item-responses">
|
<div class="wall-item-responses">
|
||||||
{{foreach $item.responses as $verb=>$response}}
|
{{foreach $item.responses as $verb=>$response}}
|
||||||
<div class="wall-item-{{$verb}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output nofilter}}</div>
|
<div class="wall-item-{{$verb}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output nofilter}}</div>
|
||||||
|
|
Loading…
Reference in a new issue