]> git.mxchange.org Git - friendica.git/blob - view/theme/frio/templates/wall_thread.tpl
c2b80f174f940cf27f5c0e2c133403fb00c7da8d
[friendica.git] / view / theme / frio / templates / wall_thread.tpl
1
2 {{* This is a little bit hacky. This is needed to have some sort comments container.
3 It would be better if it would be done in friendica core but since core lacks this functionality
4 it is done in the theme
5
6 In short: the piece of code counts the total number of children of the toplevelpost
7 - this are usually all posts with thread_level = 2 - and stores it in variable $top_children_total.
8 The first time a children which hits thread_level = 2 and $top_child = 1 opens the div.
9
10 Everytime when a children with top_level = 2 comes up $top_child_nr rises with 1.
11 The div get's closed if thread_level = 2 and the value of $top_child_nr is the same
12 as the value of $top_child_total (this is done at the end of this file)
13 *}}
14 {{if $item.thread_level==1}}
15         {{assign var="top_child_total" value=count($item.children)}}
16         {{assign var="top_child_nr" value=0}}
17 {{/if}}
18 {{if $item.thread_level==2}}
19         {{assign var="top_child_nr" value=$top_child_nr+1 scope=parent}}
20 {{/if}}
21
22 {{if $item.thread_level==2 && $top_child_nr==1}}
23 <div class="comment-container"> <!--top-child-begin-->
24 {{/if}}
25 {{* end of hacky part to count children *}}
26
27
28 {{if $mode == display}}
29 {{else}}
30 {{if $item.comment_firstcollapsed}}
31         {{if $item.thread_level<3}}
32                 <button type="button" class="hide-comments-outer fakelink" onclick="showHideComments({{$item.id}});">
33                         <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">
34                                 <i class="fa fa-caret-right" aria-hidden="true"></i>
35                                 {{$item.num_comments}} - {{$item.show_text}}
36                         </span>
37                         <span id="hide-comments-{{$item.id}}" class="hide-comments" style="display: none">
38                                 <i class="fa fa-caret-down" aria-hidden="true"></i>
39                                 {{$item.num_comments}} - {{$item.hide_text}}
40                         </span>
41                 </button>
42                 <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;">
43         {{else}}
44                 <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: block;">
45         {{/if}}
46 {{/if}}
47 {{/if}}
48
49 {{* Use a different div container in dependence max thread-level = 7 *}}
50 {{if $item.thread_level<7}}
51 <div class="item-{{$item.id}} wall-item-container {{$item.indent}} {{$item.network}} thread_level_{{$item.thread_level}} {{if $item.thread_level==1}}panel-body h-entry{{else}}u-comment h-cite{{/if}}" id="item-{{$item.guid}}"><!-- wall-item-container -->
52 {{else}}
53 <div class="item-{{$item.id}} wall-item-container {{$item.indent}} {{$item.network}} thread_level_7 u-comment h-cite" id="item-{{$item.guid}}">
54 {{/if}}
55 {{if $item.thread_level==1}}
56 <span class="commented" style="display: none;">{{$item.commented}}</span>
57 <span class="received" style="display: none;">{{$item.received}}</span>
58 <span class="created" style="display: none;">{{$item.created_date}}</span>
59 <span class="uriid" style="display: none;">{{$item.uriid}}</span>
60 {{/if}}
61         <div class="media {{$item.shiny}}">
62         {{if $item.parentguid}}
63                 <span class="visible-sm-inline visible-xs wall-item-responses time">
64                         <i class="fa fa-reply" aria-hidden="true"></i> <a id="btn-{{$item.id}}" class="" href="javascript:;" onclick="scrollToItem('item-' + '{{$item.parentguid}}');">{{$item.inreplyto}}</a>
65                         {{if $item.reshared}}<i class="hidden-xs">&#x2022;</i>{{/if}}
66                 </span>
67         {{else}}
68                 {{if $item.thread_level!=1 && $item.isunknown}}
69                 <span class="visible-sm-inline visible-xs wall-item-responses time">
70                         <i title="{{$item.isunknown_label}}" aria-label="{{$item.isunknown_label}}">{{$item.isunknown}}</i>
71                         {{if $item.reshared}}<i class="hidden-xs">&#x2022;</i>{{/if}}
72                 </span>
73                 {{/if}}
74         {{/if}}
75         {{if $item.reshared}}
76                 <span class="wall-item-announce wall-item-responses time" id="wall-item-announce-{{$item.id}}"><i class="fa fa-retweet" aria-hidden="true"></i> {{$item.reshared nofilter}}</span>
77         {{/if}}
78                 <p>
79                 {{* The avatar picture and the photo-menu *}}
80                 <div class="dropdown pull-left"><!-- Dropdown -->
81                         {{if $item.thread_level==1}}
82                         <div class="hidden-sm hidden-xs contact-photo-wrapper mframe{{if $item.owner_url}} wwfrom{{/if}} p-author h-card">
83                                 <a class="userinfo click-card u-url" id="wall-item-photo-menu-{{$item.id}}" href="{{$item.profile_url}}">
84                                         <div class="contact-photo-image-wrapper">
85                                                 <img src="{{$item.thumb}}" class="contact-photo media-object {{$item.sparkle}} p-name u-photo" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}"  loading="lazy"/>
86                                         </div>
87                                 </a>
88                         </div>
89                         <div class="hidden-lg hidden-md contact-photo-wrapper mframe{{if $item.owner_url}} wwfrom{{/if}}">
90                                 <a class="userinfo click-card u-url" id="wall-item-photo-menu-xs-{{$item.id}}" href="{{$item.profile_url}}">
91                                         <div class="contact-photo-image-wrapper">
92                                                 <img src="{{$item.thumb}}" class="contact-photo-xs media-object {{$item.sparkle}}" id="wall-item-photo-xs-{{$item.id}}" alt="{{$item.name}}"  loading="lazy"/>
93                                         </div>
94                                 </a>
95                         </div>
96
97                         {{* The little overlay avatar picture if someone is posting directly to a wall or a group *}}
98                         {{if $item.owner_url}}
99                         <div aria-hidden="true" class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}">
100                                 <a href="{{$item.owner_url}}" target="redir" title="{{$item.olinktitle}}" class="contact-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}">
101                                         <img src="{{$item.owner_photo}}" class="contact-photo {{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" alt="{{$item.owner_name}}" />
102                                 </a>
103                         </div>
104                         {{/if}}
105
106                         {{/if}} {{*End if $item.thread_level==1}}
107
108                         {{* The avatar picture for comments *}}
109                         {{if $item.thread_level!=1}}
110                         <div class="contact-photo-wrapper mframe{{if $item.owner_url}} wwfrom{{/if}} p-author h-card">
111                                 <a class="userinfo click-card u-url" id="wall-item-photo-menu-{{$item.id}}" href="{{$item.profile_url}}">
112                                         <div class="contact-photo-image-wrapper">
113                                                 <img src="{{$item.thumb}}" class="contact-photo-xs media-object {{$item.sparkle}} p-name u-photo" id="wall-item-photo-comment-{{$item.id}}" alt="{{$item.name}}"  loading="lazy"/>
114                                         </div>
115                                 </a>
116                         </div>
117                         {{/if}}
118                 </div><!-- ./Dropdown -->
119
120
121         {{if $item.thread_level!=1}}
122                 <div class="media-body">{{*this is the media body for comments - this div must be closed at the end of the file *}}
123         {{/if}}
124
125                         {{* contact info header*}}
126                 <div class="contact-info">
127                         <div class="preferences">
128                                 {{if $item.network_icon != ""}}
129                                         <span class="wall-item-network"><i class="fa fa-{{$item.network_icon}}" title="{{$item.network_name}}" aria-hidden="true"></i></span>
130                                 {{else}}
131                                         <span class="wall-item-network" title="{{$item.app}}">{{$item.network_name}}</span>
132                                 {{/if}}
133                                 {{if $item.plink}}      {{*link to the original source of the item *}}
134                                         <a href="{{$item.plink.href}}" class="plink u-url" aria-label="{{$item.plink.title}}" title="{{$item.plink.title}}" target="_blank">
135                                                 <i class="fa fa-external-link"></i>
136                                         </a>
137                                 {{/if}}
138                         </div>
139                 {{if $item.thread_level==1}}
140                         <div class="hidden-sm hidden-xs media-body"><!-- <= For computer -->
141                                 <h4 class="media-heading">
142                                         <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card">
143                                                 <span class="wall-item-name {{$item.sparkle}}">{{$item.name}}</span>
144                                         </a>
145                                 {{if $item.owner_url}}
146                                         {{$item.via}}
147                                         <a href="{{$item.owner_url}}" target="redir" title="{{$item.olinktitle}}" class="wall-item-name-link userinfo hover-card">
148                                                 <span class="wall-item-name {{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span>
149                                         </a>
150                                 {{/if}}
151                                 {{if $item.connector}}
152                                         <small><i class="fa fa-plug" title="{{$item.connector}}" aria-hidden="true"></i></small>
153                                 {{else}}
154                                         <span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.privacy}}" data-toggle="tooltip">
155                                                 &nbsp;<small><i class="fa {{if $item.private == 1}}fa-lock{{elseif $item.private == 0}}fa-globe{{else}}fa-low-vision{{/if}}" aria-hidden="true"></i></small>
156                                         </span>
157                                 {{/if}}
158                                 </h4>
159
160                                 <div class="additional-info text-muted">
161                                         <div id="wall-item-ago-{{$item.id}}" class="wall-item-ago">
162                                                 <small>
163                                                         <a href="{{$item.plink.orig}}">
164                                                                 <time class="time dt-published" title="{{$item.localtime}}" data-toggle="tooltip" datetime="{{$item.utc}}">{{$item.ago}}</time>
165                                                         </a>
166                                                         {{if $item.owner_self}}
167                                                                 {{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
168                                                         {{/if}}
169                                                         {{if $item.direction}}
170                                                                 {{include file="sub/direction.tpl" direction=$item.direction}}
171                                                         {{/if}}
172                                                         {{if $item.pinned}}
173                                                                 &bull; <i class="fa fa-thumb-tack" aria-hidden="true" title="{{$item.pinned}}"></i>
174                                                                 <span class="sr-only">{{$item.pinned}}</span>
175                                                         {{/if}}
176
177                                                 </small>
178                                         </div>
179
180                                         {{if $item.location_html}}
181                                         <div id="wall-item-location-{{$item.id}}" class="wall-item-location">
182                                                 <small><span class="location">({{$item.location_html nofilter}})</span></small>
183                                         </div>
184                                         {{/if}}
185                                 </div>
186                                 {{* @todo $item.created have to be inserted *}}
187                         </div>
188
189                         {{* contact info header for smartphones *}}
190                         <div class="contact-info-xs hidden-lg hidden-md"><!-- <= For smartphone (responsive) -->
191                                 <h5 class="media-heading">
192                                         <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card"><span>{{$item.name}}</span></a>
193                 {{if $item.connector}}
194                                         <small><i class="fa fa-plug" title="{{$item.connector}}" aria-hidden="true"></i></small>
195                 {{else}}
196                                         <span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.privacy}}" data-toggle="tooltip">
197                                                 <small><i class="fa {{if $item.private == 1}}fa-lock{{elseif $item.private == 0}}fa-globe{{else}}fa-low-vision{{/if}}" aria-hidden="true"></i></small>
198                                         </span>
199                 {{/if}}
200                                         <p class="text-muted">
201                                                 <small>
202                                                         <a href="{{$item.plink.orig}}">
203                                                                 <time class="time" class="wall-item-ago" datetime="{{$item.utc}}">{{$item.ago}}</time>
204                                                         </a>
205                                                         {{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}
206                                                         {{if $item.owner_self}}
207                                                                 {{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
208                                                         {{/if}}
209                                                         {{if $item.direction}}
210                                                                 {{include file="sub/direction.tpl" direction=$item.direction}}
211                                                         {{/if}}
212                                                 </small>
213                                         </p>
214                                 </h5>
215                         </div>
216                 {{else}} {{* End of if $item.thread_level == 1 *}}
217                         {{* contact info header for comments *}}
218                         <div class="contact-info-comment">
219                                 <h5 class="media-heading">
220                                         <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card"><span class="fakelink">{{$item.name}}</span></a>
221                                         {{if $item.connector}}
222                                                 <small><i class="fa fa-plug" title="{{$item.connector}}" aria-hidden="true"></i></small>
223                                         {{else}}
224                                                 <span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.privacy}}" data-toggle="tooltip">
225                                                         &nbsp;<small><i class="fa {{if $item.private == 1}}fa-lock{{elseif $item.private == 0}}fa-globe{{else}}fa-low-vision{{/if}}" aria-hidden="true"></i></small>
226                                                 </span>
227                                         {{/if}}
228                                         <span class="text-muted">
229                                 </h5>
230                                 <small>
231                                         {{if $item.parentguid}}
232                                                 <span class="hidden-xs hidden-sm">
233                                                         <a id="btn-{{$item.id}}" class="time" href="javascript:;" onclick="scrollToItem('item-' + '{{$item.parentguid}}');"><i class="fa fa-reply" aria-hidden="true"></i> {{$item.inreplyto}}</a>
234                                                         <i class="hidden-xs">&#x2022;</i>
235                                                 </span>
236                                         {{else}}
237                                                 {{if $item.isunknown}}
238                                                         <span class="hidden-xs hidden-sm time">
239                                                                 <i title="{{$item.isunknown_label}}" aria-label="{{$item.isunknown_label}}">{{$item.isunknown}}</i>
240                                                                 <i class="hidden-xs">&#x2022;</i>
241                                                         </span>
242                                                 {{/if}}
243                                         {{/if}}
244                                         <a href="{{$item.plink.orig}}">
245                                                 <time class="time" title="{{$item.localtime}}" data-toggle="tooltip" datetime="{{$item.utc}}">{{$item.ago}}</time>
246                                         </a>
247                                         {{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}
248                                         {{if $item.owner_self}}
249                                                 {{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
250                                         {{/if}}
251                                         {{if $item.direction}}
252                                                 {{include file="sub/direction.tpl" direction=$item.direction}}
253                                         {{/if}}
254                                 </small>
255                         </span>
256                         </div>
257                 {{/if}} {{* End of if $item.thread_level != 1 *}}
258                 </div>
259
260                 <div class="clearfix"></div>
261
262                 {{* Insert Line to separate item header and item content visually *}}
263                 {{if $item.thread_level==1}}<hr />{{/if}}
264
265                 {{* item content *}}
266                 <div class="wall-item-content {{$item.type}}" id="wall-item-content-{{$item.id}}">
267                         {{if $item.title}}
268                         <span class="wall-item-title" id="wall-item-title-{{$item.id}}"><h4 class="media-heading" dir="auto"><a href="{{$item.plink.href}}" class="{{$item.sparkle}} p-name" target="_blank">{{$item.title}}</a></h4><br /></span>
269                         {{/if}}
270
271                         <div class="wall-item-body e-content {{if !$item.title}}p-name{{/if}}" id="wall-item-body-{{$item.id}}" dir="auto">{{$item.body_html nofilter}}</div>
272                 </div>
273
274                 <!-- TODO -->
275                 <div class="wall-item-bottom">
276                         <div class="wall-item-links"></div>
277                         <div class="wall-item-tags">
278                 {{if !$item.suppress_tags}}
279                         {{foreach $item.hashtags as $tag}}
280                                 <span class="tag label btn-info sm">{{$tag nofilter}} <i class="fa fa-bolt" aria-hidden="true"></i></span>
281                         {{/foreach}}
282
283                         {{foreach $item.mentions as $tag}}
284                                 <span class="mention label btn-warning sm">{{$tag nofilter}} <i class="fa fa-user" aria-hidden="true"></i></span>
285                         {{/foreach}}
286
287                         {{*foreach $item.implicit_mentions as $tag}}
288                                 <span class="mention label label-default sm">{{$tag nofilter}} <i class="fa fa-eye-slash" aria-hidden="true"></i></span>
289                         {{/foreach*}}
290                 {{/if}}
291                         {{foreach $item.folders as $folder}}
292                                 <span class="folder label btn-danger sm p-category">{{$folder.name}}{{if $folder.removeurl}} (<a href="{{$folder.removeurl}}" class="filerm" title="{{$remove}}">x</a>){{/if}}</span>
293                         {{/foreach}}
294
295                         {{foreach $item.categories as $cat}}
296                                 <span class="category label btn-success sm p-category"><a href="{{$cat.url}}">{{$cat.name}}</a>{{if $cat.removeurl}} (<a href="{{$cat.removeurl}}" class="filerm" title="{{$remove}}">x</a>){{/if}}</span>
297                         {{/foreach}}
298                         </div>
299                         {{if $item.edited}}<div class="itemedited text-muted">{{$item.edited['label']}} (<span title="{{$item.edited['date']}}">{{$item.edited['relative']}}</span>)</div>{{/if}}
300                 </div>
301                 <!-- ./TODO -->
302
303                 <!-- <hr /> -->
304                 <div class="wall-item-actions">
305                         {{* Action buttons to interact with the item (like: like, dislike, share and so on *}}
306                         {{* Buttons for like and dislike *}}
307                         <div class="wall-item-actions-items btn-toolbar btn-group hidden-xs" role="group">
308                                 <div class="wall-item-actions-row">
309
310                         {{if $item.vote}}
311                                 {{if $item.vote.like}}
312                                 <span class="wall-item-response">
313                                         <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>
314                                         <span title="{{$item.responses.like.title}}">{{$item.responses.like.total}}</span>
315                                 </span>
316                                 {{/if}}
317                                 {{if $item.vote.dislike}}
318                                 <span class="wall-item-response">
319                                         <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>
320                                         <span title="{{$item.responses.dislike.title}}">{{$item.responses.dislike.total}}</span>
321                                 </span>
322                                 {{/if}}
323                                 
324
325                                 {{foreach $item.reactions as $emoji}}
326                                 <span class="wall-item-emoji" title="{{$emoji.title}}">{{$emoji.emoji}} {{$emoji.total}}</span>
327                                 {{/foreach}}
328                         {{/if}}
329
330                         {{if $item.remote_comment}}
331                                 <a href="{{$item.remote_comment.2}}" class="btn-link button-comments" title="{{$item.remote_comment.0}}"><i class="fa fa-commenting" aria-hidden="true"></i></a>
332                         {{/if}}
333
334                         {{* Button to open the comment text field *}}
335                         {{if $item.comment_html}}
336                                 <span class="wall-item-response">
337                                         <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>
338                                         <span title="{{$item.responses.comment.title}}">{{$item.responses.comment.total}}</span>
339                                 </span>
340                         {{/if}}
341
342                         {{* Button for sharing the item *}}
343                         {{if $item.vote}}
344                                 {{if $item.vote.announce}}
345                                 <span class="wall-item-response">
346                                         <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>
347                                         <span title="{{$item.responses.announce.title}}">{{$item.responses.announce.total}}</span>
348                                 </span>
349                                 {{/if}}
350                                 {{if $item.vote.share}}
351                                 <span class="wall-item-response">
352                                         <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>
353                                         <span title="{{$item.quoteshares.title}}">{{$item.quoteshares.total}}</span>
354                                 </span>
355                                 {{/if}}
356                         {{/if}}
357                         {{* Event attendance buttons *}}
358                         {{if $item.isevent}}
359                                 <span class="wall-item-response">
360                                         <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>
361                                         <span title="{{$item.responses.attendyes.title}}">{{$item.responses.attendyes.total}}</span>
362                                 </span>
363                                 <span class="wall-item-response">
364                                         <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>
365                                         <span title="{{$item.responses.attendno.title}}">{{$item.responses.attendno.total}}</span>
366                                 </span>
367                                 <span class="wall-item-response">
368                                         <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>
369                                         <span title="{{$item.responses.attendmaybe.title}}">{{$item.responses.attendmaybe.total}}</span>
370                                 </span>
371                         {{/if}}
372         
373                         </div>
374                         </div>
375                         <span class="wall-item-actions-right hidden-xs">
376                         {{* Put additional actions in a dropdown menu *}}
377                 <span class="more-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}">
378                         <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>
379                         <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenuOptions-{{$item.id}}">
380                                 {{if $item.edpost}} {{* edit the posting *}}
381                                 <li role="menuitem">
382                                                 <a href="javascript:editpost('{{$item.edpost.0}}?mode=none');" title="{{$item.edpost.1}}" class="btn-link navicon pencil"><i class="fa fa-pencil" aria-hidden="true"></i> {{$item.edpost.1}}</a>
383                                 </li>
384                                 {{/if}}
385
386                                 {{if $item.tagger}} {{* tag the post *}}
387                                 <li role="menuitem">
388                                                 <a id="tagger-{{$item.id}}" href="javascript:itemTag({{$item.id}});" class="btn-link {{$item.tagger.class}}" title="{{$item.tagger.add}}"><i class="fa fa-tag" aria-hidden="true"></i> {{$item.tagger.add}}</a>
389                                 </li>
390                                 {{/if}}
391
392                                 {{if $item.filer}}
393                                 <li role="menuitem">
394                                                 <a id="filer-{{$item.id}}" href="javascript:itemFiler({{$item.id}});" class="btn-link filer-item filer-icon" title="{{$item.filer}}"><i class="fa fa-folder" aria-hidden="true"></i>&nbsp;{{$item.filer}}</a>
395                                 </li>
396                                 {{/if}}
397
398                                 {{if $item.pin}}
399                                 <li role="menuitem">
400                                                 <a id="pin-{{$item.id}}" href="javascript:doPin({{$item.id}});" class="btn-link {{$item.pin.classdo}}" title="{{$item.pin.do}}"><i class="fa fa-circle-o" aria-hidden="true"></i>&nbsp;{{$item.pin.do}}</a>
401                                                 <a id="unpin-{{$item.id}}" href="javascript:doPin({{$item.id}});" class="btn-link {{$item.pin.classundo}}" title="{{$item.pin.undo}}"><i class="fa fa-dot-circle-o" aria-hidden="true"></i>&nbsp;{{$item.pin.undo}}</a>
402                                 </li>
403                                 {{/if}}
404
405                                 {{if $item.star}}
406                                 <li role="menuitem">
407                                                 <a id="star-{{$item.id}}" href="javascript:doStar({{$item.id}});" class="btn-link {{$item.star.classdo}}" title="{{$item.star.do}}"><i class="fa fa-star-o" aria-hidden="true"></i>&nbsp;{{$item.star.do}}</a>
408                                                 <a id="unstar-{{$item.id}}" href="javascript:doStar({{$item.id}});" class="btn-link {{$item.star.classundo}}" title="{{$item.star.undo}}"><i class="fa fa-star" aria-hidden="true"></i>&nbsp;{{$item.star.undo}}</a>
409                                 </li>
410                                 {{/if}}
411
412                                 {{if $item.follow_thread}}
413                                 <li role="menuitem">
414                                                 <a id="follow_thread-{{$item.id}}" href="javascript:{{$item.follow_thread.action}}" class="btn-link" title="{{$item.follow_thread.title}}"><i class="fa fa-plus" aria-hidden="true"></i>&nbsp;{{$item.follow_thread.title}}</a>
415                                 </li>
416                                 {{/if}}
417
418                                 {{if $item.language}}
419                                 <li role="menuitem">
420                                                 <a id="language-{{$item.id}}" href="javascript:alert('{{$item.language.1}}');" class="btn-link filer-item language-icon" title="{{$item.language.0}}"><i class="fa fa-language" aria-hidden="true"></i>&nbsp;{{$item.language.0}}</a>
421                                 </li>
422                                 {{/if}}
423
424                                 {{if $item.browsershare}}
425                                 <li role="menuitem" class="button-browser-share">
426                                                 <a id="browser-share-{{$item.id}}" href="javascript:navigator.share({url: '{{$item.plink.orig}}'})" class="btn-link button-browser-share" title="{{$item.browsershare.1}}"><i class="fa fa-share-alt" aria-hidden="true"></i>&nbsp;{{$item.browsershare.0}}</a>
427                                 </li>
428                                 {{/if}}
429
430                                 {{if ($item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread) && ($item.ignore || ($item.drop && $item.drop.dropping))}}
431                                 <li role="separator" class="divider"></li>
432                                 {{/if}}
433
434                                 {{if $item.ignore}}
435                                 <li role="menuitem">
436                                                 <a id="ignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classdo}}" title="{{$item.ignore.do}}"><i class="fa fa-bell-slash" aria-hidden="true"></i> {{$item.ignore.do}}</a>
437                                 </li>
438                                 <li role="menuitem">
439                                                 <a id="unignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classundo}}"  title="{{$item.ignore.undo}}"><i class="fa fa-bell" aria-hidden="true"></i> {{$item.ignore.undo}}</a>
440                                 </li>
441                                 {{/if}}
442
443                                 {{if $item.drop && $item.drop.dropping}}
444                                 <li role="menuitem">
445                                                 <a class="btn-link navicon delete" href="javascript:dropItem('item/drop/{{$item.id}}', 'item-{{$item.guid}}');" title="{{$item.drop.label}}"><i class="fa fa-trash" aria-hidden="true"></i> {{$item.drop.label}}</a>
446                                 </li>
447                                 {{/if}}
448
449                                 {{if $item.block}}
450                                 <li role="menuitem">
451                                                 <a class="btn-link navicon block" href="javascript:blockAuthor('item/block/{{$item.id}}', 'item-{{$item.guid}}');" title="{{$item.block.label}}"><i class="fa fa-ban" aria-hidden="true"></i> {{$item.block.label}}</a>
452                                 </li>
453                                 {{/if}}
454                                 {{if $item.ignore_author}}
455                                 <li role="menuitem">
456                                                 <a class="btn-link navicon ignore" href="javascript:ignoreAuthor('item/ignore/{{$item.id}}', 'item-{{$item.guid}}');" title="{{$item.ignore_author.label}}"><i class="fa fa-eye-slash" aria-hidden="true"></i> {{$item.ignore_author.label}}</a>
457                                 </li>
458                                 {{/if}}
459                                 {{if $item.collapse}}
460                                 <li role="menuitem">
461                                                 <a class="btn-link navicon collapse" href="javascript:collapseAuthor('item/collapse/{{$item.id}}', 'item-{{$item.guid}}');" title="{{$item.collapse.label}}"><i class="fa fa-minus-square" aria-hidden="true"></i> {{$item.collapse.label}}</a>
462                                 </li>
463                                 {{/if}}
464                                 {{if $item.ignore_server}}
465                                 <li role="menuitem">
466                                                 <a class="btn-link navicon ignoreServer" href="javascript:ignoreServer('settings/server/{{$item.author_gsid}}/ignore', 'item-{{$item.guid}}');" title="{{$item.ignore_server.label}}"><i class="fa fa-eye-slash" aria-hidden="true"></i> {{$item.ignore_server.label}}</a>
467                                 </li>
468                                 {{/if}}
469                                 {{if $item.report}}
470                                 <li role="menuitem">
471                                                 <a class="btn-link navicon ignore" href="{{$item.report.href}}"><i class="fa fa-flag" aria-hidden="true"></i> {{$item.report.label}}</a>
472                                 </li>
473                                 {{/if}}
474                         </ul>
475                 </span>
476                 <span class="pull-right checkbox">
477                         {{if $item.drop && $item.drop.pagedrop}}
478                                         <input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" id="checkbox-{{$item.id}}" class="item-select" value="{{$item.id}}" />
479                                         <label for="checkbox-{{$item.id}}"></label>
480                         {{/if}}
481                                 </span>
482                         </span>
483
484                         <div class="wall-item-actions-items btn-toolbar btn-group visible-xs" role="group">
485                                 <div class="wall-item-actions-row">
486                                         {{* Buttons for like and dislike *}}
487                                         {{if $item.vote}}
488                                                 {{if $item.vote.like}}
489                                                 <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>
490                                                 {{/if}}
491                                                 {{if $item.vote.dislike}}
492                                                 <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>
493                                                 {{/if}}
494                                         {{/if}}
495
496                                         {{* Button to open the comment text field *}}
497                                         {{if $item.comment_html}}
498                                                 <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>
499                                         {{/if}}
500
501                                         {{if $item.vote.announce OR $item.vote.share}}
502                                                 <div class="share-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}" role="group">
503                                                         <button type="button" class="btn dropdown-toggle{{if $item.responses.announce.self}} active{{/if}}" data-toggle="dropdown" id="shareMenuOptions-{{$item.id}}" aria-haspopup="true" aria-expanded="false" title="{{$item.menu}}">
504                                                                 <i class="fa fa-share" aria-hidden="true"></i>
505                                                         </button>
506                                                         <ul class="dropdown-menu dropdown-menu-left" role="menu" aria-labelledby="shareMenuOptions-{{$item.id}}">
507                                                                 {{if $item.vote.announce}} {{* edit the posting *}}
508                                                                 <li role="menuitem">
509                                                                         {{if $item.responses.announce.self}}
510                                                                         <a class="btn-link" id="announce-{{$item.id}}" href="javascript:doActivityItemAction({{$item.id}}, 'announce', true);" title="{{$item.vote.unannounce.0}}">
511                                                                                 <i class="fa fa-ban" aria-hidden="true"></i> {{$item.vote.unannounce.1}}
512                                                                         </a>
513                                                                         {{else}}
514                                                                         <a class="btn-link" id="announce-{{$item.id}}" href="javascript:doActivityItemAction({{$item.id}}, 'announce');" title="{{$item.vote.announce.0}}">
515                                                                                 <i class="fa fa-retweet" aria-hidden="true"></i> {{$item.vote.announce.1}}
516                                                                         </a>
517                                                                         {{/if}}
518                                                                 </li>
519                                                                 {{/if}}
520                                                                 {{if $item.vote.share}}
521                                                                 <li role="menuitem">
522                                                                         <a class="btn-link" id="share-{{$item.id}}" href="javascript:jotShare({{$item.id}});" title="{{$item.vote.share.0}}">
523                                                                                 <i class="fa fa-share" aria-hidden="true"></i> {{$item.vote.share.1}}
524                                                                         </a>
525                                                                 </li>
526                                                                 {{/if}}
527                                                                 {{if $item.browsershare}}
528                                                                 <li role="menuitem">
529                                                                         <button type="button" class="btn-link button-browser-share" onclick="navigator.share({url: '{{$item.plink.orig}}'})" title="{{$item.browsershare.1}}">
530                                                                                 <i class="fa fa-share-alt" aria-hidden="true"></i> {{$item.browsershare.0}}
531                                                                         </button>
532                                                                 </li>
533                                                                 {{/if}}
534                                                         </ul>
535                                                 </div>
536                                         {{/if}}
537
538                                         {{* Put additional actions in a dropdown menu *}}
539
540                                 {{* Event attendance buttons *}}
541                                 {{if $item.isevent}}
542                                 <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>
543                                 <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>
544                                 <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>
545                                 {{/if}}
546
547                                 {{if $item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread || $item.ignore || ($item.drop && $item.drop.dropping)}}
548                                         <div class="more-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}">
549                                                 <button type="button" class="btn 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>
550                                                 <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenuOptions-{{$item.id}}">
551                                                 {{if $item.edpost}} {{* edit the posting *}}
552                                                         <li role="menuitem">
553                                                                 <a href="javascript:editpost('{{$item.edpost.0}}?mode=none');" title="{{$item.edpost.1}}" class="btn-link navicon pencil"><i class="fa fa-pencil" aria-hidden="true"></i> {{$item.edpost.1}}</a>
554                                                         </li>
555                                                 {{/if}}
556
557                                                         {{if $item.tagger}} {{* tag the post *}}
558                                                                 <li role="menuitem">
559                                                                 <a id="tagger-{{$item.id}}" href="javascript:itemTag({{$item.id}});" class="btn-link {{$item.tagger.class}}" title="{{$item.tagger.add}}"><i class="fa fa-tag" aria-hidden="true"></i> {{$item.tagger.add}}</a>
560                                                         </li>
561                                                         {{/if}}
562
563                                                         {{if $item.filer}}
564                                                                 <li role="menuitem">
565                                                                 <a id="filer-{{$item.id}}" href="javascript:itemFiler({{$item.id}});" class="btn-link filer-item filer-icon" title="{{$item.filer}}"><i class="fa fa-folder" aria-hidden="true"></i>&nbsp;{{$item.filer}}</a>
566                                                         </li>
567                                                         {{/if}}
568
569                                                         {{if $item.pin}}
570                                                                 <li role="menuitem">
571                                                                 <a id="pin-{{$item.id}}" href="javascript:doPin({{$item.id}});" class="btn-link {{$item.pin.classdo}}" title="{{$item.pin.do}}"><i class="fa fa-circle-o" aria-hidden="true"></i>&nbsp;{{$item.pin.do}}</a>
572                                                                 <a id="unpin-{{$item.id}}" href="javascript:doPin({{$item.id}});" class="btn-link {{$item.pin.classundo}}" title="{{$item.pin.undo}}"><i class="fa fa-dot-circle-o" aria-hidden="true"></i>&nbsp;{{$item.pin.undo}}</a>
573                                                         </li>
574                                                         {{/if}}
575
576                                                         {{if $item.star}}
577                                                                 <li role="menuitem">
578                                                                 <a id="star-{{$item.id}}" href="javascript:doStar({{$item.id}});" class="btn-link {{$item.star.classdo}}" title="{{$item.star.do}}"><i class="fa fa-star-o" aria-hidden="true"></i>&nbsp;{{$item.star.do}}</a>
579                                                                 <a id="unstar-{{$item.id}}" href="javascript:doStar({{$item.id}});" class="btn-link {{$item.star.classundo}}" title="{{$item.star.undo}}"><i class="fa fa-star" aria-hidden="true"></i>&nbsp;{{$item.star.undo}}</a>
580                                                         </li>
581                                                         {{/if}}
582
583                                                         {{if $item.follow_thread}}
584                                                                 <li role="menuitem">
585                                                                 <a id="follow_thread-{{$item.id}}" href="javascript:{{$item.follow_thread.action}}" class="btn-link" title="{{$item.follow_thread.title}}"><i class="fa fa-plus" aria-hidden="true"></i>&nbsp;{{$item.follow_thread.title}}</a>
586                                                         </li>
587                                                         {{/if}}
588
589                                                         {{if $item.language}}
590                                                         <li role="menuitem">
591                                                                 <a id="language-{{$item.id}}" href="javascript:alert('{{$item.language.1}}');" class="btn-link filer-item language-icon" title="{{$item.language.0}}"><i class="fa fa-language" aria-hidden="true"></i>&nbsp;{{$item.language.0}}</a>
592                                                         </li>
593                                                         {{/if}}
594
595                                                         {{if $item.ignore || ($item.drop && $item.drop.dropping)}}
596                                                                 <li role="separator" class="divider"></li>
597                                                         {{/if}}
598
599                                                         {{if $item.ignore}}
600                                                                 <li role="menuitem">
601                                                                 <a id="ignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classdo}}" title="{{$item.ignore.do}}"><i class="fa fa-bell-slash" aria-hidden="true"></i> {{$item.ignore.do}}</a>
602                                                         </li>
603                                                                 <li role="menuitem">
604                                                                 <a id="unignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classundo}}"  title="{{$item.ignore.undo}}"><i class="fa fa-bell" aria-hidden="true"></i> {{$item.ignore.undo}}</a>
605                                                         </li>
606                                                         {{/if}}
607
608                                                         {{if $item.drop && $item.drop.dropping}}
609                                                                 <li role="menuitem">
610                                                                 <a class="btn-link navicon delete" href="javascript:dropItem('item/drop/{{$item.id}}', 'item-{{$item.guid}}');" title="{{$item.drop.label}}"><i class="fa fa-trash" aria-hidden="true"></i> {{$item.drop.label}}</a>
611                                                         </li>
612                                                         {{/if}}
613                                                 </ul>
614                                         </div>
615                                 {{/if}}
616                                 <span class="pull-right checkbox">
617                                         {{if $item.drop && $item.drop.pagedrop}}
618                                                 <input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" id="checkbox-{{$item.id}}" class="item-select" value="{{$item.id}}" />
619                                                 <label for="checkbox-{{$item.id}}"></label>
620                                         {{/if}}
621                                 </span>
622                                 </div>
623                         </div>
624                 </div><!--./wall-item-actions-->
625
626                 <div class="wall-item-links"></div>
627
628                 {{* Display likes, dislike and attendance stats *}}
629                 {{if !$item.emojis && $item.responses}}
630                         <div class="wall-item-responses">
631                         {{foreach $item.responses as $verb=>$response}}
632                                 <div class="wall-item-{{$verb}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output nofilter}}</div>
633                         {{/foreach}}
634                         </div>
635                 {{/if}}
636
637                 {{* Insert comment box of threaded children *}}
638                 {{if $item.threaded && $item.comment_html && $item.indent==comment}}
639                         <div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" data-display="block" style="display: none;">
640                                 {{$item.comment_html nofilter}}
641                         </div>
642                 {{/if}}
643
644                 {{if $item.thread_level!=1}}
645                 </div><!--./media-body from for comments-->
646                 {{/if}}
647         </div>
648         {{foreach $item.children as $child}}
649                 {{include file="{{$item.template}}" item=$child}}
650         {{/foreach}}
651
652         {{* Insert the comment box of the top level post at the bottom of the thread.
653                 Display this comment box if there are any comments. If not hide it. In this
654                 case it could be opend with the "comment" button *}}
655         {{if $item.comment_html && $item.thread_level==1}}
656                 {{if $item.total_comments_num}}
657                 <div class="comment-fake-form" id="comment-fake-form-{{$item.id}}">
658                         <textarea id="comment-fake-text-{{$item.id}}" class="comment-fake-text-empty form-control" placeholder="{{$item.reply_label}}" onFocus="commentOpenUI(this, {{$item.id}});"  rows="1"></textarea>
659                 </div>
660                 {{/if}}
661                 <div class="wall-item-comment-wrapper well well-small" id="item-comments-{{$item.id}}" data-display="block" style="display: none">{{$item.comment_html nofilter}}</div>
662         {{/if}}
663 </div><!-- ./panel-body or ./wall-item-container -->
664
665 {{if $mode == display}}
666 {{else}}
667 {{if $item.comment_lastcollapsed}}</div>{{/if}}
668 {{/if}}
669
670 {{* close the comment-container div if no more thread_level = 2 children are left *}}
671 {{if $item.thread_level==2 && $top_child_nr==$top_child_total}}
672 </div><!--./comment-container-->
673 {{/if}}