From 18bac944b4b0a63e99f6b6971de6ae788d3e39f1 Mon Sep 17 00:00:00 2001
From: Bart Visscher <bartv@thisnet.nl>
Date: Wed, 22 Feb 2012 20:21:27 +0100
Subject: Change loading of tasks to ajax call

---
 apps/tasks/ajax/gettasks.php | 58 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 apps/tasks/ajax/gettasks.php

(limited to 'apps/tasks/ajax')

diff --git a/apps/tasks/ajax/gettasks.php b/apps/tasks/ajax/gettasks.php
new file mode 100644
index 00000000000..7dc94dacb45
--- /dev/null
+++ b/apps/tasks/ajax/gettasks.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Copyright (c) 2011 Georg Ehrke <ownclouddev at georgswebsite dot de>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+// Init owncloud
+require_once('../../../lib/base.php');
+OC_JSON::checkLoggedIn();
+OC_JSON::checkAppEnabled('tasks');
+
+$calendars = OC_Calendar_Calendar::allCalendars(OC_User::getUser(), true);
+$user_timezone = OC_Preferences::getValue(OC_USER::getUser(), 'calendar', 'timezone', date_default_timezone_get());
+
+$tasks = array();
+foreach( $calendars as $calendar ){
+        $calendar_tasks = OC_Calendar_Object::all($calendar['id']);
+        foreach( $calendar_tasks as $task ){
+                if($task['objecttype']!='VTODO'){
+                        continue;
+                }
+                if(is_null($task['summary'])){
+                        continue;
+                }
+		$object = OC_VObject::parse($task['calendardata']);
+		$vtodo = $object->VTODO;
+                $task = array( 'id' => $task['id'] );
+		$task['summary'] = $vtodo->getAsString('SUMMARY');
+		$task['description'] = $vtodo->getAsString('DESCRIPTION');
+		$task['location'] = $vtodo->getAsString('LOCATION');
+		$task['categories'] = $vtodo->getAsArray('CATEGORIES');
+		$due = $vtodo->DUE;
+		if ($due) {
+			$due = $due->getDateTime();
+			$due->setTimezone(new DateTimeZone($user_timezone));
+			$task['due'] = $due->format('Y-m-d H:i:s');
+		}
+		else {
+			$task['due'] = false;
+		}
+		$task['priority'] = $vtodo->getAsString('PRIORITY');
+		$completed = $vtodo->COMPLETED;
+		if ($completed) {
+			$completed = $completed->getDateTime();
+			$completed->setTimezone(new DateTimeZone($user_timezone));
+			$task['completed'] = $completed->format('Y-m-d H:i:s');
+		}
+		else {
+			$task['completed'] = false;
+		}
+		$task['complete'] = $vtodo->getAsString('PERCENT-COMPLETE');
+		$tasks[] = $task;
+        }
+}
+
+OC_JSON::encodedPrint($tasks);
-- 
cgit v1.2.3