/** * @NoAdminRequired */ public function newTask() { //relatedto,hiddenfield, read_worker,$_POST,mytaskcal, mytaskmode $relatedto = $this->params('relatedto'); $hiddenPostField = $this->params('hiddenfield'); $myTaskCal = $this->params('mytaskcal'); $myTaskMode = $this->params('mytaskmode'); $calId = $this->params('calId'); if (isset($hiddenPostField) && $hiddenPostField === 'newitTask') { $cid = $this->params('read_worker'); $postRequestAll = $this->getParams(); $vcalendar = TasksApp::createVCalendarFromRequest($postRequestAll); $id = Object::add($cid, $vcalendar->serialize()); $vcalendar1 = TasksApp::getVCalendar($id, true, true); $vtodo = $vcalendar1->VTODO; $aTask = TasksApp::getEventObject($id, true, true); $aCalendar = CalendarCalendar::find($aTask['calendarid']); $user_timezone = CalendarApp::getTimezone(); $task_info = TasksApp::arrayForJSON($id, $vtodo, $user_timezone, $aCalendar, $aTask); $response = new JSONResponse(); $response->setData($task_info); return $response; } if (isset($relatedto) && $relatedto !== '') { $calMainId = TasksApp::getCalIdByUID($relatedto); } $calendarsArrayTmp = CalendarCalendar::allCalendars($this->userId, true); //Filter Importent Values $calendar_options = array(); $checkArray = array(); $checkShareArray = array(); $bShareCalId = ''; foreach ($calendarsArrayTmp as $calendar) { $isAktiv = $calendar['active']; if ($this->configInfo->getUserValue($this->userId, CalendarApp::$appname, 'calendar_' . $calendar['id']) != '') { $isAktiv = $this->configInfo->getUserValue($this->userId, CalendarApp::$appname, 'calendar_' . $calendar['id']); } if (!array_key_exists('active', $calendar)) { $isAktiv = 1; } if ((int) $isAktiv === 1 && $calendar['userid'] !== $this->userId) { $sharedCalendar = \OCP\Share::getItemSharedWithBySource(CalendarApp::SHARECALENDAR, CalendarApp::SHARECALENDARPREFIX . $calendar['id']); if ($sharedCalendar && $sharedCalendar['permissions'] & \OCP\PERMISSION_CREATE) { array_push($calendar_options, $calendar); $checkShareArray[$calendar['id']] = $calendar['id']; } } if ($isAktiv === 1 && $calendar['userid'] === $this->userId) { array_push($calendar_options, $calendar); $checkArray[$calendar['id']] = $calendar['id']; } } $priorityOptionsArray = TasksApp::getPriorityOptionsFilterd(); $access_class_options = CalendarApp::getAccessClassOptions(); $priorityOptions = TasksApp::generateSelectFieldArray('priority', '', $priorityOptionsArray, false); $activeCal = ''; if ($this->configInfo->getUserValue($this->userId, CalendarApp::$appname, 'choosencalendar')) { $activeCal = $this->configInfo->getUserValue($this->userId, CalendarApp::$appname, 'choosencalendar'); } $reminder_options = CalendarApp::getReminderOptions(); $reminder_advanced_options = CalendarApp::getAdvancedReminderOptions(); $reminder_time_options = CalendarApp::getReminderTimeOptions(); if ($myTaskMode !== 'calendar' || $myTaskCal === 0) { $activeCal = $activeCal; } else { $activeCal = $myTaskCal; } if (isset($calId) && $calId != '') { $activeCal = $calId; } //reminder $reminderdate = ''; $remindertime = ''; $params = ['priorityOptions' => $priorityOptions, 'relatedToUid' => $relatedto, 'access_class_options' => $access_class_options, 'calendar_options' => $calendar_options, 'calendar' => $activeCal, 'mymode' => $myTaskMode, 'mycal' => $myTaskCal, 'bShareCalId' => $bShareCalId, 'accessclass' => '', 'reminder_options' => $reminder_options, 'reminder' => 'none', 'reminder_time_options' => $reminder_time_options, 'reminder_advanced_options' => $reminder_advanced_options, 'reminder_advanced' => 'DISPLAY', 'remindertimeselect' => '', 'remindertimeinput' => '', 'reminderemailinput' => '', 'reminder_rules' => '', 'reminderdate' => '', 'remindertime' => '']; $response = new TemplateResponse($this->appName, 'event.new', $params, ''); return $response; }