@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 PhabricatorConpherenceApplication extends PhabricatorApplication {
4
5 public function getBaseURI() {
6 return '/conpherence/';
7 }
8
9 public function getName() {
10 return pht('Conpherence');
11 }
12
13 public function getShortDescription() {
14 return pht('Chat with Others');
15 }
16
17 public function getIcon() {
18 return 'fa-comments';
19 }
20
21 public function getTitleGlyph() {
22 return "\xE2\x9C\x86";
23 }
24
25 public function getRemarkupRules() {
26 return array(
27 new ConpherenceThreadRemarkupRule(),
28 );
29 }
30
31 public function getMonograms() {
32 return array('Z');
33 }
34
35 public function getRoutes() {
36 return array(
37 '/Z(?P<id>[1-9]\d*)'
38 => 'ConpherenceViewController',
39 '/conpherence/' => array(
40 ''
41 => 'ConpherenceListController',
42 'thread/(?P<id>[1-9]\d*)/'
43 => 'ConpherenceListController',
44 'threadsearch/(?P<id>[1-9]\d*)/'
45 => 'ConpherenceThreadSearchController',
46 '(?P<id>[1-9]\d*)/'
47 => 'ConpherenceViewController',
48 '(?P<id>[1-9]\d*)/(?P<messageID>[1-9]\d*)/'
49 => 'ConpherenceViewController',
50 'columnview/'
51 => 'ConpherenceColumnViewController',
52 $this->getEditRoutePattern('new/')
53 => 'ConpherenceRoomEditController',
54 $this->getEditRoutePattern('edit/')
55 => 'ConpherenceRoomEditController',
56 'picture/(?P<id>[1-9]\d*)/'
57 => 'ConpherenceRoomPictureController',
58 'search/(?:query/(?P<queryKey>[^/]+)/)?'
59 => 'ConpherenceRoomListController',
60 'panel/'
61 => 'ConpherenceNotificationPanelController',
62 'participant/(?P<id>[1-9]\d*)/'
63 => 'ConpherenceParticipantController',
64 'preferences/(?P<id>[1-9]\d*)/'
65 => 'ConpherenceRoomPreferencesController',
66 'update/(?P<id>[1-9]\d*)/'
67 => 'ConpherenceUpdateController',
68 ),
69 );
70 }
71
72 public function getQuicksandURIPatternBlacklist() {
73 return array(
74 '/conpherence/.*',
75 '/Z\d+',
76 );
77 }
78
79 protected function getCustomCapabilities() {
80 return array(
81 ConpherenceCreateRoomCapability::CAPABILITY => array(
82 'default' => PhabricatorPolicies::POLICY_USER,
83 ),
84 );
85 }
86
87 public function getMailCommandObjects() {
88
89 // TODO: Conpherence threads don't currently support any commands directly,
90 // so the documentation page we end up generating is empty and funny
91 // looking. Add support here once we support "!add", "!leave", "!topic",
92 // or whatever else.
93
94 return array();
95 }
96
97}