summaryrefslogtreecommitdiffstats
path: root/apps/tasks/lib
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2011-12-09 21:41:21 +0100
committerBart Visscher <bartv@thisnet.nl>2011-12-09 21:41:21 +0100
commit76c37792cb322338f73f25a559a2ccfe5ae8b59d (patch)
treee57ee4db0e664abc5ab84188ea2731cd4f75ac35 /apps/tasks/lib
parent487c23e27f6b562fb96eda980776b32398908932 (diff)
downloadnextcloud-server-76c37792cb322338f73f25a559a2ccfe5ae8b59d.tar.gz
nextcloud-server-76c37792cb322338f73f25a559a2ccfe5ae8b59d.zip
WIP
Diffstat (limited to 'apps/tasks/lib')
-rw-r--r--apps/tasks/lib/vtodo.php62
1 files changed, 17 insertions, 45 deletions
diff --git a/apps/tasks/lib/vtodo.php b/apps/tasks/lib/vtodo.php
index 925ad77dea1..967f5b87a54 100644
--- a/apps/tasks/lib/vtodo.php
+++ b/apps/tasks/lib/vtodo.php
@@ -39,7 +39,7 @@ class OC_Task_VTodo extends OC_Calendar_Object{
'9' => $l10n->t('9=lowest'),
);
}
- public static function validateRequest($request, $l10n)
+ public static function validateRequest($request, $l10n=null)
{
$errors = array();
if($request['summary'] == ''){
@@ -102,7 +102,7 @@ class OC_Task_VTodo extends OC_Calendar_Object{
public static function updateVCalendarFromRequest($request, $vcalendar)
{
$summary = $request['summary'];
- $categories = $request['categories'];
+ $categories = isset($request["categories"]) ? $request["categories"] : array();
$priority = $request['priority'];
$percent_complete = $request['percent_complete'];
$completed = $request['completed'];
@@ -110,55 +110,28 @@ class OC_Task_VTodo extends OC_Calendar_Object{
$due = $request['due'];
$description = $request['description'];
- $now = new DateTime();
- $vtodo = $vcalendar->VTODO[0];
-
- $last_modified = new Sabre_VObject_Element_DateTime('LAST-MODIFIED');
- $last_modified->setDateTime($now, Sabre_VObject_Element_DateTime::UTC);
- $vtodo->__set('LAST-MODIFIED', $last_modified);
-
- $dtstamp = new Sabre_VObject_Element_DateTime('DTSTAMP');
- $dtstamp->setDateTime($now, Sabre_VObject_Element_DateTime::UTC);
- $vtodo->DTSTAMP = $dtstamp;
-
- $vtodo->SUMMARY = $summary;
-
- if ($location != '') {
- $vtodo->LOCATION = $location;
- }else{
- unset($vtodo->LOCATION);
- }
-
- if ($categories != '') {
- $vtodo->CATEGORIES = join(',',$categories);
- }else{
- unset($vtodo->CATEGORIES);
- }
+ $vtodo = $vcalendar->VTODO;
- if ($priority != '') {
- $vtodo->PRIORITY = $priority;
- }else{
- unset($vtodo->PRIORITY);
- }
+ $vtodo->setDateTime('LAST-MODIFIED', 'now', Sabre_VObject_Element_DateTime::UTC);
+ $vtodo->setDateTime('DTSTAMP', 'now', Sabre_VObject_Element_DateTime::UTC);
+ $vtodo->setString('SUMMARY', $summary);
- if ($description != '') {
- $vtodo->DESCRIPTION = $description;
- }else{
- unset($vtodo->DESCRIPTION);
- }
+ $vtodo->setString('LOCATION', $location);
+ $vtodo->setString('DESCRIPTION', $description);
+ $vtodo->setString('CATEGORIES', join(',', $categories));
+ $vtodo->setString('PRIORITY', $priority);
if ($due) {
- $due_property = new Sabre_VObject_Element_DateTime('DUE');
- $timezone = OC_Preferences::getValue(OC_USER::getUser(), "calendar", "timezone", "Europe/London");
+ $timezone = OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'timezone', date_default_timezone_get());
$timezone = new DateTimeZone($timezone);
- $due_property->setDateTime(new DateTime($due, $timezone));
- $vtodo->DUE = $due_property;
+ $due = new DateTime($due, $timezone);
+ $vtodo->setDateTime('DUE', $due);
} else {
unset($vtodo->DUE);
}
if (!empty($percent_complete)) {
- $vtodo->__set('PERCENT-COMPLETE', $percent_complete);
+ $vtodo->setString('PERCENT-COMPLETE', $percent_complete);
}else{
$vtodo->__unset('PERCENT-COMPLETE');
}
@@ -171,11 +144,10 @@ class OC_Task_VTodo extends OC_Calendar_Object{
$completed = null;
}
if ($completed) {
- $completed_property = new Sabre_VObject_Element_DateTime('COMPLETED');
- $timezone = OC_Preferences::getValue(OC_USER::getUser(), "calendar", "timezone", "Europe/London");
+ $timezone = OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'timezone', date_default_timezone_get());
$timezone = new DateTimeZone($timezone);
- $completed_property->setDateTime(new DateTime($completed, $timezone));
- $vtodo->COMPLETED = $completed_property;
+ $completed = new DateTime($completed, $timezone);
+ $vtodo->setDateTime('COMPLETED', $completed);
} else {
unset($vtodo->COMPLETED);
}