mirror of
https://github.com/friendica/friendica
synced 2024-11-19 23:03:41 +00:00
Merge pull request #261 from fabrixxm/eventspage
Some tweak on events page and events/bitrhdays reminder
This commit is contained in:
commit
5ebc221c28
6 changed files with 171 additions and 86 deletions
62
boot.php
62
boot.php
|
@ -1174,11 +1174,7 @@ if(! function_exists('get_birthdays')) {
|
|||
}
|
||||
$classtoday = $istoday ? ' birthday-today ' : '';
|
||||
if($total) {
|
||||
$o .= '<div id="birthday-notice" class="birthday-notice fakelink' . $classtoday . '" onclick=openClose(\'birthday-wrapper\'); >' . t('Birthday Reminders') . ' ' . '(' . $total . ')' . '</div>';
|
||||
$o .= '<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">' . t('Birthdays this week:') . '</div>';
|
||||
$o .= '<div id="birthday-title-end"></div>';
|
||||
|
||||
foreach($r as $rr) {
|
||||
foreach($r as &$rr) {
|
||||
if(! strlen($rr['name']))
|
||||
continue;
|
||||
|
||||
|
@ -1196,15 +1192,24 @@ if(! function_exists('get_birthdays')) {
|
|||
$url = $a->get_baseurl() . '/redir/' . $rr['cid'];
|
||||
}
|
||||
|
||||
$o .= '<div class="birthday-list" id="birthday-' . $rr['eid'] . '"><a class="birthday-link$sparkle" target="redir" href="'
|
||||
. $url . '">' . $rr['name'] . '</a> '
|
||||
. day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . t('[today]') : '')
|
||||
. '</div>' ;
|
||||
$rr['link'] = $url;
|
||||
$rr['title'] = $rr['name'];
|
||||
$rr['date'] = day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . t('[today]') : '');
|
||||
$rr['startime'] = Null;
|
||||
$rr['today'] = $today;
|
||||
|
||||
}
|
||||
$o .= '</div></div>';
|
||||
}
|
||||
}
|
||||
return $o;
|
||||
$tpl = get_markup_template("birthdays_reminder.tpl");
|
||||
return replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$classtoday' => $classtoday,
|
||||
'$count' => $total,
|
||||
'$event_reminders' => t('Birthday Reminders'),
|
||||
'$event_title' => t('Birthdays this week:'),
|
||||
'$events' => $r,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1215,7 +1220,6 @@ if(! function_exists('get_events')) {
|
|||
require_once('include/bbcode.php');
|
||||
|
||||
$a = get_app();
|
||||
$o = '';
|
||||
|
||||
if(! local_user())
|
||||
return $o;
|
||||
|
@ -1242,18 +1246,15 @@ if(! function_exists('get_events')) {
|
|||
if($strt === datetime_convert('UTC',$a->timezone,'now','Y-m-d'))
|
||||
$istoday = true;
|
||||
}
|
||||
$classtoday = (($istoday) ? ' event-today ' : '');
|
||||
$classtoday = (($istoday) ? 'event-today' : '');
|
||||
|
||||
$o .= '<div id="event-notice" class="birthday-notice fakelink' . $classtoday . '" onclick=openClose(\'event-wrapper\'); >' . t('Event Reminders') . ' ' . '(' . count($r) . ')' . '</div>';
|
||||
$o .= '<div id="event-wrapper" style="display: none;" ><div id="event-title">' . t('Events this week:') . '</div>';
|
||||
$o .= '<div id="event-title-end"></div>';
|
||||
|
||||
foreach($r as $rr) {
|
||||
|
||||
foreach($r as &$rr) {
|
||||
if($rr['adjust'])
|
||||
$md = datetime_convert('UTC',$a->timezone,$rr['start'],'Y/m\#\l\i\n\k\-j');
|
||||
$md = datetime_convert('UTC',$a->timezone,$rr['start'],'Y/m');
|
||||
else
|
||||
$md = datetime_convert('UTC','UTC',$rr['start'],'Y/m\#\l\i\n\k\-j');
|
||||
$md = datetime_convert('UTC','UTC',$rr['start'],'Y/m');
|
||||
$md .= "/#link-".$rr['id'];
|
||||
|
||||
$title = substr(strip_tags(bbcode($rr['desc'])),0,32) . '... ';
|
||||
if(! $title)
|
||||
|
@ -1261,15 +1262,24 @@ if(! function_exists('get_events')) {
|
|||
|
||||
$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start']);
|
||||
$today = ((substr($strt,0,10) === datetime_convert('UTC',$a->timezone,'now','Y-m-d')) ? true : false);
|
||||
|
||||
$o .= '<div class="event-list" id="event-' . $rr['eid'] . '"></a> <a href="events/' . $md . '">' . $title . '</a>'
|
||||
. day_translate(datetime_convert('UTC', $rr['adjust'] ? $a->timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : '')
|
||||
. '</div>' ;
|
||||
|
||||
$rr['link'] = $md;
|
||||
$rr['title'] = $title;
|
||||
$rr['date'] = day_translate(datetime_convert('UTC', $rr['adjust'] ? $a->timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : '');
|
||||
$rr['startime'] = $strt;
|
||||
$rr['today'] = $today;
|
||||
}
|
||||
$o .= '</div></div>';
|
||||
}
|
||||
|
||||
return $o;
|
||||
$tpl = get_markup_template("events_reminder.tpl");
|
||||
return replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$classtoday' => $classtoday,
|
||||
'$count' => count($r),
|
||||
'$event_reminders' => t('Event Reminders'),
|
||||
'$event_title' => t('Events this week:'),
|
||||
'$events' => $r,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
10
view/birthdays_reminder.tpl
Normal file
10
view/birthdays_reminder.tpl
Normal file
|
@ -0,0 +1,10 @@
|
|||
{{ if $count }}
|
||||
<div id="birthday-notice" class="birthday-notice fakelink' $classtoday" onclick="openClose('birthday-wrapper');">$event_reminders ($count)</div>
|
||||
<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">$event_title</div>
|
||||
<div id="birthday-title-end"></div>
|
||||
{{ for $events as $event }}
|
||||
<div class="birthday-list" id="birthday-$event.id"></a> <a href="events/$event.link">$event.title</a> $event.date </div>
|
||||
{{ endfor }}
|
||||
</div></div>
|
||||
{{ endif }}
|
||||
|
|
@ -3,8 +3,17 @@
|
|||
src="$baseurl/library/fullcalendar/fullcalendar.min.js"></script>
|
||||
|
||||
<script>
|
||||
function showEvent(eventid) {
|
||||
$.get(
|
||||
'$baseurl/events/?id='+eventid,
|
||||
function(data){
|
||||
$.fancybox(data);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#events-calendar').fullCalendar({
|
||||
$('#events-calendar').fullCalendar({
|
||||
events: '$baseurl/events/json/',
|
||||
header: {
|
||||
left: 'prev,next today',
|
||||
|
@ -13,12 +22,7 @@
|
|||
},
|
||||
timeFormat: 'H(:mm)',
|
||||
eventClick: function(calEvent, jsEvent, view) {
|
||||
$.get(
|
||||
'$baseurl/events/?id='+calEvent.id,
|
||||
function(data){
|
||||
$.fancybox(data);
|
||||
}
|
||||
);
|
||||
showEvent(calEvent.id);
|
||||
},
|
||||
|
||||
eventRender: function(event, element, view) {
|
||||
|
@ -55,70 +59,81 @@
|
|||
}
|
||||
|
||||
})
|
||||
|
||||
// center on date
|
||||
var args=location.href.replace(baseurl,"").split("/");
|
||||
if (args.length>=4) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
|
||||
}
|
||||
|
||||
// show event popup
|
||||
var hash = location.hash.split("-")
|
||||
if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]);
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
<script language="javascript" type="text/javascript"
|
||||
src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
|
||||
<script language="javascript" type="text/javascript">
|
||||
<script language="javascript" type="text/javascript">
|
||||
|
||||
|
||||
tinyMCE.init({
|
||||
theme : "advanced",
|
||||
mode : "textareas",
|
||||
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;
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#event-share-checkbox').change(function() {
|
||||
|
||||
if ($('#event-share-checkbox').is(':checked')) {
|
||||
$('#acl-wrapper').show();
|
||||
}
|
||||
else {
|
||||
$('#acl-wrapper').hide();
|
||||
}
|
||||
}).trigger('change');
|
||||
|
||||
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
selstr = $(this).text();
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
$('#jot-public').show();
|
||||
tinyMCE.init({
|
||||
theme : "advanced",
|
||||
mode : "textareas",
|
||||
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;
|
||||
});
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#event-share-checkbox').change(function() {
|
||||
|
||||
if ($('#event-share-checkbox').is(':checked')) {
|
||||
$('#acl-wrapper').show();
|
||||
}
|
||||
else {
|
||||
$('#acl-wrapper').hide();
|
||||
}
|
||||
}).trigger('change');
|
||||
|
||||
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
selstr = $(this).text();
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
$('#jot-public').show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
|
10
view/events_reminder.tpl
Normal file
10
view/events_reminder.tpl
Normal file
|
@ -0,0 +1,10 @@
|
|||
{{ if $count }}
|
||||
<div id="event-notice" class="birthday-notice fakelink $classtoday" onclick="openClose('event-wrapper');">$event_reminders ($count)</div>
|
||||
<div id="event-wrapper" style="display: none;" ><div id="event-title">$event_title</div>
|
||||
<div id="event-title-end"></div>
|
||||
{{ for $events as $event }}
|
||||
<div class="event-list" id="event-$event.id"></a> <a href="events/$event.link">$event.title</a> $event.date </div>
|
||||
{{ endfor }}
|
||||
</div></div>
|
||||
{{ endif }}
|
||||
|
1
view/theme/quattro/birthdays_reminder.tpl
Normal file
1
view/theme/quattro/birthdays_reminder.tpl
Normal file
|
@ -0,0 +1 @@
|
|||
|
39
view/theme/quattro/events_reminder.tpl
Normal file
39
view/theme/quattro/events_reminder.tpl
Normal file
|
@ -0,0 +1,39 @@
|
|||
<link rel='stylesheet' type='text/css' href='$baseurl/library/fullcalendar/fullcalendar.css' />
|
||||
<script language="javascript" type="text/javascript"
|
||||
src="$baseurl/library/fullcalendar/fullcalendar.min.js"></script>
|
||||
<script>
|
||||
// start calendar from yesterday
|
||||
var yesterday= new Date()
|
||||
yesterday.setDate(yesterday.getDate()-1)
|
||||
|
||||
function showEvent(eventid) {
|
||||
$.get(
|
||||
'$baseurl/events/?id='+eventid,
|
||||
function(data){
|
||||
$.fancybox(data);
|
||||
}
|
||||
);
|
||||
}
|
||||
$(document).ready(function() {
|
||||
$('#events-reminder').fullCalendar({
|
||||
firstDay: yesterday.getDay(),
|
||||
year: yesterday.getFullYear(),
|
||||
month: yesterday.getMonth(),
|
||||
date: yesterday.getDate(),
|
||||
events: '$baseurl/events/json/',
|
||||
header: {
|
||||
left: '',
|
||||
center: '',
|
||||
right: ''
|
||||
},
|
||||
timeFormat: 'H(:mm)',
|
||||
defaultView: 'basicWeek',
|
||||
height: 50,
|
||||
eventClick: function(calEvent, jsEvent, view) {
|
||||
showEvent(calEvent.id);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div id="events-reminder"></div>
|
||||
<br>
|
Loading…
Reference in a new issue