Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/chatlog/storage/PhabricatorChatLogEvent.php
12242 views
1
<?php
2
3
final class PhabricatorChatLogEvent
4
extends PhabricatorChatLogDAO
5
implements PhabricatorPolicyInterface {
6
7
protected $channelID;
8
protected $epoch;
9
protected $author;
10
protected $type;
11
protected $message;
12
protected $loggedByPHID;
13
14
private $channel = self::ATTACHABLE;
15
16
protected function getConfiguration() {
17
return array(
18
self::CONFIG_TIMESTAMPS => false,
19
self::CONFIG_COLUMN_SCHEMA => array(
20
'author' => 'text64',
21
'type' => 'text4',
22
'message' => 'text',
23
),
24
self::CONFIG_KEY_SCHEMA => array(
25
'channel' => array(
26
'columns' => array('epoch'),
27
),
28
),
29
) + parent::getConfiguration();
30
}
31
32
public function attachChannel(PhabricatorChatLogChannel $channel) {
33
$this->channel = $channel;
34
return $this;
35
}
36
37
public function getChannel() {
38
return $this->assertAttached($this->channel);
39
}
40
41
42
/* -( PhabricatorPolicyInterface )----------------------------------------- */
43
44
45
public function getCapabilities() {
46
return array(
47
PhabricatorPolicyCapability::CAN_VIEW,
48
);
49
}
50
51
public function getPolicy($capability) {
52
return $this->getChannel()->getPolicy($capability);
53
}
54
55
public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {
56
return $this->getChannel()->hasAutomaticCapability($capability, $viewer);
57
}
58
59
}
60
61