@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
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 123 lines 3.6 kB view raw
1<?php 2 3final class PhabricatorPhameApplication extends PhabricatorApplication { 4 5 public function getName() { 6 return pht('Phame'); 7 } 8 9 public function getBaseURI() { 10 return '/phame/'; 11 } 12 13 public function getIcon() { 14 return 'fa-feed'; 15 } 16 17 public function getShortDescription() { 18 return pht('Internal and External Blogs'); 19 } 20 21 public function getTitleGlyph() { 22 return "\xe2\x9c\xa9"; 23 } 24 25 public function getHelpDocumentationArticles(PhabricatorUser $viewer) { 26 return array( 27 array( 28 'name' => pht('Phame User Guide'), 29 'href' => PhabricatorEnv::getDoclink('Phame User Guide'), 30 ), 31 ); 32 } 33 34 public function getMonograms() { 35 return array('J'); 36 } 37 38 public function getRoutes() { 39 return array( 40 '/J(?P<id>[1-9]\d*)' => 'PhamePostViewController', 41 '/phame/' => array( 42 '' => 'PhameHomeController', 43 44 // NOTE: The live routes include an initial "/", so leave it off 45 // this route. 46 '(?P<live>live)/(?P<blogID>\d+)' => $this->getLiveRoutes(), 47 'post/' => array( 48 '(?:query/(?P<queryKey>[^/]+)/)?' => 'PhamePostListController', 49 'blogger/(?P<bloggername>[\w\.-_]+)/' => 'PhamePostListController', 50 $this->getEditRoutePattern('edit/') 51 => 'PhamePostEditController', 52 'history/(?P<id>\d+)/' => 'PhamePostHistoryController', 53 'view/(?P<id>\d+)/(?:(?P<slug>[^/]+)/)?' => 'PhamePostViewController', 54 '(?P<action>publish|unpublish)/(?P<id>\d+)/' 55 => 'PhamePostPublishController', 56 'preview/' => 'PhabricatorMarkupPreviewController', 57 'move/(?P<id>\d+)/' => 'PhamePostMoveController', 58 'archive/(?P<id>\d+)/' => 'PhamePostArchiveController', 59 'header/(?P<id>[1-9]\d*)/' => 'PhamePostHeaderPictureController', 60 ), 61 'blog/' => array( 62 '(?:query/(?P<queryKey>[^/]+)/)?' => 'PhameBlogListController', 63 'archive/(?P<id>[^/]+)/' => 'PhameBlogArchiveController', 64 $this->getEditRoutePattern('edit/') 65 => 'PhameBlogEditController', 66 'view/(?P<blogID>\d+)/' => 'PhameBlogViewController', 67 'manage/(?P<id>[^/]+)/' => 'PhameBlogManageController', 68 'feed/(?P<id>[^/]+)/' => 'PhameBlogFeedController', 69 'picture/(?P<id>[1-9]\d*)/' => 'PhameBlogProfilePictureController', 70 'header/(?P<id>[1-9]\d*)/' => 'PhameBlogHeaderPictureController', 71 ), 72 ), 73 ); 74 } 75 76 public function getBlogRoutes() { 77 return $this->getLiveRoutes() + array( 78 '/status/' => 'PhabricatorStatusController', 79 '/favicon.ico' => 'PhabricatorFaviconController', 80 '/robots.txt' => 'PhabricatorRobotsBlogController', 81 ); 82 } 83 84 private function getLiveRoutes() { 85 return array( 86 '/' => array( 87 '' => 'PhameBlogViewController', 88 'post/(?P<id>\d+)/(?:(?P<slug>[^/]+)/)?' => 'PhamePostViewController', 89 ), 90 91 ); 92 } 93 94 public function getQuicksandURIPatternBlacklist() { 95 return array( 96 '/phame/live/.*', 97 ); 98 } 99 100 public function getRemarkupRules() { 101 return array( 102 new PhamePostRemarkupRule(), 103 ); 104 } 105 106 107 protected function getCustomCapabilities() { 108 return array( 109 PhameBlogCreateCapability::CAPABILITY => array( 110 'default' => PhabricatorPolicies::POLICY_USER, 111 'caption' => pht('Default create policy for blogs.'), 112 ), 113 ); 114 } 115 116 public function getApplicationSearchDocumentTypes() { 117 return array( 118 PhabricatorPhameBlogPHIDType::TYPECONST, 119 PhabricatorPhamePostPHIDType::TYPECONST, 120 ); 121 } 122 123}