diff options
Diffstat (limited to 'view/tpl')
32 files changed, 361 insertions, 83 deletions
diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl index 3d05cb455..c58a345e5 100755 --- a/view/tpl/acl_selector.tpl +++ b/view/tpl/acl_selector.tpl @@ -15,12 +15,14 @@ {{if $aclModalDesc}} <div id="acl-dialog-description" class="section-content-info-wrapper">{{$aclModalDesc}}</div> {{/if}} - <label for="acl-select">{{$select_label}}</label> + <label for="acl-select">{{if $aclModalDesc}}<i class="fa fa-send-o"></i> {{/if}}{{$select_label}}</label> <select id="acl-select" name="optionsRadios" class="form-control form-group"> <option id="acl-showall" value="public" {{$public_selected}}>{{$showall}}</option> - {{$groups}} <option id="acl-onlyme" value="onlyme" {{$justme_selected}}>{{$onlyme}}</option> - <option id="acl-custom" value="custom" {{$custom_selected}}>{{$custom}}</option> + {{$groups}} + <optgroup label = "{{$custom_label}}">; + <option id="acl-custom" value="custom" {{$custom_selected}}>{{$custom}}</option> + </optgroup>; </select> {{if $showallOrigin}} @@ -39,8 +41,8 @@ <div class="list-group-item acl-list-item" rel="acl-template" style="display:none"> <div class="acl-item-header clearfix"> - <img class="menu-img-3" data-src="{0}"> - <span class="contactname">{1}</span> + <img class="menu-img-3" data-src="{0}" loading="lazy" /> + <span class="font-weight-bold contactname">{1}</span> <span class="dropdown-sub-text">{6}</span> </div> <button class="acl-button-hide btn btn-sm btn-outline-danger"><i class="fa fa-times"></i> {{$hide}}</button> diff --git a/view/tpl/activity_filter_widget.tpl b/view/tpl/activity_filter_widget.tpl index 7d10100ba..779786828 100644 --- a/view/tpl/activity_filter_widget.tpl +++ b/view/tpl/activity_filter_widget.tpl @@ -9,7 +9,7 @@ </h3> {{$content}} {{if $name}} - <div class="notifications-textinput"> + <div id="cid-filter-wrapper" class="notifications-textinput"> <form method="get" action="{{$name.url}}" role="search"> <div class="text-muted notifications-textinput-filter"><i class="fa fa-fw fa-filter"></i></div> <input id="cid" type="hidden" value="" name="cid" /> diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl index cacbf7e64..774b75b31 100644 --- a/view/tpl/app.tpl +++ b/view/tpl/app.tpl @@ -31,8 +31,8 @@ <a class="dropdown-item{{if $app.active}} active{{/if}}" href="{{$app.url}}">{{if $icon}}<i class="generic-icons-nav fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" style="margin-right:9px;"/>{{/if}}{{$app.name}}</a> {{/if}} {{if $order}} -<a href="{{$hosturl}}appman/{{$app.guid}}/moveup{{if $pinned}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-up"></i></a> -<a href="{{$hosturl}}appman/{{$app.guid}}/movedown{{if $pinned}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-down"></i></a> +<a href="{{$hosturl}}appman/{{$app.guid}}/moveup{{if $mode == 'nav-order-pinned'}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-up"></i></a> +<a href="{{$hosturl}}appman/{{$app.guid}}/movedown{{if $mode == 'nav-order-pinned'}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-down"></i></a> {{if $icon}}<i class="generic-icons-nav fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" style="margin-right:9px;"/>{{/if}}{{$app.name}}<br> {{/if}} diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl index fcb22b605..bbe0ac7ee 100755 --- a/view/tpl/build_query.tpl +++ b/view/tpl/build_query.tpl @@ -17,6 +17,7 @@ var bParam_wall = {{$wall}}; var bParam_list = {{$list}}; var bParam_fh = {{$fh}}; + var bParam_dm = {{$dm}}; var bParam_static = {{$static}}; var bParam_search = "{{$search}}"; @@ -50,6 +51,7 @@ if(bParam_wall != 0) bCmd = bCmd + "&wall=" + bParam_wall; if(bParam_list != 0) bCmd = bCmd + "&list=" + bParam_list; if(bParam_fh != 0) bCmd = bCmd + "&fh=" + bParam_fh; + if(bParam_dm != 0) bCmd = bCmd + "&dm=" + bParam_dm; if(bParam_search != "") bCmd = bCmd + "&search=" + bParam_search; if(bParam_xchan != "") bCmd = bCmd + "&xchan=" + bParam_xchan; if(bParam_order != "") bCmd = bCmd + "&order=" + bParam_order; diff --git a/view/tpl/cdav_calendar.tpl b/view/tpl/cdav_calendar.tpl index 01739dd5b..28cd11b2e 100644 --- a/view/tpl/cdav_calendar.tpl +++ b/view/tpl/cdav_calendar.tpl @@ -100,7 +100,7 @@ $(document).ready(function() { $('#event_submit').val('create_event').html('{{$create}}'); $('#event_delete').hide(); - new_event = { id: new_event_id, title: 'New event', start: info.date.toUTCString(), end: dtend ? dtend.toUTCString() : '', allDay: info.allDay, editable: true, color: '#bbb' }; + new_event = { id: new_event_id, title: 'New event', start: info.date, end: dtend ? dtend : '', allDay: info.allDay, editable: true, color: '#bbb' }; calendar.addEvent(new_event); }, diff --git a/view/tpl/chat.tpl b/view/tpl/chat.tpl index c189cbd15..7ef957b7e 100644 --- a/view/tpl/chat.tpl +++ b/view/tpl/chat.tpl @@ -70,7 +70,7 @@ </div> {{if $feature_encrypt}} <div class="btn-group mr-2 d-none d-md-flex"> - <button id="chat-encrypt-wrapper" class="btn btn-outline-secondary btn-sm" onclick="red_encrypt('{{$cipher}}', '#chatText', $('#chatText').val()); return false;"> + <button id="chat-encrypt-wrapper" class="btn btn-outline-secondary btn-sm" onclick="hz_encrypt('{{$cipher}}', '#chatText'); return false;"> <i id="chat-encrypt" class="fa fa-key jot-icons" title="{{$encrypt}}" ></i> </button> </div> @@ -83,7 +83,7 @@ <a class="dropdown-item" href="#" onclick="chatJotGetLink(); return false;" ><i class="fa fa-link"></i> {{$insert}}</a> {{if $feature_encrypt}} <div class="dropdown-divider"></div> - <a class="dropdown-item" href="#" onclick="red_encrypt('{{$cipher}}', '#chatText' ,$('#chatText').val()); return false;"><i class="fa fa-key"></i> {{$encrypt}}</a> + <a class="dropdown-item" href="#" onclick="hz_encrypt('{{$cipher}}', '#chatText'); return false;"><i class="fa fa-key"></i> {{$encrypt}}</a> {{/if}} </div> </div> diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl index 3b51971ec..0b2ef1a1c 100755 --- a/view/tpl/comment_item.tpl +++ b/view/tpl/comment_item.tpl @@ -50,7 +50,7 @@ </div> {{if $feature_encrypt}} <div class="btn-group mr-2"> - <button class="btn btn-outline-secondary btn-sm" title="{{$encrypt}}" onclick="red_encrypt('{{$cipher}}','#comment-edit-text-' + '{{$id}}',''); return false;"> + <button class="btn btn-outline-secondary btn-sm" title="{{$encrypt}}" onclick="hz_encrypt('{{$cipher}}','#comment-edit-text-' + '{{$id}}'); return false;"> <i class="fa fa-key comment-icon"></i> </button> </div> diff --git a/view/tpl/connection_template.tpl b/view/tpl/connection_template.tpl index de22bcdbb..86a230c7f 100755 --- a/view/tpl/connection_template.tpl +++ b/view/tpl/connection_template.tpl @@ -22,11 +22,9 @@ <div class="section-content-tools-wrapper"> <div class="contact-photo-wrapper" > <a href="{{$contact.url}}" title="{{$contact.img_hover}}" > - <img class="directory-photo-img {{if $contact.classes}}{{$contact.classes}}{{/if}}" src="{{$contact.thumb}}" alt="{{$contact.name}}" /> + <img class="directory-photo-img {{if $contact.classes}}{{$contact.classes}}{{/if}}" src="{{$contact.thumb}}" alt="{{$contact.name}}" loading="lazy" /> </a> - {{if $contact.oneway}} - <i class="fa fa-fw fa-minus-circle oneway-overlay text-danger"></i> - {{/if}} + {{include "connstatus.tpl" perminfo=$contact.perminfo}} </div> <div class="contact-info"> {{if $contact.status}} diff --git a/view/tpl/connections.tpl b/view/tpl/connections.tpl index 021c33146..fedcff1e3 100755 --- a/view/tpl/connections.tpl +++ b/view/tpl/connections.tpl @@ -20,7 +20,7 @@ <div class="input-group form-group"> <input type="text" name="search" id="contacts-search" class="form-control" onfocus="this.select();" value="{{$search}}" placeholder="{{$desc}}" /> <div class="input-group-append"> - <button id="contacts-search-submit" class="btn btn-outline-secondary" type="submit"><i class="fa fa-fw fa-search"></i></button> + <button id="contacts-search-submit" class="btn btn-sm btn-outline-secondary" type="submit"><i class="fa fa-fw fa-search"></i></button> </div> </div> </form> diff --git a/view/tpl/connstatus.tpl b/view/tpl/connstatus.tpl new file mode 100644 index 000000000..667775f3a --- /dev/null +++ b/view/tpl/connstatus.tpl @@ -0,0 +1 @@ +<i class="fa fa-fw fa-comments oneway-overlay text-{{if $perminfo.connpermcount == 3}}success{{elseif $perminfo.connpermcount > 0}}warning{{else}}danger{{/if}}" title="{{$perminfo.connperms}}"></i> diff --git a/view/tpl/contact_template.tpl b/view/tpl/contact_template.tpl index 2a2f996f4..7c8c02ea2 100755 --- a/view/tpl/contact_template.tpl +++ b/view/tpl/contact_template.tpl @@ -1,9 +1,7 @@ <div class="contact-entry-wrapper" id="contact-entry-wrapper-{{$contact.id}}" > <div class="contact-entry-photo-wrapper" > - <a href="{{$contact.link}}" title="{{$contact.img_hover}}" ><img class="contact-block-img" src="{{$contact.thumb}}" alt="{{$contact.name}}" /></a> - {{if $contact.oneway}} - <i class="fa fa-fw fa-minus-circle oneway-overlay text-danger"></i> - {{/if}} + <a href="{{$contact.link}}" title="{{$contact.img_hover}}" ><img class="contact-block-img" src="{{$contact.thumb}}" alt="{{$contact.name}}" loading="lazy" /></a> + {{if $contact.perminfo}}{{include "connstatus.tpl" perminfo=$contact.perminfo}}{{/if}} </div> <div class="contact-entry-photo-end" ></div> <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div> diff --git a/view/tpl/conv_frame.tpl b/view/tpl/conv_frame.tpl index c6b3b0d9b..be74dea39 100755 --- a/view/tpl/conv_frame.tpl +++ b/view/tpl/conv_frame.tpl @@ -3,6 +3,7 @@ <div id="conversation-end"></div> <div id="page-spinner" class="spinner-wrapper"> <div class="spinner m"></div> + <div id="image_counter" class="text-muted text-center small"></div> </div> <div class="modal" id="conversation_settings" tabindex="-1" role="dialog" aria-labelledby="conversation_settings_label" aria-hidden="true"> <div class="modal-dialog"> diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl index 186551e2d..d7eaefe7e 100755 --- a/view/tpl/conv_item.tpl +++ b/view/tpl/conv_item.tpl @@ -4,9 +4,9 @@ </div> <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;"> {{/if}} - <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} generic-content-wrapper h-entry {{else}} u-comment h-cite {{/if}} item_{{$item.submid}}"> + <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} generic-content-wrapper h-entry {{else}} u-comment h-cite{{/if}}" data-b64mids='{{$item.mids}}'> <a name="item_{{$item.id}}" ></a> - <div class="wall-item-outside-wrapper{{if $item.is_comment}} comment{{/if}}{{if $item.previewing}} preview{{/if}}" data-mid="{{$item.mid}}" id="wall-item-outside-wrapper-{{$item.id}}" > + <div class="wall-item-outside-wrapper{{if $item.is_comment}} comment{{/if}}{{if $item.previewing}} preview{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" > <div class="clearfix wall-item-content-wrapper{{if $item.is_comment}} comment{{/if}}" id="wall-item-content-wrapper-{{$item.id}}"> {{if $item.photo}} <div class="wall-photo-item" id="wall-photo-item-{{$item.id}}"> @@ -30,9 +30,12 @@ {{if $item.thr_parent}} <a href="javascript:doscroll('{{$item.thr_parent}}',{{$item.parent}});" title="{{$item.top_hint}}" class="float-right"><i class="fa fa-angle-double-up"> </i></a> {{/if}} + {{if $item.pinned}} + <span class="float-right wall-item-pinned" title="{{$item.pinned}}" id="wall-item-pinned-{{$item.id}}"><i class="fa fa-thumb-tack"> </i></span> + {{/if}} <div class="wall-item-info" id="wall-item-info-{{$item.id}}" > <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$item.id}}"> - <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" data-toggle="dropdown" /> + <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" loading="lazy" data-toggle="dropdown" /> {{if $item.thread_author_menu}} <i class="fa fa-caret-down wall-item-photo-caret cursor-pointer" data-toggle="dropdown"></i> <div class="dropdown-menu"> @@ -51,10 +54,10 @@ {{/if}} <div class="wall-item-author"> {{if $item.previewing}}<span class="preview-indicator"><i class="fa fa-eye" title="{{$item.preview_lbl}}"></i></span> {{/if}} - <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link u-url"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}} + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link u-url"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" ><bdi>{{$item.name}}</bdi></span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}"><bdi>{{$item.owner_name}}</bdi></span></a>{{/if}} </div> <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}"> - {{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i> {{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i> {{/if}}{{if $item.location}}<span class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}}, </span>{{/if}}<span class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}} <i class="fa fa-pencil"></i>{{/if}} {{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}} + {{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i> {{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i> {{/if}}{{if $item.location}}<span class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}}, </span>{{/if}}<span class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</span> {{if $item.delayed}}<i class="fa fa-clock-o"></i>{{/if}}{{if $item.editedtime}} <i class="fa fa-pencil"></i>{{/if}} {{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}} </div> </div> {{if $item.divider}} @@ -168,6 +171,9 @@ {{if $item.filer}} <a class="dropdown-item" href="#" onclick="itemFiler({{$item.id}}); return false;"><i id="filer-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-folder-open" title="{{$item.filer}}"></i>{{$item.filer}}</a> {{/if}} + {{if $item.pinnable}} + <a class="dropdown-item dropdown-item-pinnable" href="#" onclick="dopin({{$item.id}}); return false;" id="item-pinnable-{{$item.id}}"><i class="generic-icons-nav fa fa-fw fa-thumb-tack"></i>{{$item.pinme}}</a> + {{/if}} {{if $item.bookmark}} <a class="dropdown-item" href="#" onclick="itemBookmark({{$item.id}}); return false;"><i id="bookmarker-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-bookmark" title="{{$item.bookmark}}"></i>{{$item.bookmark}}</a> {{/if}} diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl index 8c5b47bf3..113cf2324 100755 --- a/view/tpl/conv_list.tpl +++ b/view/tpl/conv_list.tpl @@ -4,7 +4,7 @@ </div> <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;"> {{/if}} - <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} generic-content-wrapper h-entry {{else}} u-comment h-cite {{/if}} item_{{$item.submid}}"> + <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} generic-content-wrapper h-entry {{else}} u-comment h-cite {{/if}}" data-b64mids='{{$item.mids}}'> <a name="item_{{$item.id}}" ></a> <div class="wall-item-outside-wrapper{{if $item.is_comment}} comment{{/if}}{{if $item.previewing}} preview{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" > <div class="clearfix wall-item-content-wrapper{{if $item.is_comment}} comment{{/if}}" id="wall-item-content-wrapper-{{$item.id}}"> @@ -29,7 +29,7 @@ <div class="p-2 clearfix wall-item-head{{if !$item.title && !$item.event && !$item.photo}} rounded-top{{/if}}{{if $item.is_new && !$item.event && !$item.is_comment}} wall-item-head-new{{/if}}"> <div class="wall-item-info" id="wall-item-info-{{$item.id}}" > <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$item.id}}"> - <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" data-toggle="dropdown" /></a> + <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" data-toggle="dropdown" loading="lazy" /></a> {{if $item.thread_author_menu}} <i class="fa fa-caret-down wall-item-photo-caret cursor-pointer" data-toggle="dropdown"></i> <div class="dropdown-menu"> @@ -48,7 +48,7 @@ </div> {{/if}} <div class="wall-item-author"> - <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link u-url"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}} + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link u-url"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" ><bdi>{{$item.name}}</bdi></span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}"><bdi>{{$item.owner_name}}</bdi></span></a>{{/if}} </div> <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}"> {{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i> {{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i> {{/if}}{{if $item.location}}<span class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}}, </span>{{/if}}<span class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}} <i class="fa fa-pencil"></i>{{/if}} {{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}} diff --git a/view/tpl/crophead.tpl b/view/tpl/crophead.tpl index a5a80c187..db1915d22 100755 --- a/view/tpl/crophead.tpl +++ b/view/tpl/crophead.tpl @@ -1,3 +1,3 @@ -<script type="text/javascript" src="library/cropperjs/dist/cropper.js" language="javascript"></script> -<link rel="stylesheet" href="library/cropperjs/dist/cropper.css" type="text/css" /> +<script type="text/javascript" src="library/cropperjs/dist/cropper.min.js" language="javascript"></script> +<link rel="stylesheet" href="library/cropperjs/dist/cropper.min.css" type="text/css" /> diff --git a/view/tpl/direntry.tpl b/view/tpl/direntry.tpl index f7ec7db23..015f1102d 100755 --- a/view/tpl/direntry.tpl +++ b/view/tpl/direntry.tpl @@ -7,6 +7,9 @@ {{if $entry.ignlink}} <a class="directory-ignore btn btn-warning btn-sm" href="{{$entry.ignlink}}"> {{$entry.ignore_label}}</a> {{/if}} + {{if $entry.censor}} + <a class="directory-censor btn btn-danger btn-sm" href="{{$entry.censor}}"> {{$entry.censor_label}}</a> + {{/if}} {{if $entry.connect}} <a class="btn btn-success btn-sm" href="{{$entry.connect}}"><i class="fa fa-plus connect-icon"></i> {{$entry.conn_label}}</a> {{/if}} @@ -20,7 +23,7 @@ <div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$entry.hash}}" > <div class="contact-photo" id="directory-photo-{{$entry.hash}}" > <a href="{{$entry.profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$entry.hash}}" > - <img class="directory-photo-img" src="{{$entry.photo}}" alt="{{$entry.alttext}}" title="{{$entry.alttext}}" /> + <img class="directory-photo-img" src="{{$entry.photo}}" alt="{{$entry.alttext}}" title="{{$entry.alttext}}" loading="lazy"/> </a> </div> </div> diff --git a/view/tpl/event_item_header.tpl b/view/tpl/event_item_header.tpl index ed46c304f..e81db48a1 100755 --- a/view/tpl/event_item_header.tpl +++ b/view/tpl/event_item_header.tpl @@ -15,3 +15,8 @@ </div> {{/if}} {{/if}} +{{if $event_tz.value}} +<div class="event-item-start"> + <span class="event-item-label">{{$event_tz.label}}:</span> <span class="timezone" title="{{$event_tz.value}}">{{$event_tz.value}}</span> +</div> +{{/if}} diff --git a/view/tpl/field_acheckbox.tpl b/view/tpl/field_acheckbox.tpl index 1810e1ee1..4c8b62f36 100755 --- a/view/tpl/field_acheckbox.tpl +++ b/view/tpl/field_acheckbox.tpl @@ -5,8 +5,8 @@ </td> {{if $notself}} <td class="abook-them"> - {{if $field.2 === 1}}<i class="fa fa-check-square-o"></i>{{/if}} - {{if $field.2 === 0}}<i class="fa fa-square-o"></i>{{/if}} + {{if $field.2 == 1}}<i class="fa fa-check-square-o"></i>{{/if}} + {{if $field.2 == 0}}<i class="fa fa-square-o"></i>{{/if}} </td> {{/if}} <td class="abook-me"> diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl index 7b1f4ee05..d519fd666 100755 --- a/view/tpl/jot-header.tpl +++ b/view/tpl/jot-header.tpl @@ -58,6 +58,9 @@ var activeCommentText = ''; $('#id_mimetype').on('load', jotSetMime); $('#id_mimetype').on('change', jotSetMime); + $('#jot-add-option').on('click', jotAddOption); + $(document).on('click', '.poll-option-close', jotRemoveOption); + function jotSetMime() { var mtype = $('#id_mimetype').val(); if(mtype == 'text/bbcode') @@ -122,6 +125,7 @@ var activeCommentText = ''; activeCommentID = 0; }, }); + }); function deleteCheckedItems() { @@ -309,6 +313,7 @@ var activeCommentText = ''; function itemCancel() { $("#jot-title").val(''); $("#profile-jot-text").val(''); + $(".jot-poll-option input").val(''); $("#jot-category").tagsinput('removeAll'); postSaveChanges('clean'); @@ -317,6 +322,7 @@ var activeCommentText = ''; $(".jothidden").hide(); $("#profile-jot-text").removeClass('jot-expanded'); $("#profile-jot-tools").addClass('d-none'); + $("#jot-poll-wrap").addClass('d-none'); $("#jot-preview-content").html('').hide(); editor = false; {{else}} @@ -512,6 +518,19 @@ var activeCommentText = ''; } + function initPoll() { + $('#jot-poll-wrap').toggleClass('d-none'); + } + + function jotAddOption() { + var option = '<div class="jot-poll-option form-group"><input class="w-100 border-0" name="poll_answers[]" type="text" value="" placeholder="Option"><div class="poll-option-close"><i class="fa fa-close"></i></div></div>'; + $('#jot-poll-options').append(option); + } + + function jotRemoveOption(e) { + $(this).closest('.jot-poll-option').remove(); + } + </script> <script> diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl index b4616db6d..36543ccfa 100755 --- a/view/tpl/jot.tpl +++ b/view/tpl/jot.tpl @@ -1,6 +1,6 @@ <input id="invisible-wall-file-upload" type="file" name="files" style="visibility:hidden;position:absolute;top:-50;left:-50;width:0;height:0;" multiple> <input id="invisible-comment-upload" type="file" name="files" style="visibility:hidden;position:absolute;top:-50;left:-50;width:0;height:0;" multiple> -<form id="profile-jot-form" action="{{$action}}" method="post" class="acl-form" data-form_id="profile-jot-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'> +<form id="profile-jot-form" action="{{$action}}" method="post" class="acl-form" data-form_id="profile-jot-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}' data-bang='{{$bang}}'> {{$mimeselect}} {{$layoutselect}} {{if $id_select}} @@ -30,15 +30,15 @@ {{if $webpage}} <div id="jot-pagetitle-wrap" class="jothidden"> - <input name="pagetitle" id="jot-pagetitle" type="text" placeholder="{{$placeholdpagetitle}}" value="{{$pagetitle}}"> + <input class="w-100 border-0" name="pagetitle" id="jot-pagetitle" type="text" placeholder="{{$placeholdpagetitle}}" value="{{$pagetitle}}"> </div> {{/if}} <div id="jot-title-wrap" class="jothidden"> - <input name="title" id="jot-title" type="text" placeholder="{{$placeholdertitle}}" tabindex="1" value="{{$title}}"> + <input class="w-100 border-0" name="title" id="jot-title" type="text" placeholder="{{$placeholdertitle}}" tabindex="1" value="{{$title}}"> </div> {{if $catsenabled}} <div id="jot-category-wrap" class="jothidden"> - <input name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" data-role="cat-tagsinput"> + <input class="w-100 border-0" name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" data-role="cat-tagsinput"> </div> {{/if}} <div id="jot-text-wrap"> @@ -59,6 +59,34 @@ <input class="jot-attachment" name="attachment" id="jot-attachment" type="text" value="{{$attachment}}" readonly="readonly" onclick="this.select();"> </div> {{/if}} + <div id="jot-poll-wrap" class="p-2 d-none"> + <div id="jot-poll-options"> + <div class="jot-poll-option form-group"> + <input class="w-100 border-0" name="poll_answers[]" type="text" value="" placeholder="{{$poll_option_label}}"> + </div> + <div class="jot-poll-option form-group"> + <input class="w-100 border-0" name="poll_answers[]" type="text" value="" placeholder="{{$poll_option_label}}"> + </div> + </div> + {{include file="field_checkbox.tpl" field=$multiple_answers}} + <div id="jot-poll-tools" class="clearfix"> + <div id="poll-tools-left" class="float-left"> + <button id="jot-add-option" class="btn btn-outline-secondary btn-sm" type="button"> + <i class="fa fa-plus"></i> {{$poll_add_option_label}} + </button> + </div> + <div id="poll-tools-right" class="float-right"> + <div class="input-group"> + <input type="text" name="poll_expire_value" class="form-control" value="10" size="3"> + <select class="form-control" id="duration-select" name="poll_expire_unit"> + <option value="Minutes">{{$poll_expire_unit_label.0}}</option> + <option value="Hours">{{$poll_expire_unit_label.1}}</option> + <option value="Days" selected="selected">{{$poll_expire_unit_label.2}}</option> + </select> + </div> + </div> + </div> + </div> <div id="profile-jot-submit-wrapper" class="clearfix p-2 jothidden"> <div id="profile-jot-submit-left" class="btn-toolbar float-left"> {{if $bbcode}} @@ -123,15 +151,13 @@ </button> {{/if}} {{if $feature_encrypt}} - <button id="profile-encrypt-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$encrypt}}" onclick="red_encrypt('{{$cipher}}','#profile-jot-text',$('#profile-jot-text').val());return false;"> + <button id="profile-encrypt-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$encrypt}}" onclick="hz_encrypt('{{$cipher}}','#profile-jot-text');return false;"> <i id="profile-encrypt" class="fa fa-key jot-icons"></i> </button> {{/if}} - {{if $feature_voting}} - <button id="profile-voting-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$voting}}" onclick="toggleVoting();return false;"> - <i id="profile-voting" class="fa fa-square-o jot-icons"></i> + <button type="button" id="profile-poll-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$poll}}" onclick="initPoll();"> + <i id="profile-poll" class="fa fa-bar-chart jot-icons"></i> </button> - {{/if}} {{if $feature_nocomment}} <button id="profile-nocomment-wrapper" class="btn btn-outline-secondary btn-sm" title="{{$nocommenttitle}}" onclick="toggleNoComment();return false;"> <i id="profile-nocomment" class="fa fa-comments jot-icons"></i> @@ -141,7 +167,7 @@ {{$custommoretoolsbuttons}} {{/if}} </div> - {{if $writefiles || $weblink || $setloc || $clearloc || $feature_expire || $feature_encrypt || $feature_voting || $custommoretoolsdropdown}} + {{if $writefiles || $weblink || $setloc || $clearloc || $feature_expire || $feature_encrypt || $custommoretoolsdropdown}} <div class="btn-group d-lg-none"> <button type="button" id="more-tools" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <i id="more-tools-icon" class="fa fa-cog jot-icons"></i> @@ -171,11 +197,9 @@ <a class="dropdown-item" href="#" onclick="jotGetPubDate();return false;"><i class="fa fa-clock-o"></i> {{$future_txt}}</a> {{/if}} {{if $feature_encrypt}} - <a class="dropdown-item" href="#" onclick="red_encrypt('{{$cipher}}','#profile-jot-text',$('#profile-jot-text').val());return false;"><i class="fa fa-key"></i> {{$encrypt}}</a> - {{/if}} - {{if $feature_voting}} - <a class="dropdown-item" href="#" onclick="toggleVoting(); return false;"><i id="profile-voting-sub" class="fa fa-square-o"></i> {{$voting}}</a> + <a class="dropdown-item" href="#" onclick="hz_encrypt('{{$cipher}}','#profile-jot-text');return false;"><i class="fa fa-key"></i> {{$encrypt}}</a> {{/if}} + <a class="dropdown-item" href="#" onclick="initPoll(); return false"><i id="profile-poll" class="fa fa-bar-chart jot-icons"></i> {{$poll}}</a> {{if $feature_nocomment}} <a class="dropdown-item" href="#" onclick="toggleNoComment(); return false;"><i id="profile-nocomment-sub" class="fa fa-comments"></i> {{$nocommenttitlesub}}</a> {{/if}} diff --git a/view/tpl/js_strings.tpl b/view/tpl/js_strings.tpl index 0a9cf9519..58426e20c 100755 --- a/view/tpl/js_strings.tpl +++ b/view/tpl/js_strings.tpl @@ -33,9 +33,12 @@ 'name_empty' : "{{$name_empty}}", 'name_ok1' : "{{$name_ok1}}", 'name_ok2' : "{{$name_ok2}}", - 'to_reply' : "{{$to_reply}}", + 'to_reply' : "{{$to_reply}}", + 'pinned' : "{{$pinned}}", + 'pin_item' : "{{$pin_item}}", + 'unpin_item' : "{{$unpin_item}}", - 'plural_func' : "{{$plural_func}}", + 'plural_func' : "{{$plural_func}}", 't01' : "{{$t01}}", 't02' : "{{$t02}}", diff --git a/view/tpl/micropro_card.tpl b/view/tpl/micropro_card.tpl index a3c693dbd..058bfc14c 100644 --- a/view/tpl/micropro_card.tpl +++ b/view/tpl/micropro_card.tpl @@ -1,5 +1,5 @@ <a class="list-group-item{{if $class}} {{$class}}{{/if}} fakelink" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}}> - <img class="menu-img-3" src="{{$photo}}" title="{{$title}}" alt="" />{{if $oneway}}<i class="fa fa-fw fa-minus-circle oneway-overlay text-danger"></i>{{/if}} + <img class="menu-img-3" src="{{$photo}}" title="{{$title}}" alt="" />{{if $perminfo}}{{include "connstatus.tpl"}}{{/if}} <span class="contactname">{{$name}}</span> <span class="dropdown-sub-text">{{$addr}}<br>{{$network}}</span> </a> diff --git a/view/tpl/micropro_img.tpl b/view/tpl/micropro_img.tpl index 7464430b5..5bfca615f 100755 --- a/view/tpl/micropro_img.tpl +++ b/view/tpl/micropro_img.tpl @@ -1 +1 @@ -<div class="contact-block-div{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}}><img class="contact-block-img{{if $class}} {{$class}}{{/if}}" src="{{$photo}}" title="{{$title}}" alt="" />{{if $oneway}}<i class="fa fa-fw fa-minus-circle oneway-overlay text-danger"></i>{{/if}}</a></div> +<div class="contact-block-div{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}}><img class="contact-block-img{{if $class}} {{$class}}{{/if}}" src="{{$photo}}" title="{{$title}}" alt="" loading="lazy" />{{if $perminfo}}{{include "connstatus.tpl"}}{{/if}}</a></div> diff --git a/view/tpl/notifications_widget.tpl b/view/tpl/notifications_widget.tpl index bc7f80906..1a24ca7c4 100644 --- a/view/tpl/notifications_widget.tpl +++ b/view/tpl/notifications_widget.tpl @@ -36,12 +36,12 @@ var path = $(this)[0].pathname.substr(1,7); var stateObj = { b64mid: b64mid }; - if(b64mid === 'undefined' && notify_id === 'undefined') + if(! b64mid && ! notify_id) return; {{if $module != 'hq' && $startpage == 'hq'}} e.preventDefault(); - if(typeof notify_id !== 'undefined' && notify_id !== 'undefined') { + if(notify_id != null) { $.post( "hq", { @@ -61,7 +61,7 @@ {{/if}} {{if $module == 'hq'}} - if(b64mid !== 'undefined') { + if(b64mid) { {{else}} if(path === 'display' && b64mid) { {{/if}} @@ -81,20 +81,26 @@ {{foreach $notifications as $notification}} {{if $notification.filter}} $(document).on('click', '#tt-{{$notification.type}}-only', function(e) { - e.preventDefault(); - $('#nav-{{$notification.type}}-menu [data-thread_top=false]').toggle(); - $(this).toggleClass('active sticky-top'); + if($(this).hasClass('active sticky-top')) { + $('#nav-{{$notification.type}}-menu .notification[data-thread_top=false]').removeClass('tt-filter-active'); + $(this).removeClass('active sticky-top'); + } + else { + $('#nav-{{$notification.type}}-menu .notification[data-thread_top=false]').addClass('tt-filter-active'); + $(this).addClass('active sticky-top'); + } + }); - $(document).on('click ', '#cn-{{$notification.type}}-input-clear', function(e) { + $(document).on('click', '#cn-{{$notification.type}}-input-clear', function(e) { $('#cn-{{$notification.type}}-input').val(''); $('#cn-{{$notification.type}}-only').removeClass('active sticky-top'); - $("#nav-{{$notification.type}}-menu .notification").removeClass('d-none'); + $("#nav-{{$notification.type}}-menu .notification").removeClass('cn-filter-active'); $('#cn-{{$notification.type}}-input-clear').addClass('d-none'); }); $(document).on('input', '#cn-{{$notification.type}}-input', function(e) { var val = $('#cn-{{$notification.type}}-input').val().toString().toLowerCase(); - if(val) { + val = val.indexOf('%') == 0 ? val.substring(1) : val; $('#cn-{{$notification.type}}-only').addClass('active sticky-top'); $('#cn-{{$notification.type}}-input-clear').removeClass('d-none'); } @@ -108,15 +114,16 @@ var ca = $(el).data('contact_addr').toString().toLowerCase(); if(cn.indexOf(val) === -1 && ca.indexOf(val) === -1) - $(this).addClass('d-none'); + $(this).addClass('cn-filter-active'); else - $(this).removeClass('d-none'); + $(this).removeClass('cn-filter-active'); }); }); {{/if}} {{/foreach}} function getData(b64mid, notify_id) { + $(document).scrollTop(0); $('.thread-wrapper').remove(); bParam_mid = b64mid; mode = 'replace'; @@ -135,30 +142,31 @@ {{$no_notifications}}<span class="jumping-dots"><span class="dot-1">.</span><span class="dot-2">.</span><span class="dot-3">.</span></span> </div> <div id="nav-notifications-template" rel="template"> - <a class="list-group-item clearfix notification {6}" href="{0}" title="{3}" data-b64mid="{7}" data-notify_id="{8}" data-thread_top="{9}" data-contact_name="{2}" data-contact_addr="{3}"> - <img class="menu-img-3" data-src="{1}"> - <span class="contactname">{2}</span> - <span class="dropdown-sub-text">{4}<br>{5}</span> + <a class="list-group-item text-decoration-none text-darkclearfix notification {6}" href="{0}" title="{13}" data-b64mid="{7}" data-notify_id="{8}" data-thread_top="{9}" data-contact_name="{2}" data-contact_addr="{3}" data-when="{5}"> + <img class="menu-img-3" data-src="{1}" loading="lazy"> + <div class="contactname"><span class="text-dark font-weight-bold">{2}</span> <span class="text-muted">{3}</span></div> + <span class="text-muted">{4}</span><br> + <span class="text-muted notifications-autotime" title="{5}">{5}</span> </a> </div> <div id="nav-notifications-forums-template" rel="template"> - <a class="list-group-item clearfix notification notification-forum" href="{0}" title="{4} - {3}" data-b64mid="{7}" data-notify_id="{8}" data-thread_top="{9}" data-contact_name="{2}" data-contact_addr="{3}"> - <span class="float-right badge badge-{{$notification.severity}}">{10}</span> - <img class="menu-img-1" data-src="{1}"> + <a class="list-group-item text-decoration-none clearfix notification notification-forum" href="{0}" title="{4} - {3}" data-b64mid="{7}" data-notify_id="{8}" data-thread_top="{9}" data-contact_name="{2}" data-contact_addr="{3}" data-b64mids='{12}'> + <span class="float-right badge badge-secondary">{10}</span> + <img class="menu-img-1" data-src="{1}" loading="lazy"> <span class="">{2}</span> <i class="fa fa-{11} text-muted"></i> </a> </div> - <div id="notifications" class="navbar-nav"> + <div id="notifications" class="border border-bottom-0 rounded navbar-nav collapse"> {{foreach $notifications as $notification}} - <div class="collapse {{$notification.type}}-button"> - <a class="list-group-item notification-link" href="#" title="{{$notification.title}}" data-target="#nav-{{$notification.type}}-sub" data-toggle="collapse" data-type="{{$notification.type}}"> + <div class="rounded list-group list-group-flush collapse {{$notification.type}}-button"> + <a id="notification-link-{{$notification.type}}" class="collapsed list-group-item text-decoration-none notification-link" href="#" title="{{$notification.title}}" data-target="#nav-{{$notification.type}}-sub" data-toggle="collapse" data-sse_type="{{$notification.type}}"> <i class="fa fa-fw fa-{{$notification.icon}}"></i> {{$notification.label}} <span class="float-right badge badge-{{$notification.severity}} {{$notification.type}}-update"></span> </a> - <div id="nav-{{$notification.type}}-sub" class="collapse notification-content" data-parent="#notifications" data-type="{{$notification.type}}"> + <div id="nav-{{$notification.type}}-sub" class="list-group list-group-flush border border-left-0 border-top-0 border-right-0 collapse notification-content" data-parent="#notifications" data-sse_type="{{$notification.type}}"> {{if $notification.viewall}} - <a class="list-group-item text-dark" id="nav-{{$notification.type}}-see-all" href="{{$notification.viewall.url}}"> + <a class="list-group-item text-decoration-none text-dark" id="nav-{{$notification.type}}-see-all" href="{{$notification.viewall.url}}"> <i class="fa fa-fw fa-external-link"></i> {{$notification.viewall.label}} </a> {{/if}} @@ -176,14 +184,16 @@ {{if $notification.filter.name_label}} <div class="list-group-item clearfix notifications-textinput" id="cn-{{$notification.type}}-only"> <div class="text-muted notifications-textinput-filter"><i class="fa fa-fw fa-filter"></i></div> - <input id="cn-{{$notification.type}}-input" type="text" class="form-control form-control-sm" placeholder="{{$notification.filter.name_label}}"> + <input id="cn-{{$notification.type}}-input" type="text" class="notification-filter form-control form-control-sm" placeholder="{{$notification.filter.name_label}}"> <div id="cn-{{$notification.type}}-input-clear" class="text-muted notifications-textinput-clear d-none"><i class="fa fa-times"></i></div> </div> {{/if}} {{/if}} - <div id="nav-{{$notification.type}}-menu" class=""> + <div id="nav-{{$notification.type}}-menu" class="list-group list-group-flush"></div> + <div id="nav-{{$notification.type}}-loading" class="list-group-item" style="display: none;"> {{$loading}}<span class="jumping-dots"><span class="dot-1">.</span><span class="dot-2">.</span><span class="dot-3">.</span></span> </div> + </div> </div> {{/foreach}} diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl index de59809f4..eb16bcc98 100755 --- a/view/tpl/photo_album.tpl +++ b/view/tpl/photo_album.tpl @@ -23,7 +23,7 @@ {{foreach $photos as $photo}} {{include file="photo_top.tpl"}} {{/foreach}} - <div id="page-end"></div> + <span id="page-end"></span> </div> </div> </div> diff --git a/view/tpl/photo_top.tpl b/view/tpl/photo_top.tpl index a86aa7f80..16862a8d6 100755 --- a/view/tpl/photo_top.tpl +++ b/view/tpl/photo_top.tpl @@ -1,4 +1,4 @@ <a href="{{$photo.link}}" id="photo-top-photo-link-{{$photo.id}}" title="{{$photo.title}}"> - <img src="{{$photo.src}}" alt="{{if $photo.album.name}}{{$photo.album.name}}{{elseif $photo.desc}}{{$photo.desc}}{{elseif $photo.alt}}{{$photo.alt}}{{else}}{{$photo.unknown}}{{/if}}" title="{{$photo.title}}" id="photo-top-photo-{{$photo.id}}" /> + <img src="{{$photo.src}}" alt="{{if $photo.album.name}}{{$photo.album.name}}{{elseif $photo.desc}}{{$photo.desc}}{{elseif $photo.alt}}{{$photo.alt}}{{else}}{{$photo.unknown}}{{/if}}" title="{{$photo.title}}" id="photo-top-photo-{{$photo.id}}" loading="lazy" /> </a> diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl index d24b362f8..1e2f22e33 100755 --- a/view/tpl/photos_recent.tpl +++ b/view/tpl/photos_recent.tpl @@ -14,7 +14,7 @@ {{foreach $photos as $photo}} {{include file="photo_top.tpl"}} {{/foreach}} - <div id="page-end"></div> + <span id="page-end"></span> </div> </div> </div> diff --git a/view/tpl/pinned_item.tpl b/view/tpl/pinned_item.tpl new file mode 100644 index 000000000..a24c4ae44 --- /dev/null +++ b/view/tpl/pinned_item.tpl @@ -0,0 +1,198 @@ +{{if $hide}} +<script> + function dopinhide(id) { + id = id.toString(); + if($('#pinned-wrapper-' + id).length) { + $('#pinned-wrapper-' + id).fadeTo('fast', 0.33, function() { this.remove(); }); + $.post('pin/hide', { 'id' : id }); + } + } +</script> +{{/if}} +<div id="pinned-wrapper-{{$id}}" class="pinned-item thread-wrapper toplevel_item generic-content-wrapper h-entry" data-b64mids='{{$mids}}'> + <div class="wall-item-outside-wrapper" id="pinned-item-outside-wrapper-{{$id}}"> + <div class="clearfix wall-item-content-wrapper" id="pinned-item-content-wrapper-{{$id}}"> + {{if $photo}} + <div class="wall-photo-item" id="pinned-photo-item-{{$id}}"> + {{$photo}} + </div> + {{/if}} + {{if $event}} + <div class="wall-event-item" id="pinned-event-item-{{$id}}"> + {{$event}} + </div> + {{/if}} + {{if $title && !$event}} + <div class="p-2{{if $is_new}} bg-primary text-white{{/if}} wall-item-title h3{{if !$photo}} rounded-top{{/if}}" id="pinned-item-title-{{$id}}"> + {{if $title_tosource}} + {{if $plink}} + <a href="{{$plink.href}}" title="{{$title}} ({{$plink.title}})" rel="nofollow"> + {{/if}} + {{/if}} + {{$title}} + {{if $title_tosource}} + {{if $plink}} + </a> + {{/if}} + {{/if}} + </div> + {{if ! $is_new}} + <hr class="m-0"> + {{/if}} + {{/if}} + <div class="p-2 clearfix wall-item-head{{if !$title && !$event && !$photo}} rounded-top{{/if}}{{if $is_new && !$event}} wall-item-head-new{{/if}}"> + <span class="float-right" title="{{$pinned}}"><i class="fa fa-thumb-tack"> </i></span> + <div class="wall-item-info" id="pinned-item-info-{{$id}}" > + <div class="wall-item-photo-wrapper{{if $owner_url}} wwfrom{{/if}} h-card p-author" id="pinned-item-photo-wrapper-{{$id}}"> + <img src="{{$thumb}}" class="fakelink wall-item-photo u-photo p-name" id="pinned-item-photo-{{$id}}" alt="{{$name}}" data-toggle="dropdown" /> + {{if $thread_author_menu}} + <i class="fa fa-caret-down wall-item-photo-caret cursor-pointer" data-toggle="dropdown"></i> + <div class="dropdown-menu"> + {{foreach $thread_author_menu as $mitem}} + <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} >{{$mitem.title}}</a> + {{/foreach}} + </div> + {{/if}} + </div> + </div> + <div class="wall-item-author"> + <a href="{{$profile_url}}" title="{{$linktitle}}" class="wall-item-name-link u-url"><span class="wall-item-name" id="pinned-item-name-{{$id}}" >{{$name}}</span></a>{{if $owner_url}} {{$via}} <a href="{{$owner_url}}" title="{{$olinktitle}}" class="wall-item-name-link"><span class="wall-item-name" id="pinned-item-ownername-{{$id}}">{{$owner_name}}</span></a>{{/if}} + </div> + <div class="wall-item-ago" id="pinned-item-ago-{{$id}}"> + {{if $verified}}<i class="fa fa-check item-verified" title="{{$verified}}"></i> {{elseif $forged}}<i class="fa fa-exclamation item-forged" title="{{$forged}}"></i> {{/if}}{{if $location}}<span class="wall-item-location p-location" id="pinned-item-location-{{$id}}">{{$location}}, </span>{{/if}}<span class="autotime" title="{{$isotime}}"><time class="dt-published" datetime="{{$isotime}}">{{$localtime}}</time>{{if $editedtime}} {{$editedtime}}{{/if}}{{if $expiretime}} {{$expiretime}}{{/if}}</span>{{if $editedtime}} <i class="fa fa-pencil"></i>{{/if}} {{if $app}}<span class="item.app">{{$str_app}}</span>{{/if}} + </div> + </div> + {{if $divider}} + <hr class="wall-item-divider"> + {{/if}} + {{if $body}} + <div class="p-2 wall-item-content clearfix" id="pinned-item-content-{{$id}}"> + <div class="wall-item-body e-content" id="pinned-item-body-{{$id}}" > + {{$body}} + </div> + </div> + {{/if}} + {{if $has_tags}} + <div class="p-2 wall-item-tools clearfix"> + <div class="body-tags"> + <span class="tag">{{$mentions}} {{$tags}} {{$categories}} {{$folders}}</span> + </div> + </div> + {{/if}} + <div class="p-2 clearfix wall-item-tools"> + <div class="float-right wall-item-tools-right"> + <div class="btn-group"> + <div id="pinned-rotator-{{$id}}" class="spinner-wrapper"> + <div class="spinner s"></div> + </div> + </div> + <div class="btn-group"> + {{if $isevent}} + <div class="btn-group"> + <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-toggle="dropdown" id="pinned-item-attend-menu-{{$id}}" title="{{$attend_title}}"> + <i class="fa fa-calendar-check-o"></i> + </button> + <div class="dropdown-menu dropdown-menu-right"> + <a class="dropdown-item" href="#" title="{{$attend.0}}" onclick="itemAddToCal({{$id}}); dolike({{$id}},'attendyes'); return false;"> + <i class="item-act-list fa fa-check{{if $my_responses.attend}} ivoted{{/if}}" ></i> {{$attend.0}} + </a> + <a class="dropdown-item" href="#" title="{{$attend.1}}" onclick="itemAddToCal({{$id}}), dolike({{$id}},'attendno'); return false;"> + <i class="item-act-list fa fa-times{{if $my_responses.attendno}} ivoted{{/if}}" ></i> {{$attend.1}} + </a> + <a class="dropdown-item" href="#" title="{{$attend.2}}" onclick="itemAddToCal({{$id}}); dolike({{$id}},'attendmaybe'); return false;"> + <i class="item-act-list fa fa-question{{if $my_responses.attendmaybe}} ivoted{{/if}}" ></i> {{$attend.2}} + </a> + </div> + </div> + {{/if}} + {{if $canvote}} + <div class="btn-group"> + <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-toggle="dropdown" id="pinned-item-consensus-menu-{{$id}}" title="{{$vote_title}}"> + <i class="fa fa-check-square-o"></i> + </button> + <div class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="wall-item-consensus-menu-{{$id}}"> + <a class="dropdown-item" href="#" title="{{$conlabels.0}}" onclick="dolike({{$id}},'agree'); return false;"> + <i class="item-act-list fa fa-check{{if $my_responses.agree}} ivoted{{/if}}" ></i> {{$conlabels.0}} + </a> + <a class="dropdown-item" href="#" title="{{$conlabels.1}}" onclick="dolike({{$id}},'disagree'); return false;"> + <i class="item-act-list fa fa-times{{if $my_responses.disagree}} ivoted{{/if}}" ></i> {{$conlabels.1}} + </a> + <a class="dropdown-item" href="#" title="{{$conlabels.2}}" onclick="dolike({{$id}},'abstain'); return false;"> + <i class="item-act-list fa fa-question{{if $my_responses.abstain}} ivoted{{/if}}" ></i> {{$conlabels.2}} + </a> + </div> + </div> + {{/if}} + <div class="btn-group"> + <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-toggle="dropdown" id="pinned-item-menu-{{$id}}"> + <i class="fa fa-cog"></i> + </button> + <div class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="wall-item-menu-{{$id}}"> + {{if $share}} + <a class="dropdown-item" href="#" onclick="jotShare({{$id}},{{$item_type}}); return false;"><i class="generic-icons-nav fa fa-fw fa-retweet" title="{{$share.0}}"></i>{{$share.0}}</a> + {{/if}} + {{if $embed}} + <a class="dropdown-item" href="#" onclick="jotEmbed({{$id}},{{$item_type}}); return false;"><i class="generic-icons-nav fa fa-fw fa-share" title="{{$embed.0}}"></i>{{$embed.0}}</a> + {{/if}} + {{if $plink}} + <a class="dropdown-item" href="{{$plink.href}}" title="{{$plink.title}}" class="u-url"><i class="generic-icons-nav fa fa-fw fa-external-link"></i>{{$plink.title}}</a> + {{/if}} + {{if $pinme}} + <a class="dropdown-item dropdown-item-pinnable" href="#" onclick="dopin({{$id}}); return false;"><i class="generic-icons-nav fa fa-fw fa-thumb-tack"></i>{{$pinme}}</a> + {{/if}} + {{if $hide}} + <a class="dropdown-item" href="#" onclick="dopinhide({{$id}}); return false;" class="u-url"><i class="generic-icons-nav fa fa-fw fa-remove"></i>{{$hide}}</a> + {{/if}} + </div> + </div> + </div> + </div> + {{if $responses || $attachments}} + <div class="wall-item-tools-left btn-group" id="pinned-item-tools-left-{{$id}}"> + {{if $attachments}} + <div class="wall-item-tools-left btn-group" id="pinned-item-tools-left-{{$id}}"> + <div class="btn-group"> + <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like dropdown-toggle" data-toggle="dropdown" id="pinned-attachment-menu-{{$id}}"> + <i class="fa fa-paperclip"></i> + </button> + <div class="dropdown-menu">{{$attachments}}</div> + </div> + </div> + {{/if}} + {{foreach $responses as $verb=>$response}} + {{if $response.count}} + <div class="btn-group"> + <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like dropdown-toggle"{{if $response.modal}} data-toggle="modal" data-target="#{{$verb}}Modal-{{$id}}"{{else}} data-toggle="dropdown"{{/if}} id="pinned-item-{{$verb}}-{{$id}}">{{$response.count}} {{$response.button}}</button> + {{if $response.modal}} + <div class="modal" id="pinned-{{$verb}}Modal-{{$id}}"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <h3 class="modal-title">{{$response.count}} {{$response.button}}</h3> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> + </div> + <div class="modal-body response-list"> + <ul class="nav nav-pills flex-column"> + {{foreach $response.list as $liker}}<li class="nav-item">{{$liker}}</li>{{/foreach}} + </ul> + </div> + <div class="modal-footer clear"> + <button type="button" class="btn btn-outline-secondary" data-dismiss="modal">{{$modal_dismiss}}</button> + </div> + </div> + </div> + </div> + {{else}} + <div class="dropdown-menu"> + {{foreach $response.list as $liker}}{{$liker}}{{/foreach}} + </div> + {{/if}} + </div> + {{/if}} + {{/foreach}} + </div> + {{/if}} + </div> + </div> + </div> +</div> diff --git a/view/tpl/profile_edit.tpl b/view/tpl/profile_edit.tpl index c967fa02c..8add9bb9d 100755 --- a/view/tpl/profile_edit.tpl +++ b/view/tpl/profile_edit.tpl @@ -294,7 +294,11 @@ {{if $fields.sexual}} <div id="profile-edit-sexual-wrapper" class="form-group field" > <label id="profile-edit-sexual-label" for="sexual-select" >{{$lbl_sexual}}</label> + {{if $advanced}} {{$sexual}} + {{else}} + {{$sexual_min}} + {{/if}} </div> <div class="clear"></div> {{/if}} diff --git a/view/tpl/removeaccount.tpl b/view/tpl/removeaccount.tpl index ce6c8ac22..6cd554082 100644 --- a/view/tpl/removeaccount.tpl +++ b/view/tpl/removeaccount.tpl @@ -12,7 +12,9 @@ <label id="remove-account-pass-label" for="remove-account-pass">{{$passwd}}</label> <input class="form-control" type="password" id="remove-account-pass" autocomplete="off" name="qxz_password" value=" " /> </div> + {{if $global}} {{include file="field_checkbox.tpl" field=$global}} + {{/if}} <button type="submit" name="submit" class="btn btn-danger">{{$submit}}</button> </form> </div> diff --git a/view/tpl/removeme.tpl b/view/tpl/removeme.tpl index 40b9546d2..814701fff 100755 --- a/view/tpl/removeme.tpl +++ b/view/tpl/removeme.tpl @@ -12,7 +12,9 @@ <label id="remove-account-pass-label" for="remove-account-pass">{{$passwd}}</label> <input class="form-control" type="password" id="remove-account-pass" autocomplete="off" name="qxz_password" value=" " /> </div> + {{if $global}} {{include file="field_checkbox.tpl" field=$global}} + {{/if}} <button type="submit" name="submit" class="btn btn-danger">{{$submit}}</button> </form> </div> diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl index 3197fb893..3e986ea21 100755 --- a/view/tpl/search_item.tpl +++ b/view/tpl/search_item.tpl @@ -1,4 +1,4 @@ -<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} clearfix generic-content-wrapper{{/if}}"> +<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} clearfix generic-content-wrapper{{/if}}" data-b64mids='{{$item.mids}}'> <a name="{{$item.id}}" ></a> <div class="clearfix wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" > <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}"> @@ -23,7 +23,7 @@ <div class="p-2 clearfix wall-item-head{{if !$item.title && !$item.event && !$item.photo}} rounded-top{{/if}}{{if $item.is_new && !$item.event && !$item.is_comment}} wall-item-head-new{{/if}}" > <div class="wall-item-info" id="wall-item-info-{{$item.id}}" > <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}"> - <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" data-toggle="dropdown" /> + <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" data-toggle="dropdown" loading="lazy" /> {{if $item.thread_author_menu}} <i class="fa fa-caret-down wall-item-photo-caret cursor-pointer" data-toggle="dropdown"></i> <div class="dropdown-menu"> @@ -41,7 +41,7 @@ {{/if}} <div class="wall-item-author"> {{if $item.previewing}}<span class="preview-indicator"><i class="fa fa-eye" title="{{$item.preview_lbl}}"></i></span> {{/if}} - <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}} + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" ><bdi>{{$item.name}}</bdi></span></a>{{if $item.owner_url}} {{$item.via}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}"><bdi>{{$item.owner_name}}</bdi></span></a>{{/if}} </div> <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}"> {{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i> {{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i> {{/if}}{{if $item.location}}<span class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}, </span>{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}} <i class="fa fa-pencil"></i>{{/if}} {{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}} |