2011-09-12 23:28:28 +04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
// Init owncloud
|
|
|
|
require_once('../../../lib/base.php');
|
|
|
|
|
|
|
|
$l10n = new OC_L10N('tasks');
|
|
|
|
|
|
|
|
// Check if we are a user
|
|
|
|
if( !OC_User::isLoggedIn()){
|
|
|
|
echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('You need to log in!'))));
|
|
|
|
exit();
|
|
|
|
}
|
|
|
|
|
|
|
|
$id = $_POST['id'];
|
|
|
|
$task = OC_Calendar_Object::find( $id );
|
|
|
|
if( $task === false ){
|
|
|
|
echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('Can not find Task!'))));
|
|
|
|
exit();
|
|
|
|
}
|
|
|
|
|
|
|
|
$calendar = OC_Calendar_Calendar::findCalendar( $task['calendarid'] );
|
|
|
|
if( $calendar === false || $calendar['userid'] != OC_USER::getUser()){
|
|
|
|
echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => $l10n->t('This is not your task!'))));
|
|
|
|
exit();
|
|
|
|
}
|
|
|
|
|
2011-09-14 00:44:15 +04:00
|
|
|
$errors = OC_Task_VTodo::validateRequest($_POST, $l10n);
|
|
|
|
if (!empty($errors)) {
|
|
|
|
echo json_encode( array( 'status' => 'error', 'data' => array( 'errors' => $errors )));
|
|
|
|
exit();
|
|
|
|
}
|
|
|
|
|
|
|
|
$vcalendar = Sabre_VObject_Reader::read($task['calendardata']);
|
|
|
|
OC_Task_VTodo::updateVCalendarFromRequest($_POST, $vcalendar);
|
2011-09-12 23:28:28 +04:00
|
|
|
OC_Calendar_Object::edit($id, $vcalendar->serialize());
|
|
|
|
|
2011-09-14 00:44:15 +04:00
|
|
|
$priority_options = OC_Task_VTodo::getPriorityOptions($l10n);
|
2011-09-12 23:28:28 +04:00
|
|
|
$tmpl = new OC_Template('tasks','part.details');
|
2011-09-14 00:44:15 +04:00
|
|
|
$tmpl->assign('priority_options', $priority_options);
|
|
|
|
$tmpl->assign('details', $vcalendar->VTODO);
|
|
|
|
$tmpl->assign('id', $id);
|
2011-09-12 23:28:28 +04:00
|
|
|
$page = $tmpl->fetchPage();
|
|
|
|
|
|
|
|
echo json_encode( array( 'status' => 'success', 'data' => array( 'id' => $id, 'page' => $page )));
|