mirror of
https://github.com/friendica/friendica
synced 2024-12-27 01:20:16 +00:00
b2c4116357
- Prevents inserting unescaped HTML in page
190 lines
5.6 KiB
Smarty
190 lines
5.6 KiB
Smarty
|
|
<link rel="stylesheet" type="text/css" href="{{$baseurl}}/view/asset/fullcalendar/dist/fullcalendar.min.css?v={{$smarty.const.FRIENDICA_VERSION}}" />
|
|
<link rel="stylesheet" type="text/css" href="{{$baseurl}}/view/asset/fullcalendar/dist/fullcalendar.print.min.css?v={{$smarty.const.FRIENDICA_VERSION}}" media="print" />
|
|
<script type="text/javascript" src="{{$baseurl}}/view/asset/moment/min/moment-with-locales.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
|
|
<script type="text/javascript" src="{{$baseurl}}/view/asset/fullcalendar/dist/fullcalendar.min.js?v={{$smarty.const.FRIENDICA_VERSION}}"></script>
|
|
|
|
<script>
|
|
function showEvent(eventid) {
|
|
$.get(
|
|
'{{$baseurl}}{{$module_url}}/?id='+eventid,
|
|
function(data){
|
|
$.colorbox({html:data});
|
|
}
|
|
);
|
|
}
|
|
|
|
function doEventPreview() {
|
|
$('#event-edit-preview').val(1);
|
|
$.post('events',$('#event-edit-form').serialize(), function(data) {
|
|
$.colorbox({ html: data });
|
|
});
|
|
$('#event-edit-preview').val(0);
|
|
}
|
|
|
|
// disable the input for the finish date if it is not available
|
|
function enableDisableFinishDate() {
|
|
if( $('#id_nofinish').is(':checked'))
|
|
$('#id_finish_text').prop("disabled", true);
|
|
else
|
|
$('#id_finish_text').prop("disabled", false);
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
$('#events-calendar').fullCalendar({
|
|
firstDay: '{{$i18n.firstDay|escape:'quotes'}}',
|
|
monthNames: [
|
|
'{{$i18n.January|escape:'quotes'}}',
|
|
'{{$i18n.February|escape:'quotes'}}',
|
|
'{{$i18n.March|escape:'quotes'}}',
|
|
'{{$i18n.April|escape:'quotes'}}',
|
|
'{{$i18n.May|escape:'quotes'}}',
|
|
'{{$i18n.June|escape:'quotes'}}',
|
|
'{{$i18n.July|escape:'quotes'}}',
|
|
'{{$i18n.August|escape:'quotes'}}',
|
|
'{{$i18n.September|escape:'quotes'}}',
|
|
'{{$i18n.October|escape:'quotes'}}',
|
|
'{{$i18n.November|escape:'quotes'}}',
|
|
'{{$i18n.December|escape:'quotes'}}'
|
|
],
|
|
monthNamesShort: [
|
|
'{{$i18n.Jan|escape:'quotes'}}',
|
|
'{{$i18n.Feb|escape:'quotes'}}',
|
|
'{{$i18n.Mar|escape:'quotes'}}',
|
|
'{{$i18n.Apr|escape:'quotes'}}',
|
|
'{{$i18n.May|escape:'quotes'}}',
|
|
'{{$i18n.Jun|escape:'quotes'}}',
|
|
'{{$i18n.Jul|escape:'quotes'}}',
|
|
'{{$i18n.Aug|escape:'quotes'}}',
|
|
'{{$i18n.Sep|escape:'quotes'}}',
|
|
'{{$i18n.Oct|escape:'quotes'}}',
|
|
'{{$i18n.Nov|escape:'quotes'}}',
|
|
'{{$i18n.Dec|escape:'quotes'}}'
|
|
],
|
|
dayNames: [
|
|
'{{$i18n.Sunday|escape:'quotes'}}',
|
|
'{{$i18n.Monday|escape:'quotes'}}',
|
|
'{{$i18n.Tuesday|escape:'quotes'}}',
|
|
'{{$i18n.Wednesday|escape:'quotes'}}',
|
|
'{{$i18n.Thursday|escape:'quotes'}}',
|
|
'{{$i18n.Friday|escape:'quotes'}}',
|
|
'{{$i18n.Saturday|escape:'quotes'}}'
|
|
],
|
|
dayNamesShort: [
|
|
'{{$i18n.Sun|escape:'quotes'}}',
|
|
'{{$i18n.Mon|escape:'quotes'}}',
|
|
'{{$i18n.Tue|escape:'quotes'}}',
|
|
'{{$i18n.Wed|escape:'quotes'}}',
|
|
'{{$i18n.Thu|escape:'quotes'}}',
|
|
'{{$i18n.Fri|escape:'quotes'}}',
|
|
'{{$i18n.Sat|escape:'quotes'}}'
|
|
],
|
|
allDayText: '{{$i18n.allday|escape:'quotes'}}',
|
|
noEventsMessage: '{{$i18n.noevent|escape:'quotes'}}',
|
|
buttonText: {
|
|
today: '{{$i18n.today|escape:'quotes'}}',
|
|
month: '{{$i18n.month|escape:'quotes'}}',
|
|
week: '{{$i18n.week|escape:'quotes'}}',
|
|
day: '{{$i18n.day|escape:'quotes'}}'
|
|
},
|
|
events: '{{$baseurl}}{{$module_url}}/json/',
|
|
header: {
|
|
left: 'prev,next today',
|
|
center: 'title',
|
|
right: 'month,agendaWeek,agendaDay'
|
|
},
|
|
timeFormat: 'H:mm',
|
|
eventClick: function(calEvent, jsEvent, view) {
|
|
showEvent(calEvent.id);
|
|
},
|
|
loading: function(isLoading, view) {
|
|
if(!isLoading) {
|
|
$('td.fc-day').dblclick(function() { window.location.href='/events/new?start='+$(this).data('date'); });
|
|
}
|
|
},
|
|
|
|
eventRender: function(event, element, view) {
|
|
if (event.item['author-name']==null) return;
|
|
switch(view.name){
|
|
case "month":
|
|
element.find(".fc-title").html(
|
|
"{0}".format(
|
|
event.title
|
|
));
|
|
break;
|
|
case "agendaWeek":
|
|
element.find(".fc-title").html(
|
|
"{0}<p>{1}</p><p>{2}</p>".format(
|
|
event.item['author-name'],
|
|
event.item.desc,
|
|
event.item.location
|
|
));
|
|
break;
|
|
case "agendaDay":
|
|
element.find(".fc-title").html(
|
|
"{0}<p>{1}</p><p>{2}</p>".format(
|
|
event.item['author-name'],
|
|
event.item.desc,
|
|
event.item.location
|
|
));
|
|
break;
|
|
}
|
|
}
|
|
|
|
})
|
|
|
|
// center on date
|
|
var args=location.href.replace(baseurl,"").split("/");
|
|
{{if $modparams == 2}}
|
|
if (args.length>=5) {
|
|
$("#events-calendar").fullCalendar('gotoDate',args[3] , args[4]-1);
|
|
}
|
|
{{else}}
|
|
if (args.length>=4) {
|
|
$("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
|
|
}
|
|
{{/if}}
|
|
|
|
// 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">
|
|
|
|
$(document).ready(function() {
|
|
$("#comment-edit-text-desc").bbco_autocomplete('bbcode');
|
|
|
|
$('#id_share').change(function() {
|
|
|
|
if ($('#id_share').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).html();
|
|
$('#jot-public').hide();
|
|
});
|
|
if(selstr == null) {
|
|
$('#jot-public').show();
|
|
}
|
|
|
|
}).trigger('change');
|
|
|
|
// disable the finish time input if the user disable it
|
|
$('#id_nofinish').change(function() {
|
|
enableDisableFinishDate()
|
|
}).trigger('change');
|
|
|
|
});
|
|
|
|
</script>
|
|
|