diff options
Diffstat (limited to 'apps/calendar')
-rw-r--r-- | apps/calendar/export.php | 34 | ||||
-rw-r--r-- | apps/calendar/templates/part.editevent.php | 1 |
2 files changed, 25 insertions, 10 deletions
diff --git a/apps/calendar/export.php b/apps/calendar/export.php index feb4755a3aa..b3e5ecd6834 100644 --- a/apps/calendar/export.php +++ b/apps/calendar/export.php @@ -10,15 +10,29 @@ require_once ("../../lib/base.php"); OC_Util::checkLoggedIn(); OC_Util::checkAppEnabled('calendar'); $cal = $_GET["calid"]; -$calendar = OC_Calendar_Calendar::findCalendar($cal); -if($calendar["userid"] != OC_User::getUser()){ - header( 'Location: '.OC_Helper::linkTo('', 'index.php')); - exit; -} -$calobjects = OC_Calendar_Object::all($cal); -header("Content-Type: text/Calendar"); -header("Content-Disposition: inline; filename=calendar.ics"); -for($i = 0;$i <= count($calobjects); $i++){ - echo $calobjects[$i]["calendardata"] . "\n"; +$event = $_GET["eventid"]; +if(isset($cal)){ + $calendar = OC_Calendar_Calendar::findCalendar($cal); + if($calendar["userid"] != OC_User::getUser()){ + OC_JSON::error(); + exit; + } + $calobjects = OC_Calendar_Object::all($cal); + header("Content-Type: text/Calendar"); + header("Content-Disposition: inline; filename=calendar.ics"); + for($i = 0;$i <= count($calobjects); $i++){ + echo $calobjects[$i]["calendardata"] . "\n"; + } +}elseif(isset($event)){ + $data = OC_Calendar_Object::find($_GET["eventid"]); + $calendarid = $data["calendarid"]; + $calendar = OC_Calendar_Calendar::findCalendar($calendarid); + if($calendar["userid"] != OC_User::getUser()){ + OC_JSON::error(); + exit; + } + header("Content-Type: text/Calendar"); + header("Content-Disposition: inline; filename=" . $data["summary"] . ".ics"); + echo $data["calendardata"]; } ?> diff --git a/apps/calendar/templates/part.editevent.php b/apps/calendar/templates/part.editevent.php index be637aeae55..ae969f2dc3b 100644 --- a/apps/calendar/templates/part.editevent.php +++ b/apps/calendar/templates/part.editevent.php @@ -6,6 +6,7 @@ <span id="actions"> <input type="button" class="submit" style="float: left;" value="<?php echo $l->t("Submit");?>" onclick="Calendar.UI.validateEventForm('ajax/editevent.php');"> <input type="button" class="submit" style="float: left;" name="delete" value="<?php echo $l->t("Delete");?>" onclick="Calendar.UI.submitDeleteEventForm('ajax/deleteevent.php');"> + <input type="button" class="submit" style="float: right;" name="export" value="<?php echo $l->t("Export");?>" onclick="window.location='export.php?eventid=<?php echo $_['id'] ?>';"> </span> </form> </div> |