@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class PhabricatorCalendarEventExportController
4 extends PhabricatorCalendarController {
5
6 public function shouldAllowPublic() {
7 return true;
8 }
9
10 public function handleRequest(AphrontRequest $request) {
11 $viewer = $this->getViewer();
12 $id = $request->getURIData('id');
13
14 $event = id(new PhabricatorCalendarEventQuery())
15 ->setViewer($viewer)
16 ->withIDs(array($id))
17 ->executeOne();
18 if (!$event) {
19 return new Aphront404Response();
20 }
21
22 if ($event->isChildEvent()) {
23 $target = $event->getParentEvent();
24 } else {
25 $target = $event;
26 }
27
28 return $this->newICSResponse(
29 $viewer,
30 $target->getICSFileName(),
31 array($target));
32 }
33
34}