@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 PhabricatorCalendarExternalInvitee
4 extends PhabricatorCalendarDAO
5 implements PhabricatorPolicyInterface {
6
7 protected $name;
8 protected $nameIndex;
9 protected $uri;
10 protected $parameters = array();
11 protected $sourcePHID;
12
13 public static function initializeNewCalendarEventInvitee(
14 PhabricatorUser $actor, $event) {
15 return id(new PhabricatorCalendarEventInvitee())
16 ->setInviterPHID($actor->getPHID())
17 ->setStatus(PhabricatorCalendarEventInvitee::STATUS_INVITED)
18 ->setEventPHID($event->getPHID());
19 }
20
21 protected function getConfiguration() {
22 return array(
23 self::CONFIG_AUX_PHID => true,
24 self::CONFIG_SERIALIZATION => array(
25 'parameters' => self::SERIALIZATION_JSON,
26 ),
27 self::CONFIG_COLUMN_SCHEMA => array(
28 'name' => 'text',
29 'nameIndex' => 'bytes12',
30 'uri' => 'text',
31 ),
32 self::CONFIG_KEY_SCHEMA => array(
33 'key_name' => array(
34 'columns' => array('nameIndex'),
35 'unique' => true,
36 ),
37 ),
38 ) + parent::getConfiguration();
39 }
40
41 public function getPHIDType() {
42 return PhabricatorCalendarExternalInviteePHIDType::TYPECONST;
43 }
44
45 public function save() {
46 $this->nameIndex = PhabricatorHash::digestForIndex($this->getName());
47 return parent::save();
48 }
49
50
51/* -( PhabricatorPolicyInterface )----------------------------------------- */
52
53
54 public function getCapabilities() {
55 return array(
56 PhabricatorPolicyCapability::CAN_VIEW,
57 );
58 }
59
60 public function getPolicy($capability) {
61 switch ($capability) {
62 case PhabricatorPolicyCapability::CAN_VIEW:
63 return PhabricatorPolicies::getMostOpenPolicy();
64 }
65 }
66
67 public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {
68 return false;
69 }
70
71}