mirror of
https://github.com/nextcloud/server.git
synced 2026-04-23 07:08:34 -04:00
Use data from database to load calendar events
This commit is contained in:
parent
f795ed77c6
commit
6e746e6ab2
3 changed files with 43 additions and 19 deletions
|
|
@ -461,18 +461,20 @@ function oc_cal_switch2today() {
|
|||
}
|
||||
|
||||
function oc_cal_update_eventsvar(loadyear) {
|
||||
$("#js_events").load(oc_webroot + "/apps/calendar/ajax/getcal.php?year=" + loadyear);
|
||||
if(document.getElementById("js_events").innerHTML == "nosession") {
|
||||
$.getJSON(oc_webroot + "/apps/calendar/ajax/getcal.php?year=" + loadyear, function(newevents, status) {
|
||||
if(status == "nosession") {
|
||||
alert("You are not logged in. That can happen if you don't use owncloud for a long time.");
|
||||
document.location(oc_webroot);
|
||||
}
|
||||
if(document.getElementById("js_events").innerHTML == "parsingfail" || typeof (newevents) == "undefined") {
|
||||
if(status == "parsingfail" || typeof (newevents) == "undefined") {
|
||||
$(function() {
|
||||
$( "#parsingfail_dialog" ).dialog();
|
||||
});
|
||||
} else {
|
||||
oc_cal_events[loadyear] = newevents[loadyear];
|
||||
oc_cal_update_view('', '');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function oc_cal_load_cal(loadview) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ $(document).ready(function(){
|
|||
}
|
||||
});
|
||||
oc_cal_update_eventsvar(oc_cal_year);
|
||||
oc_cal_update_view('');
|
||||
});
|
||||
//init date vars
|
||||
var oc_cal_date = new Date();
|
||||
|
|
|
|||
|
|
@ -1,15 +1,38 @@
|
|||
<?php $year = $_GET["year"];
|
||||
//echo $year; ?>
|
||||
<script type="text/javascript">
|
||||
var newevents = new Array();
|
||||
newevents[2011] = new Array();
|
||||
newevents[2011][7] = new Array();
|
||||
newevents[2011][7][7] = new Array();
|
||||
newevents[2011][7][7]['allday'] = new Array();
|
||||
newevents[2011][7][7]['allday'][1] = new Array();
|
||||
newevents[2011][7][7]['allday'][1]['description'] = 'allday event';
|
||||
newevents[2011][7][13] = new Array();
|
||||
newevents[2011][7][13][10] = new Array();
|
||||
newevents[2011][7][13][10][1] = new Array();
|
||||
newevents[2011][7][13][10][1]['description'] = '10:00 event';
|
||||
</script>
|
||||
<?php
|
||||
$calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser());
|
||||
$events = OC_Calendar_Calendar::allCalendarObjects($calendars[0]['id']);
|
||||
$select_year = $_GET["year"];
|
||||
$return_events = array();
|
||||
foreach($events as $event)
|
||||
{
|
||||
if ($select_year != substr($event['startdate'], 0, 4))
|
||||
continue;
|
||||
list($date, $time) = explode(' ', $event['startdate']);
|
||||
list($year, $month, $day) = explode('-', $date);
|
||||
list($hour, $min) = explode(':', $time);
|
||||
$hour = (int)$hour;
|
||||
|
||||
// hack
|
||||
if (strstr($event['calendardata'], 'DTSTART;VALUE=DATE:')) {
|
||||
$hour = 'allday';
|
||||
}
|
||||
$return_event = array();
|
||||
foreach(array('id', 'calendarid', 'objecttype', 'startdate', 'enddate', 'repeating') as $prop)
|
||||
{
|
||||
$return_event[$prop] = $event[$prop];
|
||||
}
|
||||
$return_event['description'] = $event['summary'];
|
||||
$month--; // return is 0 based
|
||||
if (isset($return_events[$year][$month][$day][$hour]))
|
||||
{
|
||||
$return_events[$year][$month][$day][$hour][] = $return_event;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return_events[$year][$month][$day][$hour] = array(1 => $return_event);
|
||||
}
|
||||
}
|
||||
$return_events[2011][7][7]['allday'][1]['description'] = 'allday event';
|
||||
$return_events[2011][7][13][10][1]['description'] = '10:00 event';
|
||||
echo json_encode($return_events);
|
||||
?>
|
||||
|
|
|
|||
Loading…
Reference in a new issue