Fixes for Calendar app

This commit is contained in:
Bart Visscher 2011-09-16 00:08:15 +02:00
parent 15559d3e88
commit 2353f02d9a
4 changed files with 41 additions and 2 deletions

View File

@ -29,15 +29,25 @@ if($errarr){
exit; exit;
}else{ }else{
$id = $_POST['id']; $id = $_POST['id'];
$cal = $_POST['calendar'];
$data = OC_Calendar_Object::find($id); $data = OC_Calendar_Object::find($id);
if (!$data) if (!$data)
{ {
echo json_encode(array("error"=>"true")); echo json_encode(array("error"=>"true"));
exit; exit;
} }
$calendar = OC_Calendar_Calendar::findCalendar($data['calendarid']);
if($calendar['userid'] != OC_User::getUser()){
echo json_encode(array("error"=>"true"));
exit;
}
$vcalendar = Sabre_VObject_Reader::read($data['calendardata']); $vcalendar = Sabre_VObject_Reader::read($data['calendardata']);
OC_Calendar_Object::updateVCalendarFromRequest($_POST, $vcalendar); OC_Calendar_Object::updateVCalendarFromRequest($_POST, $vcalendar);
$result = OC_Calendar_Object::edit($id, $vcalendar->serialize()); $result = OC_Calendar_Object::edit($id, $vcalendar->serialize());
if ($data['calendarid'] != $cal) {
$calendar = OC_Calendar_Calendar::findCalendar($request['calendar']);
OC_Calendar_Object::moveToCalendar($id, $cal);
}
echo json_encode(array("success"=>"true")); echo json_encode(array("success"=>"true"));
} }
?> ?>

View File

@ -26,6 +26,11 @@ $repeat_options = OC_Calendar_Object::getRepeatOptions($l10n);
$id = $_GET['id']; $id = $_GET['id'];
$data = OC_Calendar_Object::find($id); $data = OC_Calendar_Object::find($id);
$calendar = OC_Calendar_Calendar::findCalendar($data['calendarid']);
if($calendar['userid'] != OC_User::getUser()){
echo $l10n->t('Wrong calendar');
exit;
}
$object = Sabre_VObject_Reader::read($data['calendardata']); $object = Sabre_VObject_Reader::read($data['calendardata']);
$vevent = $object->VEVENT; $vevent = $object->VEVENT;
$dtstart = $vevent->DTSTART; $dtstart = $vevent->DTSTART;
@ -38,11 +43,19 @@ switch($dtstart->getDateType()) {
$endtime = $dtend->getDateTime()->format('H:i'); $endtime = $dtend->getDateTime()->format('H:i');
$allday = false; $allday = false;
break; break;
case Sabre_VObject_Element_DateTime::DATE:
$startdate = $dtstart->getDateTime()->format('d-m-Y');
$starttime = '';
$dtend->getDateTime()->modify('-1 day');
$enddate = $dtend->getDateTime()->format('d-m-Y');
$endtime = '';
$allday = true;
break;
} }
$summary = isset($vevent->SUMMARY) ? $vevent->SUMMARY->value : ''; $summary = isset($vevent->SUMMARY) ? $vevent->SUMMARY->value : '';
$location = isset($vevent->LOCATION) ? $vevent->LOCATION->value : ''; $location = isset($vevent->LOCATION) ? $vevent->LOCATION->value : '';
$category = isset($vevent->CATEGORY) ? $vevent->CATEGORY->value : ''; $category = isset($vevent->CATEGORIES) ? $vevent->CATEGORIES->value : '';
$repeat = isset($vevent->CATEGORY) ? $vevent->CATEGORY->value : ''; $repeat = isset($vevent->CATEGORY) ? $vevent->CATEGORY->value : '';
$description = isset($vevent->DESCRIPTION) ? $vevent->DESCRIPTION->value : ''; $description = isset($vevent->DESCRIPTION) ? $vevent->DESCRIPTION->value : '';

View File

@ -180,6 +180,15 @@ class OC_Calendar_Object{
return true; return true;
} }
public static function moveToCalendar($id, $calendarid){
$stmt = OC_DB::prepare( 'UPDATE *PREFIX*calendar_objects SET calendarid=? WHERE id = ?' );
$result = $stmt->execute(array($calendarid,$id));
OC_Calendar_Calendar::touchCalendar($id);
return true;
}
/** /**
* @brief Creates a UID * @brief Creates a UID
* @return string * @return string
@ -415,6 +424,9 @@ class OC_Calendar_Object{
$created->setDateTime($now, Sabre_VObject_Element_DateTime::UTC); $created->setDateTime($now, Sabre_VObject_Element_DateTime::UTC);
$vevent->add($created); $vevent->add($created);
$uid = self::createUID();
$vevent->add('UID',$uid);
return self::updateVCalendarFromRequest($request, $vcalendar); return self::updateVCalendarFromRequest($request, $vcalendar);
} }

View File

@ -13,7 +13,11 @@
* MA 02111-1307 USA * * MA 02111-1307 USA *
*************************************************/ *************************************************/
$calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser(), 1); $calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser(), 1);
$events = OC_Calendar_Object::all($calendars[0]['id']); $events = array();
foreach($calendars as $calendar) {
$tmp = OC_Calendar_Object::all($calendar['id']);
$events = array_merge($events, $tmp);
}
$select_year = $_GET["year"]; $select_year = $_GET["year"];
$return_events = array(); $return_events = array();
$user_timezone = OC_Preferences::getValue(OC_USER::getUser(), "calendar", "timezone", "Europe/London"); $user_timezone = OC_Preferences::getValue(OC_USER::getUser(), "calendar", "timezone", "Europe/London");