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