Ejemplo n.º 1
0
 public function actionImportIcs($params)
 {
     $response = array('success' => true);
     $count = 0;
     $failed = array();
     if (!file_exists($_FILES['ical_file']['tmp_name'][0])) {
         throw new \Exception($lang['common']['noFileUploaded']);
     } else {
         $file = new \GO\Base\Fs\File($_FILES['ical_file']['tmp_name'][0]);
         $file->convertToUtf8();
         $contents = $file->getContents();
         $vcal = \GO\Base\VObject\Reader::read($contents);
         \GO\Base\VObject\Reader::convertVCalendarToICalendar($vcal);
         foreach ($vcal->vtodo as $vtask) {
             $event = new \GO\Tasks\Model\Task();
             try {
                 $event->importVObject($vtask, array('tasklist_id' => $params['tasklist_id']));
                 $count++;
             } catch (\Exception $e) {
                 $failed[] = $e->getMessage();
             }
         }
     }
     $response['feedback'] = sprintf(\GO::t('import_success', 'tasks'), $count);
     if (count($failed)) {
         $response['feedback'] .= "\n\n" . count($failed) . " tasks failed: " . implode('\\n', $failed);
     }
     return $response;
 }
Ejemplo n.º 2
0
 protected function actionImportIcs($params)
 {
     $file = new \GO\Base\Fs\File($params['file']);
     $data = $file->getContents();
     $vcalendar = \GO\Base\VObject\Reader::read($data);
     \GO\Base\VObject\Reader::convertVCalendarToICalendar($vcalendar);
     foreach ($vcalendar->vtodo as $vtodo) {
         $task = new \GO\Tasks\Model\Task();
         $task->importVObject($vtodo);
     }
 }