]> git.mxchange.org Git - friendica.git/blob - view/theme/frio/templates/wall_thread.tpl
Merge remote-tracking branch 'upstream/2023.09-rc' into ISO-639-1
[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
307                         {{* Buttons for like and dislike *}}
308                         {{if $item.vote}}
309                                 {{if $item.vote.like}}
310                                 <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>
311                                 {{/if}}
312                                 {{if $item.vote.like AND $item.vote.dislike}}
313                                 <span role="presentation" class="separator"></span>
314                                 {{/if}}
315                                 {{if $item.vote.dislike}}
316                                 <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>
317                                 {{/if}}
318
319                                 {{if ($item.vote.like OR $item.vote.dislike) AND $item.comment_html}}
320                                 <span role="presentation" class="separator"></span>
321                                 {{/if}}
322                         {{/if}}
323
324                         {{if $item.remote_comment}}
325                                 <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>
326                         {{/if}}
327
328                         {{* Button to open the comment text field *}}
329                         {{if $item.comment_html}}
330                                 <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>
331                         {{/if}}
332
333                         {{* Button for sharing the item *}}
334                         {{if $item.vote}}
335                                 {{if $item.vote.share OR $item.vote.announce}}
336                                         {{if $item.vote.like OR $item.vote.dislike OR $item.comment_html}}
337                                 <span role="presentation" class="separator"></span>
338                                         {{/if}}
339                                 {{/if}}
340                                 {{if $item.vote.announce}}
341                                 <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>
342                                 <span role="presentation" class="separator"></span>
343                                 {{/if}}
344                                 {{if $item.vote.share}}
345                                 <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>
346                                 {{/if}}
347                         {{/if}}
348
349                         {{* Put additional actions in a dropdown menu *}}
350                                 <span role="presentation" class="separator"></span>
351                                 <span class="more-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}">
352                                     <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>
353                                     <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenuOptions-{{$item.id}}">
354                                         {{if $item.edpost}} {{* edit the posting *}}
355                                         <li role="menuitem">
356                                                 <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>
357                                         </li>
358                                         {{/if}}
359
360                                         {{if $item.tagger}} {{* tag the post *}}
361                                         <li role="menuitem">
362                                                 <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>
363                                         </li>
364                                         {{/if}}
365
366                                         {{if $item.filer}}
367                                         <li role="menuitem">
368                                                 <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>
369                                         </li>
370                                         {{/if}}
371
372                                         {{if $item.pin}}
373                                         <li role="menuitem">
374                                                 <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>
375                                                 <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>
376                                         </li>
377                                         {{/if}}
378
379                                         {{if $item.star}}
380                                         <li role="menuitem">
381                                                 <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>
382                                                 <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>
383                                         </li>
384                                         {{/if}}
385
386                                         {{if $item.follow_thread}}
387                                         <li role="menuitem">
388                                                 <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>
389                                         </li>
390                                         {{/if}}
391
392                                         {{if $item.language}}
393                                         <li role="menuitem">
394                                                 <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>
395                                         </li>
396                                         {{/if}}
397
398                                         {{if $item.browsershare}}
399                                         <li role="menuitem" class="button-browser-share">
400                                                 <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>
401                                         </li>
402                                         {{/if}}
403
404                                         {{if ($item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread) && ($item.ignore || ($item.drop && $item.drop.dropping))}}
405                                         <li role="separator" class="divider"></li>
406                                         {{/if}}
407
408                                         {{if $item.ignore}}
409                                         <li role="menuitem">
410                                                 <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>
411                                         </li>
412                                         <li role="menuitem">
413                                                 <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>
414                                         </li>
415                                         {{/if}}
416
417                                         {{if $item.drop && $item.drop.dropping}}
418                                         <li role="menuitem">
419                                                 <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>
420                                         </li>
421                                         {{/if}}
422
423                                         {{if $item.block}}
424                                         <li role="menuitem">
425                                                 <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>
426                                         </li>
427                                         {{/if}}
428                                         {{if $item.ignore_author}}
429                                         <li role="menuitem">
430                                                 <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>
431                                         </li>
432                                         {{/if}}
433                                         {{if $item.collapse}}
434                                         <li role="menuitem">
435                                                 <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>
436                                         </li>
437                                         {{/if}}
438                                             {{if $item.ignore_server}}
439                                         <li role="menuitem">
440                                                 <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>
441                                         </li>
442                                         {{/if}}
443                                         {{if $item.report}}
444                                         <li role="menuitem">
445                                                 <a class="btn-link navicon ignore" href="{{$item.report.href}}"><i class="fa fa-flag" aria-hidden="true"></i> {{$item.report.label}}</a>
446                                         </li>
447                                         {{/if}}
448                                     </ul>
449                         </span>
450
451                         <span class="wall-item-actions-right hidden-xs">
452                                 {{* Event attendance buttons *}}
453                         {{if $item.isevent}}
454                                 <span class="vote-event">
455                                         <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>
456                                         <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>
457                                         <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>
458                                 </span>
459                         {{/if}}
460
461                                 <span class="pull-right checkbox">
462                         {{if $item.drop && $item.drop.pagedrop}}
463                                         <input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" id="checkbox-{{$item.id}}" class="item-select" value="{{$item.id}}" />
464                                         <label for="checkbox-{{$item.id}}"></label>
465                         {{/if}}
466                                 </span>
467                         </span>
468
469                         <div class="wall-item-actions-items btn-toolbar btn-group visible-xs" role="group">
470                                 <div class="wall-item-actions-row">
471                                         {{* Buttons for like and dislike *}}
472                                         {{if $item.vote}}
473                                                 {{if $item.vote.like}}
474                                                         <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>
475                                                 {{/if}}
476                                                 {{if $item.vote.dislike}}
477                                                         <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>
478                                                 {{/if}}
479                                         {{/if}}
480
481                                         {{* Button to open the comment text field *}}
482                                         {{if $item.comment_html}}
483                                                 <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>
484                                         {{/if}}
485
486                                         {{if $item.vote.announce OR $item.vote.share}}
487                                                 <div class="share-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}" role="group">
488                                                         <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}}">
489                                                                 <i class="fa fa-share" aria-hidden="true"></i>
490                                                         </button>
491                                                         <ul class="dropdown-menu dropdown-menu-left" role="menu" aria-labelledby="shareMenuOptions-{{$item.id}}">
492                                                                 {{if $item.vote.announce}} {{* edit the posting *}}
493                                                                 <li role="menuitem">
494                                                                         {{if $item.responses.announce.self}}
495                                                                         <a class="btn-link" id="announce-{{$item.id}}" href="javascript:doActivityItemAction({{$item.id}}, 'announce', true);" title="{{$item.vote.unannounce.0}}">
496                                                                                 <i class="fa fa-ban" aria-hidden="true"></i> {{$item.vote.unannounce.1}}
497                                                                         </a>
498                                                                         {{else}}
499                                                                         <a class="btn-link" id="announce-{{$item.id}}" href="javascript:doActivityItemAction({{$item.id}}, 'announce');" title="{{$item.vote.announce.0}}">
500                                                                                 <i class="fa fa-retweet" aria-hidden="true"></i> {{$item.vote.announce.1}}
501                                                                         </a>
502                                                                         {{/if}}
503                                                                 </li>
504                                                                 {{/if}}
505                                                                 {{if $item.vote.share}}
506                                                                 <li role="menuitem">
507                                                                         <a class="btn-link" id="share-{{$item.id}}" href="javascript:jotShare({{$item.id}});" title="{{$item.vote.share.0}}">
508                                                                                 <i class="fa fa-share" aria-hidden="true"></i> {{$item.vote.share.1}}
509                                                                         </a>
510                                                                 </li>
511                                                                 {{/if}}
512                                                                 {{if $item.browsershare}}
513                                                                 <li role="menuitem">
514                                                                         <button type="button" class="btn-link button-browser-share" onclick="navigator.share({url: '{{$item.plink.orig}}'})" title="{{$item.browsershare.1}}">
515                                                                                 <i class="fa fa-share-alt" aria-hidden="true"></i> {{$item.browsershare.0}}
516                                                                         </button>
517                                                                 </li>
518                                                                 {{/if}}
519                                                         </ul>
520                                                 </div>
521                                         {{/if}}
522
523                                         {{* Put additional actions in a dropdown menu *}}
524
525                                 {{* Event attendance buttons *}}
526                                 {{if $item.isevent}}
527                                 <div class="btn-group btn-group-event" role="group">
528                                         <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>
529                                         <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>
530                                         <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>
531                                 </div>
532                                 {{/if}}
533
534                                 {{if $item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread || $item.ignore || ($item.drop && $item.drop.dropping)}}
535                                         <div class="more-links btn-group{{if $item.thread_level > 1}} dropup{{/if}}">
536                                                 <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>
537                                                 <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenuOptions-{{$item.id}}">
538                                                 {{if $item.edpost}} {{* edit the posting *}}
539                                                         <li role="menuitem">
540                                                                 <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>
541                                                         </li>
542                                                 {{/if}}
543
544                                                         {{if $item.tagger}} {{* tag the post *}}
545                                                                 <li role="menuitem">
546                                                                 <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>
547                                                         </li>
548                                                         {{/if}}
549
550                                                         {{if $item.filer}}
551                                                                 <li role="menuitem">
552                                                                 <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>
553                                                         </li>
554                                                         {{/if}}
555
556                                                         {{if $item.pin}}
557                                                                 <li role="menuitem">
558                                                                 <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>
559                                                                 <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>
560                                                         </li>
561                                                         {{/if}}
562
563                                                         {{if $item.star}}
564                                                                 <li role="menuitem">
565                                                                 <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>
566                                                                 <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>
567                                                         </li>
568                                                         {{/if}}
569
570                                                         {{if $item.follow_thread}}
571                                                                 <li role="menuitem">
572                                                                 <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>
573                                                         </li>
574                                                         {{/if}}
575
576                                                         {{if $item.language}}
577                                                         <li role="menuitem">
578                                                                 <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>
579                                                         </li>
580                                                         {{/if}}
581
582                                                         {{if $item.ignore || ($item.drop && $item.drop.dropping)}}
583                                                                 <li role="separator" class="divider"></li>
584                                                         {{/if}}
585
586                                                         {{if $item.ignore}}
587                                                                 <li role="menuitem">
588                                                                 <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>
589                                                         </li>
590                                                                 <li role="menuitem">
591                                                                 <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>
592                                                         </li>
593                                                         {{/if}}
594
595                                                         {{if $item.drop && $item.drop.dropping}}
596                                                                 <li role="menuitem">
597                                                                 <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>
598                                                         </li>
599                                                         {{/if}}
600                                                 </ul>
601                                         </div>
602                                 {{/if}}
603                                 <span class="pull-right checkbox">
604                                         {{if $item.drop && $item.drop.pagedrop}}
605                                                 <input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" id="checkbox-{{$item.id}}" class="item-select" value="{{$item.id}}" />
606                                                 <label for="checkbox-{{$item.id}}"></label>
607                                         {{/if}}
608                                 </span>
609                                 </div>
610                         </div>
611                 </div><!--./wall-item-actions-->
612
613                 <div class="wall-item-links"></div>
614
615                 {{* Display likes, dislike and attendance stats *}}
616                 {{if $item.emojis}}
617                         {{foreach $item.emojis as $emoji}}
618                                 {{if $emoji.icon.fa}}
619                                         <span class="wall-item-emoji" title="{{$emoji.title}}"><i class="fa {{$emoji.icon.fa}}" aria-hidden="true"></i> {{$emoji.total}}</span>
620                                 {{else}}
621                                         <span class="wall-item-emoji" title="{{$emoji.title}}">{{$emoji.emoji}} {{$emoji.total}}</span>
622                                 {{/if}}
623                         {{/foreach}}
624                 {{elseif $item.responses}}
625                         <div class="wall-item-responses">
626                         {{foreach $item.responses as $verb=>$response}}
627                                 <div class="wall-item-{{$verb}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output nofilter}}</div>
628                         {{/foreach}}
629                         </div>
630                 {{/if}}
631
632                 {{* Insert comment box of threaded children *}}
633                 {{if $item.threaded && $item.comment_html && $item.indent==comment}}
634                         <div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" data-display="block" style="display: none;">
635                                 {{$item.comment_html nofilter}}
636                         </div>
637                 {{/if}}
638
639                 {{if $item.thread_level!=1}}
640                 </div><!--./media-body from for comments-->
641                 {{/if}}
642         </div>
643         {{foreach $item.children as $child}}
644                 {{include file="{{$item.template}}" item=$child}}
645         {{/foreach}}
646
647         {{* Insert the comment box of the top level post at the bottom of the thread.
648                 Display this comment box if there are any comments. If not hide it. In this
649                 case it could be opend with the "comment" button *}}
650         {{if $item.comment_html && $item.thread_level==1}}
651                 {{if $item.total_comments_num}}
652                 <div class="comment-fake-form" id="comment-fake-form-{{$item.id}}">
653                         <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>
654                 </div>
655                 {{/if}}
656                 <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>
657         {{/if}}
658 </div><!-- ./panel-body or ./wall-item-container -->
659
660 {{if $mode == display}}
661 {{else}}
662 {{if $item.comment_lastcollapsed}}</div>{{/if}}
663 {{/if}}
664
665 {{* close the comment-container div if no more thread_level = 2 children are left *}}
666 {{if $item.thread_level==2 && $top_child_nr==$top_child_total}}
667 </div><!--./comment-container-->
668 {{/if}}