aboutsummaryrefslogtreecommitdiffstats
path: root/view/tpl
diff options
context:
space:
mode:
Diffstat (limited to 'view/tpl')
-rwxr-xr-xview/tpl/cal_calendar.tpl105
-rwxr-xr-xview/tpl/cal_event.tpl (renamed from view/tpl/event_cal.tpl)0
-rw-r--r--view/tpl/cdav_calendar.tpl129
-rwxr-xr-xview/tpl/conv_item.tpl6
-rwxr-xr-xview/tpl/conv_list.tpl6
-rwxr-xr-xview/tpl/event_head.tpl1
-rwxr-xr-xview/tpl/event_item_header.tpl6
-rw-r--r--view/tpl/field_select_grouped.tpl2
-rwxr-xr-xview/tpl/follow.tpl2
-rwxr-xr-xview/tpl/mail_conv.tpl2
-rwxr-xr-xview/tpl/prv_message.tpl1
-rwxr-xr-xview/tpl/search_item.tpl2
12 files changed, 216 insertions, 46 deletions
diff --git a/view/tpl/cal_calendar.tpl b/view/tpl/cal_calendar.tpl
new file mode 100755
index 000000000..93ebaa235
--- /dev/null
+++ b/view/tpl/cal_calendar.tpl
@@ -0,0 +1,105 @@
+<script>
+var calendar;
+
+$(document).ready(function() {
+ var calendarEl = document.getElementById('calendar');
+ calendar = new FullCalendar.Calendar(calendarEl, {
+ plugins: [ 'dayGrid' ],
+ eventSources: [ {{$sources}} ],
+
+ timeZone: '{{$timezone}}',
+
+ locale: '{{$lang}}',
+
+ eventTextColor: 'white',
+ header: false,
+
+ height: 'auto',
+
+ firstDay: {{$first_day}},
+
+ monthNames: aStr['monthNames'],
+ monthNamesShort: aStr['monthNamesShort'],
+ dayNames: aStr['dayNames'],
+ dayNamesShort: aStr['dayNamesShort'],
+ allDayText: aStr['allday'],
+
+ eventClick: function(info) {
+ var event_id = info.event._def.extendedProps.item.id;
+ showEvent(event_id);
+ },
+
+ loading: function(isLoading, view) {
+ $('#events-spinner').show();
+ $('#today-btn > i').hide();
+ if(!isLoading) {
+ $('#events-spinner').hide();
+ $('#today-btn > i').show();
+ }
+ }
+
+ });
+
+ calendar.render();
+
+ $('#title').text(calendar.view.title);
+
+ $('#today-btn').on('click', function() {
+ calendar.today();
+ $('#title').text(calendar.view.title);
+ });
+
+ $('#prev-btn').on('click', function() {
+ calendar.prev();
+ $('#title').text(calendar.view.title);
+ });
+
+ $('#next-btn').on('click', function() {
+ calendar.next();
+ $('#title').text(calendar.view.title);
+ });
+
+ $(document).on('click','#fullscreen-btn', updateSize);
+ $(document).on('click','#inline-btn', updateSize);
+
+});
+
+function showEvent(event_id) {
+ $.get(
+ 'cal/{{$nick}}?id='+event_id,
+ function(data){
+ $.colorbox({ scrolling: false, html: data, onComplete: function() { $.colorbox.resize(); }});
+ }
+ );
+}
+
+function changeView(action, viewName) {
+ calendar.changeView(viewName);
+ $('#title').text(calendar.view.title);
+ $('#view_selector').html(views[calendar.view.type]);
+ return;
+}
+
+function updateSize() {
+ calendar.updateSize();
+}
+</script>
+
+<div class="generic-content-wrapper">
+ <div class="section-title-wrapper">
+ <div class="float-right">
+ <div class="btn-group">
+ <button id="prev-btn" class="btn btn-outline-secondary btn-sm" title="{{$prev}}"><i class="fa fa-backward"></i></button>
+ <button id="today-btn" class="btn btn-outline-secondary btn-sm" title="{{$today}}"><div id="events-spinner" class="spinner s"></div><i class="fa fa-bullseye" style="display: none; width: 1rem;"></i></button>
+ <button id="next-btn" class="btn btn-outline-secondary btn-sm" title="{{$next}}"><i class="fa fa-forward"></i></button>
+ </div>
+ <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="fa fa-expand"></i></button>
+ <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="fa fa-compress"></i></button>
+ </div>
+ <h2 id="title"></h2>
+ <div class="clear"></div>
+ </div>
+ <div class="section-content-wrapper-np">
+ <div id="calendar"></div>
+ </div>
+</div>
diff --git a/view/tpl/event_cal.tpl b/view/tpl/cal_event.tpl
index d7662786b..d7662786b 100755
--- a/view/tpl/event_cal.tpl
+++ b/view/tpl/cal_event.tpl
diff --git a/view/tpl/cdav_calendar.tpl b/view/tpl/cdav_calendar.tpl
index 22579227a..01739dd5b 100644
--- a/view/tpl/cdav_calendar.tpl
+++ b/view/tpl/cdav_calendar.tpl
@@ -17,6 +17,8 @@ var resource = {{$resource}};
var default_view = resource !== null ? 'timeGridDay' : 'dayGridMonth';
var default_date = resource !== null ? new Date(resource.dtstart) : new Date();
+var allday;
+
$(document).ready(function() {
var calendarEl = document.getElementById('calendar');
calendar = new FullCalendar.Calendar(calendarEl, {
@@ -37,14 +39,26 @@ $(document).ready(function() {
defaultView: default_view,
defaultDate: default_date,
+ weekNumbers: true,
+ navLinks: true,
+
+ navLinkDayClick: function(date, jsEvent) {
+ calendar.gotoDate( date );
+ changeView('timeGridDay');
+ },
+
+ navLinkWeekClick: function(date, jsEvent) {
+ calendar.gotoDate( date );
+ changeView('timeGridWeek');
+ },
+
monthNames: aStr['monthNames'],
monthNamesShort: aStr['monthNamesShort'],
dayNames: aStr['dayNames'],
dayNamesShort: aStr['dayNamesShort'],
allDayText: aStr['allday'],
- defaultTimedEventDuration: '01:00:00',
- snapDuration: '00:15:00',
+ snapDuration: '00:05:00',
dateClick: function(info) {
if(new_event.id) {
@@ -53,8 +67,18 @@ $(document).ready(function() {
new_event = {};
}
+ allday = info.allDay;
+
+ if(allday) {
+ $('#id_dtstart_wrapper, #id_dtend_wrapper, #id_timezone_select_wrapper').hide();
+ }
+ else {
+ $('#id_dtstart_wrapper, #id_dtend_wrapper, #id_timezone_select_wrapper').show();
+ }
+
+
var dtend = new Date(info.date.toUTCString());
- if(info.view.type == 'dayGridMonth') {
+ if(allday) {
dtend.setDate(dtend.getDate() + 1);
}
else{
@@ -69,19 +93,18 @@ $(document).ready(function() {
$('#id_description').attr('disabled', false);
$('#id_location').attr('disabled', false);
$('#calendar_select').val($("#calendar_select option:first").val()).attr('disabled', false);
- $('#id_dtstart').val(info.date.toUTCString());
- $('#id_dtend').val(dtend ? dtend.toUTCString() : '');
+ $('#id_dtstart').val(info.date.toUTCString().slice(0, -4));
+ $('#id_dtend').val(dtend ? dtend.toUTCString().slice(0, -4) : '');
$('#id_description').val('');
$('#id_location').val('');
$('#event_submit').val('create_event').html('{{$create}}');
$('#event_delete').hide();
- new_event = { id: new_event_id, title : 'New event', start: $('#id_dtstart').val(), end: $('#id_dtend').val(), editable: true, color: '#bbb' };
+ new_event = { id: new_event_id, title: 'New event', start: info.date.toUTCString(), end: dtend ? dtend.toUTCString() : '', allDay: info.allDay, editable: true, color: '#bbb' };
calendar.addEvent(new_event);
},
-
- eventClick: function(info) {
+ eventClick: function(info) {
//reset categories
$('#id_categories').tagsinput('removeAll');
@@ -99,6 +122,13 @@ $(document).ready(function() {
$('#l2s').remove();
}
+ if(event.allDay) {
+ $('#id_dtstart_wrapper, #id_dtend_wrapper, #id_timezone_select_wrapper').hide();
+ }
+ else {
+ $('#id_dtstart_wrapper, #id_dtend_wrapper, #id_timezone_select_wrapper').show();
+ }
+
if(event.publicId == new_event_id) {
$('#calendar_select').trigger('change');
$('#event_submit').show();
@@ -131,9 +161,11 @@ $(document).ready(function() {
event_uri = event.extendedProps.uri;
$('#id_title').val(event.title);
$('#calendar_select').val(calendar_id).attr('disabled', true).trigger('change');
+ $('#id_timezone_select').val(event.extendedProps.timezone);
+ $('#id_location').val(event.extendedProps.location);
$('#id_categories').tagsinput('add', event.extendedProps.categories);
- $('#id_dtstart').val(dtstart.toUTCString());
- $('#id_dtend').val(dtend.toUTCString());
+ $('#id_dtstart').val(dtstart.toUTCString().slice(0, -4));
+ $('#id_dtend').val(dtend.toUTCString().slice(0, -4));
$('#id_description').val(event.extendedProps.description);
$('#id_location').val(event.extendedProps.location);
$('#event_submit').val('update_event').html('{{$update}}');
@@ -183,10 +215,10 @@ $(document).ready(function() {
var event = info.event._def;
var dtstart = new Date(info.event._instance.range.start);
var dtend = new Date(info.event._instance.range.end);
-
+
$('#id_title').val(event.title);
- $('#id_dtstart').val(dtstart.toUTCString());
- $('#id_dtend').val(dtend.toUTCString());
+ $('#id_dtstart').val(dtstart.toUTCString().slice(0, -4));
+ $('#id_dtend').val(dtend.toUTCString().slice(0, -4));
event_id = event.extendedProps.item ? event.extendedProps.item.id : 0;
event_xchan = event.extendedProps.item ? event.extendedProps.item.event_xchan : '';
@@ -199,9 +231,10 @@ $(document).ready(function() {
'type': 'event',
'preview': 0,
'summary': event.title,
- 'dtstart': dtstart.toUTCString(),
- 'dtend': dtend.toUTCString(),
- 'adjust': event.extendedProps.item.adjust,
+ 'timezone_select': event.extendedProps.timezone,
+ 'dtstart': dtstart.toUTCString().slice(0, -4),
+ 'dtend': dtend.toUTCString().slice(0, -4),
+ 'adjust': event.allDay ? 0 : 1,
'categories': event.extendedProps.categories,
'desc': event.extendedProps.description,
'location': event.extendedProps.location,
@@ -215,8 +248,10 @@ $(document).ready(function() {
'update': 'resize',
'id[]': event.extendedProps.calendar_id,
'uri': event.extendedProps.uri,
- 'dtstart': dtstart ? dtstart.toUTCString() : '',
- 'dtend': dtend ? dtend.toUTCString() : ''
+ 'timezone_select': event.extendedProps.timezone,
+ 'dtstart': dtstart ? dtstart.toUTCString().slice(0, -4) : '',
+ 'dtend': dtend ? dtend.toUTCString().slice(0, -4) : '',
+ 'allday': event.allDay ? 1 : 0
})
.fail(function() {
info.revert();
@@ -231,8 +266,8 @@ $(document).ready(function() {
var dtend = new Date(info.event._instance.range.end);
$('#id_title').val(event.title);
- $('#id_dtstart').val(dtstart.toUTCString());
- $('#id_dtend').val(dtend.toUTCString());
+ $('#id_dtstart').val(dtstart.toUTCString().slice(0, -4));
+ $('#id_dtend').val(dtend.toUTCString().slice(0, -4));
event_id = event.extendedProps.item ? event.extendedProps.item.id : 0;
event_xchan = event.extendedProps.item ? event.extendedProps.item.event_xchan : '';
@@ -245,9 +280,10 @@ $(document).ready(function() {
'type': 'event',
'preview': 0,
'summary': event.title,
- 'dtstart': dtstart.toUTCString(),
- 'dtend': dtend.toUTCString(),
- 'adjust': event.extendedProps.item.adjust,
+ 'timezone_select': event.extendedProps.timezone,
+ 'dtstart': dtstart.toUTCString().slice(0, -4),
+ 'dtend': dtend.toUTCString().slice(0, -4),
+ 'adjust': event.allDay ? 0 : 1,
'categories': event.extendedProps.categories,
'desc': event.extendedProps.description,
'location': event.extendedProps.location,
@@ -261,8 +297,10 @@ $(document).ready(function() {
'update': 'drop',
'id[]': event.extendedProps.calendar_id,
'uri': event.extendedProps.uri,
- 'dtstart': dtstart ? dtstart.toUTCString() : '',
- 'dtend': dtend ? dtend.toUTCString() : ''
+ 'timezone_select': event.extendedProps.timezone,
+ 'dtstart': dtstart ? dtstart.toUTCString().slice(0, -4) : '',
+ 'dtend': dtend ? dtend.toUTCString().slice(0, -4) : '',
+ 'allday': event.allDay ? 1 : 0
})
.fail(function() {
info.revert();
@@ -329,24 +367,37 @@ $(document).ready(function() {
$('#calendar_select').val('channel_calendar').attr('disabled', true);
$('#id_title').val(resource.summary);
- $('#id_dtstart').val(new Date(resource.dtstart).toUTCString());
- $('#id_dtend').val(new Date(resource.dtend).toUTCString());
+ $('#id_dtstart').val(new Date(resource.dtstart).toUTCString().slice(0, -4));
+ $('#id_dtend').val(new Date(resource.dtend).toUTCString().slice(0, -4));
$('#id_categories').tagsinput('add', '{{$categories}}'),
$('#id_description').val(resource.description);
$('#id_location').val(resource.location);
+ $('#id_timezone_select').val(resource.timezone);
if(event_xchan !== '{{$channel_hash}}')
$('#event_submit').hide();
else
$('#event_submit').html('{{$update}}');
}
+
+ if(default_view === 'dayGridMonth');
+ $('#id_dtstart_wrapper, #id_dtend_wrapper, #id_timezone_select_wrapper').hide();
});
-function changeView(action, viewName) {
+function changeView(viewName) {
+
calendar.changeView(viewName);
$('#title').text(calendar.view.title);
$('#view_selector').html(views[calendar.view.type]);
+
+ if(viewName === 'dayGridMonth') {
+ $('#id_dtstart_wrapper, #id_dtend_wrapper, #id_timezone_select_wrapper').hide();
+ }
+ else {
+ $('#id_dtstart_wrapper, #id_dtend_wrapper, #id_timezone_select_wrapper').show();
+ }
+
return;
}
@@ -414,10 +465,11 @@ function on_submit() {
'xchan': event_xchan,
'type': 'event',
'preview': 0,
+ 'timezone_select': $('#id_timezone_select').val(),
'summary': $('#id_title').val(),
'dtstart': $('#id_dtstart').val(),
'dtend': $('#id_dtend').val(),
- 'adjust': 0,
+ 'adjust': allday ? 0 : 1,
'categories': $('#id_categories').val(),
'desc': $('#id_description').val(),
'location': $('#id_location').val(),
@@ -439,12 +491,14 @@ function on_submit() {
$.post( 'cdav/calendar', {
'submit': $('#event_submit').val(),
'target': $('#calendar_select').val(),
+ 'timezone_select': $('#id_timezone_select').val(),
'uri': event_uri,
'title': $('#id_title').val(),
'dtstart': $('#id_dtstart').val(),
'dtend': $('#id_dtend').val(),
'description': $('#id_description').val(),
- 'location': $('#id_location').val()
+ 'location': $('#id_location').val(),
+ 'allday': allday ? 1 : 0
})
.done(function() {
var parts = $('#calendar_select').val().split(':');
@@ -523,13 +577,13 @@ function exportDate() {
<div class="dropdown">
<button id="view_selector" type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-toggle="dropdown"></button>
<div class="dropdown-menu">
- <a class="dropdown-item" href="#" onclick="changeView('changeView', 'dayGridMonth'); return false;">{{$month}}</a></li>
- <a class="dropdown-item" href="#" onclick="changeView('changeView', 'timeGridWeek'); return false;">{{$week}}</a></li>
- <a class="dropdown-item" href="#" onclick="changeView('changeView', 'timeGridDay'); return false;">{{$day}}</a></li>
+ <a class="dropdown-item" href="#" onclick="changeView('dayGridMonth'); return false;">{{$month}}</a></li>
+ <a class="dropdown-item" href="#" onclick="changeView('timeGridWeek'); return false;">{{$week}}</a></li>
+ <a class="dropdown-item" href="#" onclick="changeView('timeGridDay'); return false;">{{$day}}</a></li>
<div class="dropdown-divider"></div>
- <a class="dropdown-item" href="#" onclick="changeView('changeView', 'listMonth'); return false;">{{$list_month}}</a></li>
- <a class="dropdown-item" href="#" onclick="changeView('changeView', 'listWeek'); return false;">{{$list_week}}</a></li>
- <a class="dropdown-item" href="#" onclick="changeView('changeView', 'listDay'); return false;">{{$list_day}}</a></li>
+ <a class="dropdown-item" href="#" onclick="changeView('listMonth'); return false;">{{$list_month}}</a></li>
+ <a class="dropdown-item" href="#" onclick="changeView('listWeek'); return false;">{{$list_week}}</a></li>
+ <a class="dropdown-item" href="#" onclick="changeView('listDay'); return false;">{{$list_day}}</a></li>
</div>
<div class="btn-group">
<button id="prev-btn" class="btn btn-outline-secondary btn-sm" title="{{$prev}}"><i class="fa fa-backward"></i></button>
@@ -569,6 +623,9 @@ function exportDate() {
{{/foreach}}
</optgroup>
</select>
+ {{if $timezone_select}}
+ {{include file="field_select_grouped.tpl" field=$timezone_select}}
+ {{/if}}
<div id="more_block" style="display: none;">
{{if $catsenabled}}
<div id="id_categories_wrapper" class="form-group">
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index 54f1af69d..09a2e05e0 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -9,12 +9,12 @@
<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="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{{if $item.is_new && !$item.title}} wall-item-head-new rounded-top{{/if}}" id="wall-photo-item-{{$item.id}}">
+ <div class="wall-photo-item" id="wall-photo-item-{{$item.id}}">
{{$item.photo}}
</div>
{{/if}}
{{if $item.event}}
- <div class="wall-event-item{{if $item.is_new && !$item.title}} wall-item-head-new rounded-top{{/if}}" id="wall-event-item-{{$item.id}}">
+ <div class="wall-event-item" id="wall-event-item-{{$item.id}}">
{{$item.event}}
</div>
{{/if}}
@@ -26,7 +26,7 @@
<hr class="m-0">
{{/if}}
{{/if}}
- <div class="p-2 clearfix wall-item-head{{if $item.is_new && !$item.title && !$item.event && !$item.is_comment && !$item.photo}} wall-item-head-new rounded-top{{/if}}" >
+ <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}}" >
{{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">&nbsp;&nbsp;&nbsp;</i></a>
{{/if}}
diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl
index 63e74b159..a0c2cf827 100755
--- a/view/tpl/conv_list.tpl
+++ b/view/tpl/conv_list.tpl
@@ -9,12 +9,12 @@
<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{{if $item.is_new && !$item.title}} wall-item-head-new rounded-top{{/if}}" id="wall-photo-item-{{$item.id}}">
+ <div class="wall-photo-item" id="wall-photo-item-{{$item.id}}">
{{$item.photo}}
</div>
{{/if}}
{{if $item.event}}
- <div class="wall-event-item{{if $item.is_new && !$item.title}} wall-item-head-new rounded-top{{/if}}" id="wall-event-item-{{$item.id}}">
+ <div class="wall-event-item" id="wall-event-item-{{$item.id}}">
{{$item.event}}
</div>
{{/if}}
@@ -26,7 +26,7 @@
<hr class="m-0">
{{/if}}
{{/if}}
- <div class="p-2 clearfix wall-item-head{{if $item.is_new && !$item.title && !$item.event && !$item.is_comment && !$item.photo}} wall-item-head-new rounded-top{{/if}}">
+ <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>
diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl
index 0e6f7523c..9d56b7fe4 100755
--- a/view/tpl/event_head.tpl
+++ b/view/tpl/event_head.tpl
@@ -52,6 +52,7 @@
header: false,
eventTextColor: 'white',
lang: '{{$lang}}',
+ timeZone: '{{$timezone}}',
firstDay: {{$first_day}},
eventLimit: 3,
diff --git a/view/tpl/event_item_header.tpl b/view/tpl/event_item_header.tpl
index 6247aaf6f..ed46c304f 100755
--- a/view/tpl/event_item_header.tpl
+++ b/view/tpl/event_item_header.tpl
@@ -1,6 +1,11 @@
<div class="event-item-title">
<h3><i class="fa fa-calendar"></i>&nbsp;{{$title}}</h3>
</div>
+{{if $oneday && $allday}}
+<span class="dtstart">{{$dtstart_dt}}</span>
+{{else if $allday}}
+<span class="dtstart">{{$dtstart_dt}}</span> &mdash; <span class="dtend">{{$dtend_dt}}</span>
+{{else}}
<div class="event-item-start">
<span class="event-item-label">{{$dtstart_label}}</span>&nbsp;<span class="dtstart" title="{{$dtstart_title}}">{{$dtstart_dt}}</span>
</div>
@@ -9,3 +14,4 @@
<span class="event-item-label">{{$dtend_label}}</span>&nbsp;<span class="dtend" title="{{$dtend_title}}">{{$dtend_dt}}</span>
</div>
{{/if}}
+{{/if}}
diff --git a/view/tpl/field_select_grouped.tpl b/view/tpl/field_select_grouped.tpl
index e6d1479de..ec067b8e7 100644
--- a/view/tpl/field_select_grouped.tpl
+++ b/view/tpl/field_select_grouped.tpl
@@ -1,4 +1,4 @@
- <div class='form-group field select'>
+ <div id='id_{{$field.0}}_wrapper' class='form-group field select'>
<label for='id_{{$field.0}}'>{{$field.1}}</label>
<select class="form-control" name='{{$field.0}}' id='id_{{$field.0}}'>
{{foreach $field.4 as $group=>$opts}}
diff --git a/view/tpl/follow.tpl b/view/tpl/follow.tpl
index bccb25068..da472fa9b 100755
--- a/view/tpl/follow.tpl
+++ b/view/tpl/follow.tpl
@@ -4,7 +4,7 @@
<div class="input-group">
<input class="form-control" type="text" name="url" title="{{$hint}}" placeholder="{{$desc}}" />
<div class="input-group-append">
- <button class="btn btn-success" type="submit" name="submit" value="{{$follow}}" title="{{$follow}}"><i class="fa fa-fw fa-plus"></i></button>
+ <button class="btn btn-sm btn-success" type="submit" name="submit" value="{{$follow}}" title="{{$follow}}"><i class="fa fa-fw fa-plus"></i></button>
</div>
</div>
</form>
diff --git a/view/tpl/mail_conv.tpl b/view/tpl/mail_conv.tpl
index cd810e999..b0497fe99 100755
--- a/view/tpl/mail_conv.tpl
+++ b/view/tpl/mail_conv.tpl
@@ -1,4 +1,4 @@
-<div id="mail-{{$mail.id}}" class="mb-2 clearfix mail-conv-outside-wrapper">
+<div id="mail-{{$mail.id}}" class="mb-2 clearfix mail-conv-outside-wrapper"{{if $mail.sig}} data-sig="{{$mail.sig}}"{{/if}}>
<div class="mb-2 clearfix wall-item-head">
<div class="wall-item-info" >
<a href="{{$mail.from_url}}"><img class="wall-item-photo" src="{{$mail.from_photo}}" alt="{{$mail.from_name}}" /></a>
diff --git a/view/tpl/prv_message.tpl b/view/tpl/prv_message.tpl
index 59472f7d4..b8c81539d 100755
--- a/view/tpl/prv_message.tpl
+++ b/view/tpl/prv_message.tpl
@@ -11,6 +11,7 @@
<input type="hidden" id="inp-prvmail-expires" name="expires" value="{{$defexpire}}" />
<input type="hidden" name="media_str" id="jot-media" value="" />
<input type="hidden" name="preview" id="mail-preview" value="0" />
+ <input type="hidden" name="signature" id="mail-sig" value="" />
{{if $new}}
<div class="form-group">
<label for="recip">{{$to}}</label>
diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl
index 018e98989..3197fb893 100755
--- a/view/tpl/search_item.tpl
+++ b/view/tpl/search_item.tpl
@@ -20,7 +20,7 @@
<hr class="m-0">
{{/if}}
{{/if}}
- <div class="p-2 clearfix wall-item-head{{if $item.is_new && !$item.title && !$item.event && !$item.is_comment}} wall-item-head-new rounded-top{{/if}}">
+ <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" />