]> git.mxchange.org Git - friendica.git/blob - view/theme/frio/templates/wall_thread.tpl
Merge remote-tracking branch 'upstream/2023.03-rc' into npf2
[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 {{* TODO => Unknown block *}}
50 <div class="wall-item-decor" style="display:none;">
51         {{if $item.star}}
52         <span class="icon s22 star {{$item.isstarred}}" id="starred-{{$item.id}}" title="{{$item.star.starred}}">{{$item.star.starred}}</span>
53         {{/if}}
54         {{if $item.lock}}<span class="navicon lock fakelink" onclick="lockview(event, 'item', {{$item.id}});" title="{{$item.lock}}"></span><span class="fa fa-lock"></span>
55         {{elseif $item.connector}}<span class="fa fa-lock" title="{{$item.connector}}"></span>{{/if}}
56 </div>
57 {{* /TODO => Unknown block *}}
58
59
60 {{* Use a different div container in dependence max thread-level = 7 *}}
61 {{if $item.thread_level<7}}
62 <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 -->
63 {{else}}
64 <div class="item-{{$item.id}} wall-item-container {{$item.indent}} {{$item.network}} thread_level_7 u-comment h-cite" id="item-{{$item.guid}}">
65 {{/if}}
66 {{if $item.thread_level==1}}
67 <span class="commented" style="display: none;">{{$item.commented}}</span>
68 <span class="received" style="display: none;">{{$item.received}}</span>
69 <span class="created" style="display: none;">{{$item.created_date}}</span>
70 <span class="uriid" style="display: none;">{{$item.uriid}}</span>
71 {{/if}}
72         <div class="media {{$item.shiny}}">
73         {{if $item.reshared}}
74                 <p class="wall-item-announce wall-item-responses" id="wall-item-announce-{{$item.id}}"><i class="fa fa-retweet" aria-hidden="true"></i> {{$item.reshared nofilter}}</p>
75         {{/if}}
76                 {{* The avatar picture and the photo-menu *}}
77                 <div class="dropdown pull-left"><!-- Dropdown -->
78                         {{if $item.thread_level==1}}
79                         <div class="hidden-sm hidden-xs contact-photo-wrapper mframe{{if $item.owner_url}} wwfrom{{/if}} p-author h-card">
80                                 <a class="userinfo click-card u-url" id="wall-item-photo-menu-{{$item.id}}" href="{{$item.profile_url}}">
81                                         <div class="contact-photo-image-wrapper">
82                                                 <img src="{{$item.thumb}}" class="contact-photo media-object {{$item.sparkle}} p-name u-photo" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" />
83                                         </div>
84                                 </a>
85                         </div>
86                         <div class="hidden-lg hidden-md contact-photo-wrapper mframe{{if $item.owner_url}} wwfrom{{/if}}">
87                                 <a class="userinfo click-card u-url" id="wall-item-photo-menu-xs-{{$item.id}}" href="{{$item.profile_url}}">
88                                         <div class="contact-photo-image-wrapper">
89                                                 <img src="{{$item.thumb}}" class="contact-photo-xs media-object {{$item.sparkle}}" id="wall-item-photo-xs-{{$item.id}}" alt="{{$item.name}}" />
90                                         </div>
91                                 </a>
92                         </div>
93
94                         {{* The little overlay avatar picture if someone is posting directly to a wall or a forum *}}
95                         {{if $item.owner_url}}
96                         <div aria-hidden="true" class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}">
97                                 <a href="{{$item.owner_url}}" target="redir" title="{{$item.olinktitle}}" class="contact-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}">
98                                         <img src="{{$item.owner_photo}}" class="contact-photo {{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" alt="{{$item.owner_name}}" />
99                                 </a>
100                         </div>
101                         {{/if}}
102
103                         {{/if}} {{*End if $item.thread_level==1}}
104
105                         {{* The avatar picture for comments *}}
106                         {{if $item.thread_level!=1}}
107                         <div class="contact-photo-wrapper mframe{{if $item.owner_url}} wwfrom{{/if}} p-author h-card">
108                                 <a class="userinfo click-card u-url" id="wall-item-photo-menu-{{$item.id}}" href="{{$item.profile_url}}">
109                                         <div class="contact-photo-image-wrapper">
110                                                 <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}}" />
111                                         </div>
112                                 </a>
113                         </div>
114                         {{/if}}
115                 </div><!-- ./Dropdown -->
116
117
118         {{if $item.thread_level!=1}}
119                 <div class="media-body">{{*this is the media body for comments - this div must be closed at the end of the file *}}
120         {{/if}}
121
122                         {{* contact info header*}}
123                 <div class="contact-info">
124                         <div class="preferences">
125                                 {{if $item.network_icon != ""}}
126                                         <span class="wall-item-network"><i class="fa fa-{{$item.network_icon}}" title="{{$item.network_name}}" aria-hidden="true"></i></span>
127                                 {{else}}
128                                         <span class="wall-item-network" title="{{$item.app}}">{{$item.network_name}}</span>
129                                 {{/if}}
130                                 {{if $item.plink}}      {{*link to the original source of the item *}}
131                                         <a href="{{$item.plink.href}}" class="plink u-url" aria-label="{{$item.plink.title}}" title="{{$item.plink.title}}">
132                                                 <i class="fa fa-external-link"></i>
133                                         </a>
134                                 {{/if}}
135                         </div>
136                 {{if $item.thread_level==1}}
137                         <div class="hidden-sm hidden-xs media-body"><!-- <= For computer -->
138                                 <h4 class="media-heading">
139                                         <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card">
140                                                 <span class="wall-item-name {{$item.sparkle}}">{{$item.name}}</span>
141                                         </a>
142                                 {{if $item.owner_url}}
143                                         {{$item.via}}
144                                         <a href="{{$item.owner_url}}" target="redir" title="{{$item.olinktitle}}" class="wall-item-name-link userinfo hover-card">
145                                                 <span class="wall-item-name {{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span>
146                                         </a>
147                                 {{/if}}
148                                 {{if $item.connector}}
149                                         <small><i class="fa fa-plug" title="{{$item.connector}}" aria-hidden="true"></i></small>
150                                 {{else}}
151                                         <span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.privacy}}" data-toggle="tooltip">
152                                                 &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>
153                                         </span>
154                                 {{/if}}
155                                 </h4>
156
157                                 <div class="additional-info text-muted">
158                                         <div id="wall-item-ago-{{$item.id}}" class="wall-item-ago">
159                                                 <small>
160                                                         <a href="{{$item.plink.orig}}">
161                                                                 <time class="time dt-published" title="{{$item.localtime}}" data-toggle="tooltip" datetime="{{$item.utc}}">{{$item.ago}}</time>
162                                                         </a>
163                                                         {{if $item.owner_self}}
164                                                                 {{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
165                                                         {{/if}}
166                                                         {{if $item.direction}}
167                                                                 {{include file="sub/direction.tpl" direction=$item.direction}}
168                                                         {{/if}}
169                                                         {{if $item.pinned}}
170                                                                 &bull; <i class="fa fa-thumb-tack" aria-hidden="true" title="{{$item.pinned}}"></i>
171                                                                 <span class="sr-only">{{$item.pinned}}</span>
172                                                         {{/if}}
173
174                                                 </small>
175                                         </div>
176
177                                         {{if $item.location_html}}
178                                         <div id="wall-item-location-{{$item.id}}" class="wall-item-location">
179                                                 <small><span class="location">({{$item.location_html nofilter}})</span></small>
180                                         </div>
181                                         {{/if}}
182                                 </div>
183                                 {{* @todo $item.created have to be inserted *}}
184                         </div>
185
186                         {{* contact info header for smartphones *}}
187                         <div class="contact-info-xs hidden-lg hidden-md"><!-- <= For smartphone (responsive) -->
188                                 <h5 class="media-heading">
189                                         <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card"><span>{{$item.name}}</span></a>
190                                         <p class="text-muted">
191                                                 <small>
192                                                         <a href="{{$item.plink.orig}}">
193                                                                 <time class="time" class="wall-item-ago" datetime="{{$item.utc}}">{{$item.ago}}</time>
194                                                         </a>
195                                                         {{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}
196                                                         {{if $item.owner_self}}
197                                                                 {{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
198                                                         {{/if}}
199                                                         {{if $item.direction}}
200                                                                 {{include file="sub/direction.tpl" direction=$item.direction}}
201                                                         {{/if}}
202                                                 </small>
203                                         </p>
204                                 </h5>
205                         </div>
206                 {{else}} {{* End of if $item.thread_level == 1 *}}
207                         {{* contact info header for comments *}}
208                         <div class="contact-info-comment">
209                                 <h5 class="media-heading">
210                                         <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card"><span class="fakelink">{{$item.name}}</span></a>
211                                         {{if $item.connector}}
212                                                 <small><i class="fa fa-plug" title="{{$item.connector}}" aria-hidden="true"></i></small>
213                                         {{else}}
214                                                 <span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.privacy}}" data-toggle="tooltip">
215                                                         &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>
216                                                 </span>
217                                         {{/if}}
218                                         <span class="text-muted">
219                                 </h5>
220                                 <small>
221                                         <a href="{{$item.plink.orig}}">
222                                                 <time class="time" title="{{$item.localtime}}" data-toggle="tooltip" datetime="{{$item.utc}}">{{$item.ago}}</time>
223                                         </a>
224                                         {{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}
225                                         {{if $item.owner_self}}
226                                                 {{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
227                                         {{/if}}
228                                         {{if $item.direction}}
229                                                 {{include file="sub/direction.tpl" direction=$item.direction}}
230                                         {{/if}}
231                                 </small>
232                         </span>
233                         </div>
234                 {{/if}} {{* End of if $item.thread_level != 1 *}}
235                 </div>
236
237                 <div class="clearfix"></div>
238
239                 {{* Insert Line to separate item header and item content visually *}}
240                 {{if $item.thread_level==1}}<hr />{{/if}}
241
242                 {{* item content *}}
243                 <div class="wall-item-content {{$item.type}}" id="wall-item-content-{{$item.id}}">
244                         {{if $item.title}}
245                         <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">{{$item.title}}</a></h4><br /></span>
246                         {{/if}}
247
248                         <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>
249                 </div>
250
251                 <!-- TODO -->
252                 <div class="wall-item-bottom">
253                         <div class="wall-item-links"></div>
254                         <div class="wall-item-tags">
255                 {{if !$item.suppress_tags}}
256                         {{foreach $item.hashtags as $tag}}
257                                 <span class="tag label btn-info sm">{{$tag nofilter}} <i class="fa fa-bolt" aria-hidden="true"></i></span>
258                         {{/foreach}}
259
260                         {{foreach $item.mentions as $tag}}
261                                 <span class="mention label btn-warning sm">{{$tag nofilter}} <i class="fa fa-user" aria-hidden="true"></i></span>
262                         {{/foreach}}
263
264                         {{*foreach $item.implicit_mentions as $tag}}
265                                 <span class="mention label label-default sm">{{$tag nofilter}} <i class="fa fa-eye-slash" aria-hidden="true"></i></span>
266                         {{/foreach*}}
267                 {{/if}}
268                         {{foreach $item.folders as $folder}}
269                                 <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>
270                         {{/foreach}}
271
272                         {{foreach $item.categories as $cat}}
273                                 <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>
274                         {{/foreach}}
275                         </div>
276                         {{if $item.edited}}<div class="itemedited text-muted">{{$item.edited['label']}} (<span title="{{$item.edited['date']}}">{{$item.edited['relative']}}</span>)</div>{{/if}}
277                 </div>
278                 <!-- ./TODO -->
279
280                 <!-- <hr /> -->
281                 <div class="wall-item-actions">
282                         {{* Action buttons to interact with the item (like: like, dislike, share and so on *}}
283                         <span class="wall-item-actions-left hidden-xs">
284
285                         {{* Buttons for like and dislike *}}
286                         {{if $item.vote}}
287                                 {{if $item.vote.like}}
288                                 <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>&nbsp;{{$item.vote.like.1}}</button>
289                                 {{/if}}
290                                 {{if $item.vote.like AND $item.vote.dislike}}
291                                 <span role="presentation" class="separator"></span>
292                                 {{/if}}
293                                 {{if $item.vote.dislike}}
294                                 <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>&nbsp;{{$item.vote.dislike.1}}</button>
295                                 {{/if}}
296
297                                 {{if ($item.vote.like OR $item.vote.dislike) AND $item.comment_html}}
298                                 <span role="presentation" class="separator"></span>
299                                 {{/if}}
300                         {{/if}}
301
302                         {{if $item.remote_comment}}
303                                 <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>&nbsp;{{$item.remote_comment.1}}</a>
304                         {{/if}}
305
306                         {{* Button to open the comment text field *}}
307                         {{if $item.comment_html}}
308                                 <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>&nbsp;{{$item.switchcomment}}</button>
309                         {{/if}}
310
311                         {{* Button for sharing the item *}}
312                         {{if $item.vote}}
313                                 {{if $item.vote.share OR $item.vote.announce}}
314                                         {{if $item.vote.like OR $item.vote.dislike OR $item.comment_html}}
315                                 <span role="presentation" class="separator"></span>
316                                         {{/if}}
317                                 {{/if}}
318                                 {{if $item.vote.announce}}
319                                 <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>&nbsp;{{$item.vote.announce.1}}</button>
320                                 <span role="presentation" class="separator"></span>
321                                 {{/if}}
322                                 {{if $item.vote.share}}
323                                 <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>&nbsp;{{$item.vote.share.1}}</button>
324                                 {{/if}}
325                         {{/if}}
326
327                         {{* Put additional actions in a dropdown menu *}}
328                                 <span role="presentation" class="separator"></span>
329                                 <span class="more-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}">
330                                     <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>&nbsp;{{$item.menu}}</button>
331                                     <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenuOptions-{{$item.id}}">
332                                         {{if $item.edpost}} {{* edit the posting *}}
333                                         <li role="menuitem">
334                                                 <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>
335                                         </li>
336                                         {{/if}}
337
338                                         {{if $item.tagger}} {{* tag the post *}}
339                                         <li role="menuitem">
340                                                 <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>
341                                         </li>
342                                         {{/if}}
343
344                                         {{if $item.filer}}
345                                         <li role="menuitem">
346                                                 <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>
347                                         </li>
348                                         {{/if}}
349
350                                         {{if $item.pin}}
351                                         <li role="menuitem">
352                                                 <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>
353                                                 <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>
354                                         </li>
355                                         {{/if}}
356
357                                         {{if $item.star}}
358                                         <li role="menuitem">
359                                                 <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>
360                                                 <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>
361                                         </li>
362                                         {{/if}}
363
364                                         {{if $item.follow_thread}}
365                                         <li role="menuitem">
366                                                 <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>
367                                         </li>
368                                         {{/if}}
369
370                                         {{if $item.language}}
371                                         <li role="menuitem">
372                                                 <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>
373                                         </li>
374                                         {{/if}}
375
376                                         {{if $item.browsershare}}
377                                         <li role="menuitem" class="button-browser-share">
378                                                 <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>
379                                         </li>
380                                         {{/if}}
381
382                                         {{if ($item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread) && ($item.ignore || ($item.drop && $item.drop.dropping))}}
383                                         <li role="separator" class="divider"></li>
384                                         {{/if}}
385
386                                         {{if $item.ignore}}
387                                         <li role="menuitem">
388                                                 <a id="ignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classdo}}" title="{{$item.ignore.do}}"><i class="fa fa-eye-slash" aria-hidden="true"></i> {{$item.ignore.do}}</a>
389                                         </li>
390                                         <li role="menuitem">
391                                                 <a id="unignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classundo}}"  title="{{$item.ignore.undo}}"><i class="fa fa-eye" aria-hidden="true"></i> {{$item.ignore.undo}}</a>
392                                         </li>
393                                         {{/if}}
394
395                                         {{if $item.drop && $item.drop.dropping}}
396                                         <li role="menuitem">
397                                                 <a class="btn-link navicon delete" href="javascript:dropItem('item/drop/{{$item.id}}/{{$item.return}}', 'item-{{$item.guid}}');" title="{{$item.drop.delete}}"><i class="fa fa-trash" aria-hidden="true"></i> {{$item.drop.delete}}</a>
398                                         </li>
399                                         {{/if}}
400
401                                         {{if $item.block}}
402                                         <li role="menuitem">
403                                                 <a class="btn-link navicon block" href="javascript:blockAuthor('item/block/{{$item.id}}/{{$item.return}}', 'item-{{$item.guid}}');" title="{{$item.block.block}}"><i class="fa fa-ban" aria-hidden="true"></i> {{$item.block.block}}</a>
404                                         </li>
405                                         {{/if}}
406                                         {{if $item.ignore_author}}
407                                         <li role="menuitem">
408                                                 <a class="btn-link navicon ignore" href="javascript:ignoreAuthor('item/ignore/{{$item.id}}/{{$item.return}}', 'item-{{$item.guid}}');" title="{{$item.ignore_author.ignore}}"><i class="fa fa-ban" aria-hidden="true"></i> {{$item.ignore_author.ignore}}</a>
409                                         </li>
410                                         {{/if}}
411                                     </ul>
412                             </span>
413                         </span>
414
415                         <span class="wall-item-actions-right hidden-xs">
416                                 {{* Event attendance buttons *}}
417                         {{if $item.isevent}}
418                                 <span class="vote-event">
419                                         <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>
420                                         <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>
421                                         <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>
422                                 </span>
423                         {{/if}}
424
425                                 <span class="pull-right checkbox">
426                         {{if $item.drop && $item.drop.pagedrop}}
427                                         <input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" id="checkbox-{{$item.id}}" class="item-select" value="{{$item.id}}" />
428                                         <label for="checkbox-{{$item.id}}"></label>
429                         {{/if}}
430                                 </span>
431                         </span>
432
433                         <div class="wall-item-actions-items btn-toolbar btn-group visible-xs" role="group">
434                                 <div class="wall-item-actions-row">
435                                         {{* Buttons for like and dislike *}}
436                                         {{if $item.vote}}
437                                                 {{if $item.vote.like}}
438                                                         <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>
439                                                 {{/if}}
440                                                 {{if $item.vote.dislike}}
441                                                         <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>
442                                                 {{/if}}
443                                         {{/if}}
444
445                                         {{* Button to open the comment text field *}}
446                                         {{if $item.comment_html}}
447                                                 <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>
448                                         {{/if}}
449
450                                         {{if $item.vote.announce OR $item.vote.share}}
451                                                 <div class="share-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}" role="group">
452                                                         <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}}">
453                                                                 <i class="fa fa-share" aria-hidden="true"></i>
454                                                         </button>
455                                                         <ul class="dropdown-menu dropdown-menu-left" role="menu" aria-labelledby="shareMenuOptions-{{$item.id}}">
456                                                                 {{if $item.vote.announce}} {{* edit the posting *}}
457                                                                 <li role="menuitem">
458                                                                         {{if $item.responses.announce.self}}
459                                                                         <a class="btn-link" id="announce-{{$item.id}}" href="javascript:doActivityItemAction({{$item.id}}, 'announce', true);" title="{{$item.vote.unannounce.0}}">
460                                                                                 <i class="fa fa-ban" aria-hidden="true"></i> {{$item.vote.unannounce.1}}
461                                                                         </a>
462                                                                         {{else}}
463                                                                         <a class="btn-link" id="announce-{{$item.id}}" href="javascript:doActivityItemAction({{$item.id}}, 'announce');" title="{{$item.vote.announce.0}}">
464                                                                                 <i class="fa fa-retweet" aria-hidden="true"></i> {{$item.vote.announce.1}}
465                                                                         </a>
466                                                                         {{/if}}
467                                                                 </li>
468                                                                 {{/if}}
469                                                                 {{if $item.vote.share}}
470                                                                 <li role="menuitem">
471                                                                         <a class="btn-link" id="share-{{$item.id}}" href="javascript:jotShare({{$item.id}});" title="{{$item.vote.share.0}}">
472                                                                                 <i class="fa fa-share" aria-hidden="true"></i> {{$item.vote.share.1}}
473                                                                         </a>
474                                                                 </li>
475                                                                 {{/if}}
476                                                                 {{if $item.browsershare}}
477                                                                 <li role="menuitem">
478                                                                         <button type="button" class="btn-link button-browser-share" onclick="navigator.share({url: '{{$item.plink.orig}}'})" title="{{$item.browsershare.1}}">
479                                                                                 <i class="fa fa-share-alt" aria-hidden="true"></i> {{$item.browsershare.0}}
480                                                                         </button>
481                                                                 </li>
482                                                                 {{/if}}
483                                                         </ul>
484                                                 </div>
485                                         {{/if}}
486
487                                         {{* Put additional actions in a dropdown menu *}}
488
489                                 {{* Event attendance buttons *}}
490                                 {{if $item.isevent}}
491                                 <div class="btn-group btn-group-event" role="group">
492                                         <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>
493                                         <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>
494                                         <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>
495                                 </div>
496                                 {{/if}}
497
498                                 {{if $item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread || $item.ignore || ($item.drop && $item.drop.dropping)}}
499                                         <div class="more-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}">
500                                                 <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>
501                                                 <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenuOptions-{{$item.id}}">
502                                                 {{if $item.edpost}} {{* edit the posting *}}
503                                                         <li role="menuitem">
504                                                                 <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>
505                                                         </li>
506                                                 {{/if}}
507
508                                                         {{if $item.tagger}} {{* tag the post *}}
509                                                                 <li role="menuitem">
510                                                                 <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>
511                                                         </li>
512                                                         {{/if}}
513
514                                                         {{if $item.filer}}
515                                                                 <li role="menuitem">
516                                                                 <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>
517                                                         </li>
518                                                         {{/if}}
519
520                                                         {{if $item.pin}}
521                                                                 <li role="menuitem">
522                                                                 <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>
523                                                                 <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>
524                                                         </li>
525                                                         {{/if}}
526
527                                                         {{if $item.star}}
528                                                                 <li role="menuitem">
529                                                                 <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>
530                                                                 <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>
531                                                         </li>
532                                                         {{/if}}
533
534                                                         {{if $item.follow_thread}}
535                                                                 <li role="menuitem">
536                                                                 <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>
537                                                         </li>
538                                                         {{/if}}
539
540                                                         {{if $item.language}}
541                                                         <li role="menuitem">
542                                                                 <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>
543                                                         </li>
544                                                         {{/if}}
545
546                                                         {{if $item.ignore || ($item.drop && $item.drop.dropping)}}
547                                                                 <li role="separator" class="divider"></li>
548                                                         {{/if}}
549
550                                                         {{if $item.ignore}}
551                                                                 <li role="menuitem">
552                                                                 <a id="ignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classdo}}" title="{{$item.ignore.do}}"><i class="fa fa-eye-slash" aria-hidden="true"></i> {{$item.ignore.do}}</a>
553                                                         </li>
554                                                                 <li role="menuitem">
555                                                                 <a id="unignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classundo}}"  title="{{$item.ignore.undo}}"><i class="fa fa-eye" aria-hidden="true"></i> {{$item.ignore.undo}}</a>
556                                                         </li>
557                                                         {{/if}}
558
559                                                         {{if $item.drop && $item.drop.dropping}}
560                                                                 <li role="menuitem">
561                                                                 <a class="btn-link navicon delete" href="javascript:dropItem('item/drop/{{$item.id}}/{{$item.return}}', 'item-{{$item.guid}}');" title="{{$item.drop.delete}}"><i class="fa fa-trash" aria-hidden="true"></i> {{$item.drop.delete}}</a>
562                                                         </li>
563                                                         {{/if}}
564                                                 </ul>
565                                         </div>
566                                 {{/if}}
567                                 <span class="pull-right checkbox">
568                                         {{if $item.drop && $item.drop.pagedrop}}
569                                                 <input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" id="checkbox-{{$item.id}}" class="item-select" value="{{$item.id}}" />
570                                                 <label for="checkbox-{{$item.id}}"></label>
571                                         {{/if}}
572                                 </span>
573                                 </div>
574                         </div>
575                 </div><!--./wall-item-actions-->
576
577                 <div class="wall-item-links"></div>
578
579                 {{* Display likes, dislike and attendance stats *}}
580                 {{if $item.emojis}}
581                         {{foreach $item.emojis as $emoji}}
582                                 {{if $emoji.icon.fa}}
583                                         <span class="wall-item-emoji" title="{{$emoji.title}}"><i class="fa {{$emoji.icon.fa}}" aria-hidden="true"></i> {{$emoji.total}}</span>
584                                 {{else}}
585                                         <span class="wall-item-emoji" title="{{$emoji.title}}">{{$emoji.emoji}} {{$emoji.total}}</span>
586                                 {{/if}}
587                         {{/foreach}}
588                 {{elseif $item.responses}}
589                         <div class="wall-item-responses">
590                         {{foreach $item.responses as $verb=>$response}}
591                                 <div class="wall-item-{{$verb}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output nofilter}}</div>
592                         {{/foreach}}
593                         </div>
594                 {{/if}}
595
596                 {{* Insert comment box of threaded children *}}
597                 {{if $item.threaded && $item.comment_html && $item.indent==comment}}
598                         <div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" data-display="block" style="display: none;">
599                                 {{$item.comment_html nofilter}}
600                         </div>
601                 {{/if}}
602
603                 {{if $item.thread_level!=1}}
604                 </div><!--./media-body from for comments-->
605                 {{/if}}
606         </div>
607         {{foreach $item.children as $child}}
608                 {{include file="{{$item.template}}" item=$child}}
609         {{/foreach}}
610
611         {{* Insert the comment box of the top level post at the bottom of the thread.
612                 Display this comment box if there are any comments. If not hide it. In this
613                 case it could be opend with the "comment" button *}}
614         {{if $item.comment_html && $item.thread_level==1}}
615                 {{if $item.total_comments_num}}
616                 <div class="comment-fake-form" id="comment-fake-form-{{$item.id}}">
617                         <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>
618                 </div>
619                 {{/if}}
620                 <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>
621         {{/if}}
622 </div><!-- ./panel-body or ./wall-item-container -->
623
624 {{if $mode == display}}
625 {{else}}
626 {{if $item.comment_lastcollapsed}}</div>{{/if}}
627 {{/if}}
628
629 {{* close the comment-container div if no more thread_level = 2 children are left *}}
630 {{if $item.thread_level==2 && $top_child_nr==$top_child_total}}
631 </div><!--./comment-container-->
632 {{/if}}