diff options
Diffstat (limited to 'view/tpl')
-rwxr-xr-x | view/tpl/acl_selector.tpl | 13 | ||||
-rwxr-xr-x | view/tpl/admin_plugins_details.tpl | 3 | ||||
-rwxr-xr-x | view/tpl/admin_security.tpl | 3 | ||||
-rwxr-xr-x | view/tpl/admin_site.tpl | 9 | ||||
-rw-r--r-- | view/tpl/cloud_actionspanel.tpl | 1 | ||||
-rwxr-xr-x | view/tpl/comment_item.tpl | 2 | ||||
-rwxr-xr-x | view/tpl/contact_block.tpl | 23 | ||||
-rwxr-xr-x | view/tpl/cover_photo_widget.tpl | 51 | ||||
-rwxr-xr-x | view/tpl/field_combobox.tpl | 10 | ||||
-rwxr-xr-x | view/tpl/field_themeselect.tpl | 10 | ||||
-rwxr-xr-x | view/tpl/filer_dialog.tpl | 2 | ||||
-rwxr-xr-x | view/tpl/install_settings.tpl | 2 | ||||
-rwxr-xr-x | view/tpl/jot-header.tpl | 25 | ||||
-rwxr-xr-x | view/tpl/jot.tpl | 157 | ||||
-rwxr-xr-x | view/tpl/msg-header.tpl | 53 | ||||
-rwxr-xr-x | view/tpl/nav.tpl | 43 | ||||
-rwxr-xr-x | view/tpl/photo_view.tpl | 3 | ||||
-rwxr-xr-x | view/tpl/profed_head.tpl | 36 | ||||
-rwxr-xr-x | view/tpl/settings_account.tpl | 7 | ||||
-rw-r--r-- | view/tpl/sitesearch.tpl | 5 | ||||
-rw-r--r-- | view/tpl/webpage_export_list.tpl | 124 | ||||
-rw-r--r-- | view/tpl/website_import_tools.tpl | 37 | ||||
-rw-r--r-- | view/tpl/website_portation_tools.tpl | 72 | ||||
-rw-r--r-- | view/tpl/zcard_embed.tpl | 4 |
24 files changed, 442 insertions, 253 deletions
diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl index 70ef4469a..dbdbd6a56 100755 --- a/view/tpl/acl_selector.tpl +++ b/view/tpl/acl_selector.tpl @@ -27,16 +27,6 @@ </div> {{/if}} - {{if $jotnets}} - <div class="jotnets-wrapper" role="tab" id="jotnets-wrapper"> - <a data-toggle="collapse" class="btn btn-block btn-default" href="#jotnets-collapse" aria-expanded="false" aria-controls="jotnets-collapse">{{$jnetModalTitle}} <span class="caret"></span></a> - </div> - <div id="jotnets-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="acl-select"> - {{$jotnets}} - <div class="clear"></div> - </div> - {{/if}} - <div id="acl-wrapper"> <div id="acl-list"> <div id="acl-search-wrapper"> @@ -47,13 +37,14 @@ <div id="acl-list-content"></div> </div> </div> - <span id="acl-fields"></span> </div> + <div class="acl-list-item" rel="acl-template" style="display:none"> <img data-src="{0}"><p>{1}</p> <button class="acl-button-hide btn btn-xs btn-default"><i class="fa fa-times"></i> {{$hide}}</button> <button class="acl-button-show btn btn-xs btn-default"><i class="fa fa-check"></i> {{$show}}</button> </div> + </div> <div class="modal-footer clear"> <button type="button" class="btn btn-default" data-dismiss="modal">{{$aclModalDismiss}}</button> diff --git a/view/tpl/admin_plugins_details.tpl b/view/tpl/admin_plugins_details.tpl index b8cc72a04..309fc9569 100755 --- a/view/tpl/admin_plugins_details.tpl +++ b/view/tpl/admin_plugins_details.tpl @@ -24,6 +24,9 @@ {{if $info.minphpversion}} <p class="versionlimit">{{$str_minphpversion}}{{$info.minphpversion}}</p> {{/if}} + {{if $info.serverroles}} + <p class="versionlimit">{{$str_serverroles}}{{$info.serverroles}}</p> + {{/if}} {{if $info.requires}} <p class="versionlimit">{{$str_requires}}{{$info.requires}}</p> {{/if}} diff --git a/view/tpl/admin_security.tpl b/view/tpl/admin_security.tpl index 721b5f38f..409e9fc7d 100755 --- a/view/tpl/admin_security.tpl +++ b/view/tpl/admin_security.tpl @@ -11,6 +11,9 @@ {{include file="field_checkbox.tpl" field=$content_security}} {{include file="field_checkbox.tpl" field=$embed_sslonly}} + {{include file="field_textarea.tpl" field=$allowed_email}} + {{include file="field_textarea.tpl" field=$not_allowed_email}} + {{include file="field_textarea.tpl" field=$whitelisted_sites}} {{include file="field_textarea.tpl" field=$blacklisted_sites}} diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl index 6b8729ee6..a5b32f08f 100755 --- a/view/tpl/admin_site.tpl +++ b/view/tpl/admin_site.tpl @@ -41,6 +41,13 @@ <input type='hidden' name='form_security_token' value='{{$form_security_token}}'> {{include file="field_input.tpl" field=$sitename}} + {{include file="field_select.tpl" field=$server_role}} + + {{if $z_server_role == 'pro'}} + {{include file="field_select.tpl" field=$techlevel}} + {{include file="field_checkbox.tpl" field=$techlock}} + {{/if}} + {{include file="field_textarea.tpl" field=$banner}} {{include file="field_textarea.tpl" field=$admininfo}} {{include file="field_select.tpl" field=$language}} @@ -61,8 +68,6 @@ {{include file="field_select.tpl" field=$register_policy}} {{include file="field_checkbox.tpl" field=$invite_only}} {{include file="field_select.tpl" field=$access_policy}} - {{include file="field_textarea.tpl" field=$allowed_email}} - {{include file="field_textarea.tpl" field=$not_allowed_email}} <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div> <h3>{{$upload}}</h3> diff --git a/view/tpl/cloud_actionspanel.tpl b/view/tpl/cloud_actionspanel.tpl index b851e391e..36edc3b44 100644 --- a/view/tpl/cloud_actionspanel.tpl +++ b/view/tpl/cloud_actionspanel.tpl @@ -1,7 +1,6 @@ <div id="files-mkdir-tools" class="section-content-tools-wrapper"> <label for="files-mkdir">{{$folder_header}}</label> <form id="mkdir-form" method="post" action="file_upload" class="acl-form" data-form_id="mkdir-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'> - <!--input type="hidden" name="sabreAction" value="mkcol"--> <input type="hidden" name="folder" value="{{$folder}}" /> <input type="hidden" name="channick" value="{{$channick}}" /> <input type="hidden" name="return_url" value="{{$return_url}}" /> diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl index 5920efafa..a98b9e5eb 100755 --- a/view/tpl/comment_item.tpl +++ b/view/tpl/comment_item.tpl @@ -10,7 +10,7 @@ <input type="hidden" name="return" value="{{$return_path}}" /> <input type="hidden" name="jsreload" value="{{$jsreload}}" /> <input type="hidden" name="preview" id="comment-preview-inp-{{$id}}" value="0" /> - <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty" name="body" onFocus="commentOpenUI(this,{{$id}});" onBlur="commentCloseUI(this,{{$id}});" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >{{$comment}}</textarea> + <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty" name="body" onFocus="commentOpenUI(this,{{$id}});" onBlur="commentCloseUI(this,{{$id}});" ondragenter="linkdropper(event);" ondragleave="linkdropexit(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >{{$comment}}</textarea> {{if $qcomment}} <select id="qcomment-select-{{$id}}" name="qcomment-{{$id}}" class="qcomment" onchange="qCommentInsert(this,{{$id}});" > <option value=""></option> diff --git a/view/tpl/contact_block.tpl b/view/tpl/contact_block.tpl index 6a29abaef..580a8a41c 100755 --- a/view/tpl/contact_block.tpl +++ b/view/tpl/contact_block.tpl @@ -1,13 +1,14 @@ <div id="contact-block" class="widget"> -<h3>{{$contacts}}</h3> -{{if $micropro}} - {{if $viewconnections}} - <a class="allcontact-link" href="viewconnections/{{$nickname}}">{{$viewconnections}}</a> - {{/if}} - <div class='contact-block-content'> - {{foreach $micropro as $m}} - {{$m}} - {{/foreach}} - </div> -{{/if}} + <h3>{{$contacts}}</h3> + {{if $micropro}} + {{if $viewconnections}} + <a class="allcontact-link" href="viewconnections/{{$nickname}}">{{$viewconnections}}</a> + {{/if}} + <div class='contact-block-content'> + {{foreach $micropro as $m}} + {{$m}} + {{/foreach}} + </div> + {{/if}} </div> +<div class="clear"></div> diff --git a/view/tpl/cover_photo_widget.tpl b/view/tpl/cover_photo_widget.tpl index 4e210a300..2b47270c9 100755 --- a/view/tpl/cover_photo_widget.tpl +++ b/view/tpl/cover_photo_widget.tpl @@ -1,22 +1,28 @@ <script> var aside_padding_top; var section_padding_top; + var coverSlid = false; $(document).ready(function() { aside_padding_top = parseInt($('aside').css('padding-top')); section_padding_top = parseInt($('section').css('padding-top')); + $(document).on('click', slideUpCover); + if($('#cover-photo').length && $(window).width() > 755) { - $('.navbar-fixed-top').css('position', 'relative'); - $('main').css('margin-top', - $('nav').outerHeight(true) + 'px'); - $('aside').css('padding-top', aside_padding_top - $('nav').outerHeight() + 'px'); - $('section').css('padding-top', section_padding_top - $('nav').outerHeight() + 'px'); - $('main').css('opacity', 0); - $('header').hide(); + if($(window).scrollTop() < $('#cover-photo').height()) { + $('main').css('margin-top', - $('nav').outerHeight(true) + 'px'); + $('aside').css('padding-top', aside_padding_top - $('nav').outerHeight() + 'px'); + $('section').css('padding-top', section_padding_top - $('nav').outerHeight() + 'px'); + $('.navbar-fixed-top').css('position', 'relative'); + $('main').css('opacity', 0); + $('header').hide(); + } } else { $('#cover-photo').remove(); + coverSlid = true; } }); @@ -26,10 +32,26 @@ $('main').css('opacity', 1); $('aside').css('padding-top', aside_padding_top + 'px'); $('section').css('padding-top', section_padding_top + 'px'); - $(window).scrollTop($(window).scrollTop() - $('#cover-photo').height()) - $('.navbar-fixed-top').css('position', 'fixed'); + $('.navbar-fixed-top').css('position', ''); $('main').css('margin-top', ''); - $('#cover-photo').remove(); + coverSlid = true; + } + else if ($('#cover-photo').length && $(window).width() > 755 && $(window).scrollTop() < $('#cover-photo').height()){ + if(coverSlid) { + $(window).scrollTop(Math.ceil($('#cover-photo').height())); + setTimeout(function(){ coverSlid = false; }, 1000); + } + else { + if($(window).scrollTop() < $('#cover-photo').height()) { + $('main').css('margin-top', - $('nav').outerHeight(true) + 'px'); + $('aside').css('padding-top', aside_padding_top - $('nav').outerHeight() + 'px'); + $('section').css('padding-top', section_padding_top - $('nav').outerHeight() + 'px'); + + $('.navbar-fixed-top').css('position', 'relative'); + $('main').css('opacity', 0); + $('header').hide(); + } + } } if($('#cover-photo').length) { $('main').css('opacity', ($(window).scrollTop()/$('#cover-photo').height()).toFixed(1)); @@ -38,21 +60,26 @@ $(window).resize(function () { if($('#cover-photo').length && $(window).width() < 755) { + $('#cover-photo').remove(); $('main').css('opacity', 1); $('aside').css('padding-top', aside_padding_top + 'px'); $('section').css('padding-top', section_padding_top + 'px'); - $('.navbar-fixed-top').css('position', 'fixed'); - $('#cover-photo').remove(); + $('.navbar-fixed-top').css('position', ''); + coverSlid = true; } }); function slideUpCover() { + if(coverSlid) { + return; + } $('html, body').animate({scrollTop: Math.ceil($('#cover-photo').height()) + 'px' }); + return; } </script> -<div id="cover-photo" onclick="slideUpCover();" title="{{$hovertitle}}"> +<div id="cover-photo" title="{{$hovertitle}}"> {{$photo_html}} <div id="cover-photo-caption"> <div class="cover-photo-title"> diff --git a/view/tpl/field_combobox.tpl b/view/tpl/field_combobox.tpl index 337c60673..523595c0b 100755 --- a/view/tpl/field_combobox.tpl +++ b/view/tpl/field_combobox.tpl @@ -1,13 +1,13 @@ - <div class='field combobox'> + <div class='field combobox input form-group'> <label class="mainlabel" for='id_{{$field.0}}' id='id_{{$field.0}}_label'>{{$field.1}}</label> - {{* html5 don't work on Chrome, Safari and IE9 see https://github.com/thgreasi/datalist-polyfill + {{* <input id="id_{{$field.0}}" type="text" list="data_{{$field.0}}" > <datalist id="data_{{$field.0}}" > {{foreach $field.4 as $opt=>$val}}<option value="{{$val}}">{{/foreach}} - </datalist> *}} + </datalist>*}} - <input id="id_{{$field.0}}" type="text" value="{{$field.2}}"> - <select id="select_{{$field.0}}" onChange="$('#id_{{$field.0}}').val($(this).val())"> + <input id="id_{{$field.0}}" class="form-control" type="text" value="{{$field.2}}"> + <select id="select_{{$field.0}}" class="form-control" onChange="$('#id_{{$field.0}}').val($(this).val())"> <option value="">{{$field.5}}</option> {{foreach $field.4 as $opt=>$val}}<option value="{{$val}}">{{$val}}</option>{{/foreach}} </select> diff --git a/view/tpl/field_themeselect.tpl b/view/tpl/field_themeselect.tpl index 250f9fcf1..7a529774c 100755 --- a/view/tpl/field_themeselect.tpl +++ b/view/tpl/field_themeselect.tpl @@ -1,9 +1,13 @@ - {{if $field.5=='preview'}}<script>$(document).ready(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script>{{/if}} + {{if $field.5 == 'preview'}} + <script>$(document).ready(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script> + {{/if}} <div class='form-group field select'> <label for='id_{{$field.0}}'>{{$field.1}}</label> - <select class="form-control" name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5=='preview'}}onchange="previewTheme(this);"{{/if}} > + <select class="form-control" name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5 == 'preview'}}onchange="previewTheme(this);"{{/if}} > {{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}} </select> <span class='field_help'>{{$field.3}}</span> - {{if $field.5=='preview'}}<div id="theme-preview"></div>{{/if}} + {{if $field.5=='preview'}} + <div id="theme-preview"></div> + {{/if}} </div> diff --git a/view/tpl/filer_dialog.tpl b/view/tpl/filer_dialog.tpl index ae59ab713..71e075958 100755 --- a/view/tpl/filer_dialog.tpl +++ b/view/tpl/filer_dialog.tpl @@ -1,4 +1,6 @@ +<div class="item-filer-dialog"> {{include file="field_combobox.tpl"}} <div class="settings-submit-wrapper" > <input id="filer_save" type="button" class="settings-submit" value="{{$submit}}" /> </div> +</div> diff --git a/view/tpl/install_settings.tpl b/view/tpl/install_settings.tpl index 5ecd3243b..f7a0108a8 100755 --- a/view/tpl/install_settings.tpl +++ b/view/tpl/install_settings.tpl @@ -19,7 +19,7 @@ {{include file="field_input.tpl" field=$adminmail}} {{include file="field_input.tpl" field=$siteurl}} -{{include file="field_checkbox.tpl" field=$advanced}} +{{include file="field_select.tpl" field=$server_role}} {{include file="field_select_grouped.tpl" field=$timezone}} diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl index c63aa053e..ac657e63f 100755 --- a/view/tpl/jot-header.tpl +++ b/view/tpl/jot-header.tpl @@ -262,8 +262,30 @@ function enableOnUser(){ function linkdropper(event) { var linkFound = event.dataTransfer.types.contains("text/uri-list"); - if(linkFound) + if(linkFound) { event.preventDefault(); + var editwin = '#' + event.target.id; + var commentwin = false; + if(editwin) { + commentwin = ((editwin.indexOf('comment') >= 0) ? true : false); + if(commentwin) { + var commentid = editwin.substring(editwin.lastIndexOf('-') + 1); + $('#comment-edit-text-' + commentid).addClass('hover'); + } + } + } + } + + function linkdropexit(event) { + var editwin = '#' + event.target.id; + var commentwin = false; + if(editwin) { + commentwin = ((editwin.indexOf('comment') >= 0) ? true : false); + if(commentwin) { + var commentid = editwin.substring(editwin.lastIndexOf('-') + 1); + $('#comment-edit-text-' + commentid).removeClass('hover'); + } + } } function linkdrop(event) { @@ -276,6 +298,7 @@ function enableOnUser(){ if(commentwin) { var commentid = editwin.substring(editwin.lastIndexOf('-') + 1); commentOpen(document.getElementById(event.target.id),commentid); + } } diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl index 20357b66f..a3bfad842 100755 --- a/view/tpl/jot.tpl +++ b/view/tpl/jot.tpl @@ -80,10 +80,10 @@ </button> {{/if}} {{if $embedPhotos}} - <button id="embed-photo-wrapper" class="btn btn-default btn-sm" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;"> - <i id="embed-photo" class="fa fa-file-image-o jot-icons"></i> - </button> - {{/if}} + <button id="embed-photo-wrapper" class="btn btn-default btn-sm" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;"> + <i id="embed-photo" class="fa fa-file-image-o jot-icons"></i> + </button> + {{/if}} </div> <div class="btn-group hidden-xs hidden-sm"> {{if $setloc}} @@ -130,7 +130,7 @@ <button type="button" id="more-tools" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <i id="more-tools-icon" class="fa fa-caret-down jot-icons"></i> </button> - <ul class="dropdown-menu dropdown-menu" role="menu"> + <ul class="dropdown-menu" role="menu"> {{if $visitor}} {{if $writefiles}} <li><a id="wall-file-upload-sub" href="#" ><i class="fa fa-paperclip"></i> {{$attach}}</a></li> @@ -173,17 +173,42 @@ <i class="fa fa-eye jot-icons" ></i> </button> {{/if}} + {{if $jotnets}} + <button id="dbtn-jotnets" class="btn btn-default btn-sm" data-toggle="modal" data-target="#jotnetsModal" type="button" title="{{$jotnets_label}}" style="{{if $lockstate == 'lock'}}display: none;{{/if}}"> + <i class="fa fa-share-alt jot-icons"></i> + </button> + {{/if}} {{if $showacl}} - <button id="dbtn-acl" class="acl-select btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button" data-form_id="profile-jot-form"> + <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button" data-form_id="profile-jot-form"> <i id="jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons"></i>{{if $bang}} <i class="fa fa-exclamation jot-icons"></i>{{/if}} </button> {{/if}} - <button id="dbtn-submit" class="acl-submit btn btn-primary btn-sm" type="submit" tabindex=3 name="button-submit">{{$share}}</button> + <button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" tabindex="3" name="button-submit">{{$share}}</button> </div> - <div id="profile-jot-perms-end"></div> + <div class="clear"></div> + {{if $jotplugins}} <div id="profile-jot-plugin-wrapper"> {{$jotplugins}} </div> + {{/if}} + {{if $jotnets}} + <div class="modal" id="jotnetsModal" tabindex="-1" role="dialog" aria-labelledby="jotnetsModalLabel" aria-hidden="true"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> + <h4 class="modal-title" id="expiryModalLabel">{{$jotnets_label}}</h4> + </div> + <div class="modal-body"> + {{$jotnets}} + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> + </div> + </div><!-- /.modal-content --> + </div><!-- /.modal-dialog --> + </div><!-- /.modal --> + {{/if}} </div> <div id="profile-jot-text-loading"></div> <div id="profile-jot-end" class="clear"></div> @@ -197,70 +222,78 @@ {{if $feature_expire}} <!-- Modal for item expiry--> <div class="modal" id="expiryModal" tabindex="-1" role="dialog" aria-labelledby="expiryModalLabel" aria-hidden="true"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h4 class="modal-title" id="expiryModalLabel">{{$expires}}</h4> - </div> - <!-- <div class="modal-body"> --> - <div class="modal-body form-group" style="width:90%"> - <div class='date'><input type='text' placeholder='yyyy-mm-dd HH:MM' name='start_text' id='expiration-date' class="form-control" /></div><script type='text/javascript'>$(function () {var picker = $('#expiration-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); })</script> - </div> - <!-- </div> --> - <div class="modal-footer"> - <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button> - <button id="expiry-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button> - </div> - </div><!-- /.modal-content --> - </div><!-- /.modal-dialog --> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> + <h4 class="modal-title" id="expiryModalLabel">{{$expires}}</h4> + </div> + <div class="modal-body form-group" style="width:90%"> + <div class="date"> + <input type="text" placeholder="yyyy-mm-dd HH:MM" name="start_text" id="expiration-date" class="form-control" /> + </div> + <script> + $(function () { + var picker = $('#expiration-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); + }); + </script> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button> + <button id="expiry-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button> + </div> + </div><!-- /.modal-content --> + </div><!-- /.modal-dialog --> </div><!-- /.modal --> {{/if}} {{if $feature_future}} -<!-- Modal for item created--> <div class="modal" id="createdModal" tabindex="-1" role="dialog" aria-labelledby="createdModalLabel" aria-hidden="true"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h4 class="modal-title" id="createdModalLabel">{{$future_txt}}</h4> - </div> - <!-- <div class="modal-body"> --> - <div class="modal-body form-group" style="width:90%"> - <div class='date'><input type='text' placeholder='yyyy-mm-dd HH:MM' name='created_text' id='created-date' class="form-control" /></div><script type='text/javascript'>$(function () {var picker = $('#created-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); })</script> - </div> - <!-- </div> --> - <div class="modal-footer"> - <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button> - <button id="created-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button> - </div> - </div><!-- /.modal-content --> - </div><!-- /.modal-dialog --> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> + <h4 class="modal-title" id="createdModalLabel">{{$future_txt}}</h4> + </div> + <div class="modal-body form-group" style="width:90%"> + <div class="date"> + <input type="text" placeholder="yyyy-mm-dd HH:MM" name="created_text" id="created-date" class="form-control" /> + </div> + <script> + $(function () { + var picker = $('#created-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); + }); + </script> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button> + <button id="created-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button> + </div> + </div><!-- /.modal-content --> + </div><!-- /.modal-dialog --> </div><!-- /.modal --> {{/if}} {{if $embedPhotos}} <div class="modal" id="embedPhotoModal" tabindex="-1" role="dialog" aria-labelledby="embedPhotoLabel" aria-hidden="true"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h4 class="modal-title" id="embedPhotoModalLabel">{{$embedPhotosModalTitle}}</h4> - </div> - <div class="modal-body" id="embedPhotoModalBody" > - <div id="embedPhotoModalBodyAlbumListDialog" class="hide"> - <div id="embedPhotoModalBodyAlbumList"></div> - </div> - <div id="embedPhotoModalBodyAlbumDialog" class="hide"> - </div> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default" data-dismiss="modal">{{$embedPhotosModalCancel}}</button> - <button id="embed-photo-OKButton" type="button" class="btn btn-primary">{{$embedPhotosModalOK}}</button> - </div> - </div><!-- /.modal-content --> - </div><!-- /.modal-dialog --> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> + <h4 class="modal-title" id="embedPhotoModalLabel">{{$embedPhotosModalTitle}}</h4> + </div> + <div class="modal-body" id="embedPhotoModalBody" > + <div id="embedPhotoModalBodyAlbumListDialog" class="hide"> + <div id="embedPhotoModalBodyAlbumList"></div> + </div> + <div id="embedPhotoModalBodyAlbumDialog" class="hide"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">{{$embedPhotosModalCancel}}</button> + <button id="embed-photo-OKButton" type="button" class="btn btn-primary">{{$embedPhotosModalOK}}</button> + </div> + </div><!-- /.modal-content --> + </div><!-- /.modal-dialog --> </div><!-- /.modal --> {{/if}} diff --git a/view/tpl/msg-header.tpl b/view/tpl/msg-header.tpl index 3407e152c..013e1cfdc 100755 --- a/view/tpl/msg-header.tpl +++ b/view/tpl/msg-header.tpl @@ -1,52 +1,9 @@ -<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> +<script type="text/javascript" src="view/js/ajaxupload.js" ></script> <script language="javascript" type="text/javascript"> -var plaintext = '{{$editselect}}'; - -if(plaintext != 'none') { - tinyMCE.init({ - theme : "advanced", - mode : "specific_textareas", - editor_selector: /(profile-jot-text|prvmail-text)/, - plugins : "bbcode,paste", - theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "center", - theme_advanced_blockformats : "blockquote,code", - gecko_spellcheck : true, - paste_text_sticky : true, - entity_encoding : "raw", - add_unload_trigger : false, - remove_linebreaks : false, - force_p_newlines : false, - force_br_newlines : true, - forced_root_block : '', - convert_urls: false, - content_css: "{{$baseurl}}/view/custom_tinymce.css", - //Character count - theme_advanced_path : false, - setup : function(ed) { - ed.onInit.add(function(ed) { - ed.pasteAsPlainText = true; - var editorId = ed.editorId; - var textarea = $('#'+editorId); - if (typeof(textarea.attr('tabindex')) != "undefined") { - $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex')); - textarea.attr('tabindex', null); - } - }); - } - }); -} -else $("#prvmail-text").editor_autocomplete(baseurl+"/acl"); -</script> -<script type="text/javascript" src="view/js/ajaxupload.js" ></script> -<script> $(document).ready(function() { var file_uploader = new window.AjaxUpload( @@ -114,12 +71,8 @@ else } function addmailtext(data) { - if(plaintext == 'none') { - var currentText = $("#prvmail-text").val(); - $("#prvmail-text").val(currentText + data); - } - else - tinyMCE.execCommand('mceInsertRawHTML',false,data); + var currentText = $("#prvmail-text").val(); + $("#prvmail-text").val(currentText + data); } diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl index 5be6d21bd..d08cb29ea 100755 --- a/view/tpl/nav.tpl +++ b/view/tpl/nav.tpl @@ -52,24 +52,6 @@ </div> <div class="collapse navbar-collapse" id="navbar-collapse-1"> <ul class="nav navbar-nav navbar-left"> - {{if $nav.register}}<li class="{{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a></li>{{/if}} - {{if !$userinfo}} - {{if $nav.loginmenu}} - <li class="{{$nav.loginmenu.0.2}} hidden-xs"> - <a data-toggle="dropdown" href="{{$nav.loginmenu.0.0}}" title="{{$nav.loginmenu.0.3}}" id="{{$nav.loginmenu.0.4}}">{{$nav.loginmenu.0.1}} <span class="caret" id="loginmenu-caret"></span></a> - <ul class="dropdown-menu" role="menu"> - {{foreach $nav.loginmenu as $loginmenu}} - <li role="presentation"><a class="{{$loginmenu.2}}" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem" id="{{$loginmenu.4}}">{{$loginmenu.1}}</a></li> - {{/foreach}} - </ul> - </li> - {{foreach $nav.loginmenu as $loginmenu}} - <li role="presentation"><a class="{{$loginmenu.2}} visible-xs" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem">{{$loginmenu.1}}</a></li> - {{/foreach}} - {{/if}} - {{/if}} - - {{if $nav.alogout}}<li class="{{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a></li>{{/if}} {{if $nav.network}} <li class="{{$sel.network}} hidden-xs"> @@ -103,7 +85,6 @@ </li> {{/if}} - {{if $nav.messages}} <li class="{{$sel.messages}} hidden-xs"> <a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" id="{{$nav.messages.4}}"><i class="fa fa-envelope"></i></a> @@ -166,7 +147,30 @@ <span class="notify-update badge" rel="#nav-notify-menu"></span> </li> {{/if}} + + {{if $nav.loginmenu && !$userinfo}} + <li class="{{$nav.loginmenu.0.2}} hidden-xs"> + <a data-toggle="dropdown" href="{{$nav.loginmenu.0.0}}" title="{{$nav.loginmenu.0.3}}" id="{{$nav.loginmenu.0.4}}">{{$nav.loginmenu.0.1}} <span class="caret" id="loginmenu-caret"></span></a> + <ul class="dropdown-menu" role="menu"> + {{foreach $nav.loginmenu as $loginmenu}} + <li role="presentation"><a class="{{$loginmenu.2}}" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem" id="{{$loginmenu.4}}">{{$loginmenu.1}}</a></li> + {{/foreach}} + </ul> + </li> + {{foreach $nav.loginmenu as $loginmenu}} + <li role="presentation"><a class="{{$loginmenu.2}} visible-xs" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem">{{$loginmenu.1}}</a></li> + {{/foreach}} + {{/if}} + + {{if $nav.register}} + <li class="{{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a></li> + {{/if}} + + {{if $nav.alogout}} + <li class="{{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a></li> + {{/if}} </ul> + <ul class="nav navbar-nav navbar-right"> <li class="hidden-xs"> <form method="get" action="search" role="search"> @@ -180,6 +184,7 @@ {{if $powered_by}} <div id="powered-by">{{$powered_by}}</div> {{/if}} + {{if $nav.directory}} <li class="{{$sel.directory}}"> <a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}" id="{{$nav.directory.4}}"><i class="fa fa-sitemap"></i></a> diff --git a/view/tpl/photo_view.tpl b/view/tpl/photo_view.tpl index ec827d990..db5ffe3f5 100755 --- a/view/tpl/photo_view.tpl +++ b/view/tpl/photo_view.tpl @@ -79,6 +79,9 @@ <input name="newtag" id="photo-edit-newtag" class="form-control" title="{{$edit.help_tags}}" type="text" /> </div> <div class="form-group"> + {{include file="field_select.tpl" field=$edit.album_select}} + </div> + <div class="form-group"> <label class="radio-inline" id="photo-edit-rotate-cw-label" for="photo-edit-rotate-cw"><input id="photo-edit-rotate-cw" type="radio" name="rotate" value="1" />{{$edit.rotatecw}}</label> <label class="radio-inline" id="photo-edit-rotate-ccw-label" for="photo-edit-rotate-ccw"><input id="photo-edit-rotate-ccw" type="radio" name="rotate" value="2" />{{$edit.rotateccw}}</label> </div> diff --git a/view/tpl/profed_head.tpl b/view/tpl/profed_head.tpl index 103960a76..ce774052a 100755 --- a/view/tpl/profed_head.tpl +++ b/view/tpl/profed_head.tpl @@ -1,36 +1,2 @@ -<script language="javascript" type="text/javascript" - src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> - <script language="javascript" type="text/javascript"> - - -tinyMCE.init({ - theme : "advanced", - mode : "{{$editselect}}", - plugins : "bbcode,paste", - theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "center", - theme_advanced_blockformats : "blockquote,code", - gecko_spellcheck : true, - paste_text_sticky : true, - entity_encoding : "raw", - add_unload_trigger : false, - remove_linebreaks : false, - force_p_newlines : false, - force_br_newlines : true, - forced_root_block : '', - content_css: "{{$baseurl}}/view/custom_tinymce.css", - theme_advanced_path : false, - setup : function(ed) { - ed.onInit.add(function(ed) { - ed.pasteAsPlainText = true; - }); - } - -}); - - -</script> +<script language="javascript" type="text/javascript"></script> diff --git a/view/tpl/settings_account.tpl b/view/tpl/settings_account.tpl index 06f47bbe1..8ff846518 100755 --- a/view/tpl/settings_account.tpl +++ b/view/tpl/settings_account.tpl @@ -11,6 +11,13 @@ {{include file="field_password.tpl" field=$origpass}} {{include file="field_password.tpl" field=$password1}} {{include file="field_password.tpl" field=$password2}} + + {{if $z_server_role == 'pro' && ! $techlock}} + {{include file="field_select.tpl" field=$techlevel}} + {{else}} + <input type="hidden" name="techlevel" value="{{$techlevel.2}}" /> + {{/if}} + <div class="settings-submit-wrapper" > <button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button> </div> diff --git a/view/tpl/sitesearch.tpl b/view/tpl/sitesearch.tpl new file mode 100644 index 000000000..8dbf8cef5 --- /dev/null +++ b/view/tpl/sitesearch.tpl @@ -0,0 +1,5 @@ +<div class="widget saved-search-widget"> + <h3 id="search">{{$title}}</h3> + {{$searchbox}} + <div class="clear"></div> +</div> diff --git a/view/tpl/webpage_export_list.tpl b/view/tpl/webpage_export_list.tpl new file mode 100644 index 000000000..1d28f62df --- /dev/null +++ b/view/tpl/webpage_export_list.tpl @@ -0,0 +1,124 @@ +<div class="generic-content-wrapper"> + <form action="" method="post" autocomplete="on" > + <input type="hidden" name="action" value="{{$action}}"> + <div class="section-title-wrapper"> + <div class="pull-right"> + <button class="btn btn-md btn-success" type="submit" name="submit" value="{{$exportbtn}}">{{$exportbtn}}</button> + </div> + <h2>{{$title}}</h2> + <div class="clear"></div> + </div> + <div id="import-website-content-wrapper" class="section-content-wrapper"> + <div class="pull-left"> + <button id="toggle-select-all" class="btn btn-xs btn-primary" onclick="checkedAll(window.isChecked); return false;"><i class="fa fa-check"></i> Toggle Select All</button> + </div> + <div class="clear"></div> + <hr> + <!--<h4>Pages</h4>--> + <div> + <table class="table-striped table-responsive table-hover" style="width: 100%;"> + <thead> + <tr><th></th><th>Page Link</th><th>Page Title</th><th>Type</th></tr> + </thead> + {{foreach $pages as $page}} + <tr> + <td width="30px" style="padding-right: 20px;"> + <div class='squaredThree'> + <input type="checkbox" id="page_{{$page.mid}}" name="page[]" value="{{$page.mid}}"> + <label for="page_{{$page.mid}}"></label> + </div> + </td> + <td width="30%"> + <div class="desc"> + {{$page.pagetitle}}<br> + </div> + </td> + <td width="55%"> + <div class='desc'> + {{$page.title}}<br> + </div> + </td> + <td width="15%"> + <div class='desc'> + {{$page.mimetype}}<br> + </div> + </td> + </tr> + {{/foreach}} + </table> + </div> + <hr> + <div class="clear"></div> + <!--<h4>Layouts</h4>--> + <div> + <table class="table-striped table-responsive table-hover" style="width: 100%;"> + <thead> + <tr><th width="20px"></th><th>Layout Name</th><th>Layout Description</th><th>Type</th></tr> + </thead> + {{foreach $layouts as $layout}} + <tr> + <td width="30px" style="padding-right: 20px;"> + <div class='squaredThree'> + <input type="checkbox" id="layout_{{$layout.mid}}" name="layout[]" value="{{$layout.mid}}"> + <label for="layout_{{$layout.mid}}"></label> + </div> + </td> + <td width="30%"> + <div class="desc"> + {{$layout.name}}<br> + </div> + </td> + <td width="55%"> + <div class='desc'> + {{$layout.description}}<br> + </div> + </td> + <td width="15%"> + <div class='desc'> + {{$layout.mimetype}}<br> + </div> + </td> + </tr> + {{/foreach}} + </table> + </div> + <hr> + <div class="clear"></div> + <!--<h4>Blocks</h4>--> + <div> + <table class="table-striped table-responsive table-hover" style="width: 100%;"> + <thead> + <tr><th width="30px"></th><th>Block Name</th><th>Block Title</th><th>Type</th></tr> + </thead> + {{foreach $blocks as $block}} + <tr> + <td width="30px" style="padding-right: 20px;"> + <div class='squaredThree'> + <input type="checkbox" id="block_{{$block.mid}}" name="block[]" value="{{$block.mid}}"> + <label for="block_{{$block.mid}}"></label> + </div> + </td> + <td width="30%"> + <div class="desc"> + {{$block.name}}<br> + </div> + </td> + <td width="55%"> + <div class='desc'> + {{$block.title}}<br> + </div> + </td> + <td width=15%"> + <div class='desc'> + {{$block.mimetype}}<br> + </div> + </td> + </tr> + {{/foreach}} + </table> + </div> + + </div> + </form> +</div> + diff --git a/view/tpl/website_import_tools.tpl b/view/tpl/website_import_tools.tpl deleted file mode 100644 index cb3e6b524..000000000 --- a/view/tpl/website_import_tools.tpl +++ /dev/null @@ -1,37 +0,0 @@ -<div id="website-import-tools" class="widget"> - <h3>{{$title}}</h3> - <ul class="nav nav-pills nav-stacked"> - <li> - <a href="#" onclick="openClose('import-form'); - return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$import_label}}</a> - </li> - <li> - <form id="import-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu"> - - <input type="hidden" name="action" value="scan"> - - <p style="margin-top: 20px;" class="descriptive-text">{{$file_import_text}}</p> - <div class="form-group"> - <div class="input-group"> - <input class="widget-input" type="text" name="path" title="{{$hint}}" placeholder="{{$desc}}" /> - <div class="input-group-btn"> - <button class="btn btn-default btn-sm" type="submit" name="cloudsubmit" value="{{$select}}"><i class="fa fa-folder-open generic-icons"></i></button> - </div> - </div> - </div> - - <!-- Or upload a zipped file containing the website --> - <p class="descriptive-text">{{$file_upload_text}}</p> - <div class="form-group"> - - <div class="input-group"> - <input class="widget-input" type="file" name="zip_file" /> - <div class="input-group-btn"> - <button class="btn btn-default btn-sm" type="submit" name="w_upload" value="w_upload"><i class="fa fa-file-archive-o generic-icons"></i></button> - </div> - </div> - </div> - </form> - </li> - </ul> -</div> diff --git a/view/tpl/website_portation_tools.tpl b/view/tpl/website_portation_tools.tpl new file mode 100644 index 000000000..10468b64e --- /dev/null +++ b/view/tpl/website_portation_tools.tpl @@ -0,0 +1,72 @@ +<div id="website-portation-tools" class="widget"> + <ul class="nav nav-pills nav-stacked"> + <li> + <a href="#" onclick="openClose('import-form'); + return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$import_label}}</a> + </li> + <li style="margin-left: 12px;" > + <form id="import-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu"> + + <input type="hidden" name="action" value="scan"> + + <p style="margin-top: 10px;" class="descriptive-text">{{$file_import_text}}</p> + <div class="form-group"> + <div class="input-group"> + <input class="widget-input" type="text" name="path" title="{{$hint}}" placeholder="{{$desc}}" /> + <div class="input-group-btn"> + <button class="btn btn-default btn-sm" type="submit" name="cloudsubmit" value="{{$select}}"><i class="fa fa-folder-open generic-icons"></i></button> + </div> + </div> + </div> + + <!-- Or upload a zipped file containing the website --> + <p class="descriptive-text">{{$file_upload_text}}</p> + <div class="form-group"> + + <div class="input-group"> + <input class="widget-input" type="file" name="zip_file" /> + <div class="input-group-btn"> + <button class="btn btn-default btn-sm" type="submit" name="w_upload" value="w_upload"><i class="fa fa-file-archive-o generic-icons"></i></button> + </div> + </div> + </div> + </form> + </li> + </ul> + <ul class="nav nav-pills nav-stacked"> + <li> + <a href="#" onclick="openClose('export-form'); openClose('export-cloud-form'); + return false;"><i class="fa fa-share-square-o generic-icons"></i> {{$export_label}}</a> + </li> + <li style="margin-left: 12px;" > + <form id="export-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu"> + <input type="hidden" name="action" value="exportzipfile"> + <!-- Or download a zipped file containing the website --> + <p style="margin-top: 10px;" class="descriptive-text">{{$file_download_text}}</p> + <div class="form-group"> + + <div class="input-group"> + <input class="widget-input" type="text" name="zipfilename" title="{{$filename_hint}}" placeholder="{{$filename_desc}}" value="" /> + <div class="input-group-btn"> + <button class="btn btn-default btn-sm" type="submit" name="w_download" value="w_download"><i class="fa fa-download generic-icons"></i></button> + </div> + </div> + </div> + </form> + <form id="export-cloud-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu"> + <input type="hidden" name="action" value="exportcloud"> + <!-- Or export the website elements to a cloud files folder --> + <p style="margin-top: 10px;" class="descriptive-text">{{$cloud_export_text}}</p> + <div class="form-group"> + + <div class="input-group"> + <input class="widget-input" type="text" name="exportcloudpath" title="{{$cloud_export_hint}}" placeholder="{{$cloud_export_desc}}" /> + <div class="input-group-btn"> + <button class="btn btn-default btn-sm" type="submit" name="exportcloudsubmit" value="{{$cloud_export_select}}"><i class="fa fa-folder-open generic-icons"></i></button> + </div> + </div> + </div> + </form> + </li> + </ul> +</div> diff --git a/view/tpl/zcard_embed.tpl b/view/tpl/zcard_embed.tpl index 7981e3b0b..5c7a925e3 100644 --- a/view/tpl/zcard_embed.tpl +++ b/view/tpl/zcard_embed.tpl @@ -1,8 +1,8 @@ <div class="hz_card {{$size}}"> - <div class="hz_cover_photo" style="max-width: 100;"><img src="{{$cover.href}}" alt="{{$zcard.chan.xchan_name}}" /> + <div class="hz_cover_photo" style="max-width: 100;"><a href="{{$zcard.chan.xchan_url}}"><img src="{{$cover.href}}" alt="{{$zcard.chan.xchan_name}}" /></a> <div style="position: relative;top: -40px;left: 120px;color: #fff;font-size: 18px;text-rendering: optimizelegibility;text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);" >{{$zcard.chan.xchan_name}}</div> <div style="position: relative;top: -40px;left: 120px;color: #fff;font-size: 10px;text-rendering: optimizelegibility;text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);" >{{$zcard.chan.channel_addr}}</div> </div> - <div style="position:relative;top: -75px;left: 20px;background-color: white;border: 1px solid #ddd;padding: 3px;width: 80px;height: 80px;"><img src="{{$pphoto.href}}" alt="{{$zcard.chan.xchan_name}}" /></div> + <div style="position:relative;top: -75px;left: 20px;background-color: white;border: 1px solid #ddd;padding: 3px;width: 80px;height: 80px;"><a href="{{$zcard.chan.xchan_url}}"><img src="{{$pphoto.href}}" alt="{{$zcard.chan.xchan_name}}" /></a></div> </div> |