/** * Copyright (c) 2012 Georg Ehrke <*****@*****.**> * This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. */ $data = $_POST['data']; $data = explode(',', $data); $data = end($data); $data = base64_decode($data); OCP\JSON::checkLoggedIn(); OCP\App::checkAppEnabled('calendar'); $import = new OC_Calendar_Import($data); $import->setUserID(OCP\User::getUser()); $import->setTimeZone(OC_Calendar_App::$tz); $import->disableProgressCache(); if (!$import->isValid()) { OCP\JSON::error(); exit; } $newcalendarname = strip_tags($import->createCalendarName()); $newid = OC_Calendar_Calendar::addCalendar(OCP\User::getUser(), $newcalendarname, 'VEVENT,VTODO,VJOURNAL', null, 0, $import->createCalendarColor()); $import->setCalendarID($newid); $import->import(); $count = $import->getCount(); if ($count == 0) { OC_Calendar_Calendar::deleteCalendar($newid); OCP\JSON::error(array('message' => OC_Calendar_App::$l10n->t('The file contained either no events or all events are already saved in your calendar.'))); } else { OCP\JSON::success(array('message' => $count . ' ' . OC_Calendar_App::$l10n->t('events has been saved in the new calendar') . ' ' . $newcalendarname, 'eventSource' => OC_Calendar_Calendar::getEventSourceInfo(OC_Calendar_Calendar::find($newid))));
$path = (string) $argv[1]; $userid = (string) $argv[2]; $calendarid = (int) $argv[3]; $tz = (string) $argv[4]; } //it's not necessary to load all apps $RUNTIME_NOAPPS = true; require_once OCROOT . '/lib/base.php'; //set userid OC_User::setUserId($userid); //get content of calendar file $ics = file_get_contents($path); //check if calendar app is enabled and load calendar scripts OC_Util::checkAppEnabled('calendar'); OC_App::loadApp('calendar'); //delete all old calendar entries $stmt = OCP\DB::prepare('DELETE FROM `*PREFIX*clndr_objects` WHERE `calendarid` = ?'); $stmt->execute(array($calendarid)); //initialize a new import object $import = new OC_Calendar_Import($ics); $import->setCalendarID($calendarid); $import->setProgresskey(false); $import->setTimeZone($tz); //import calendar try { $import->import(); $count = $import->getCount(); echo "imported " . $count . " objects in calendar\n"; } catch (Exception $e) { echo "import failed: " . $e; }