Use data from database to load calendar events

remotes/origin/stable
Bart Visscher 14 years ago
parent f795ed77c6
commit 6e746e6ab2
  1. 8
      apps/calendar/js/calendar.js
  2. 1
      apps/calendar/js/calendar_init.js
  3. 53
      apps/calendar/templates/part.getcal.php

@ -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…
Cancel
Save