@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 PhabricatorProjectViewController
4 extends PhabricatorProjectController {
5
6 public function shouldAllowPublic() {
7 return true;
8 }
9
10 public function handleRequest(AphrontRequest $request) {
11 $request = $this->getRequest();
12 $viewer = $request->getViewer();
13
14 $response = $this->loadProject();
15 if ($response) {
16 return $response;
17 }
18 $project = $this->getProject();
19
20 $engine = $this->getProfileMenuEngine();
21 $default = $engine->getDefaultMenuItemConfiguration();
22
23 // If defaults are broken somehow, serve the manage page. See T13033 for
24 // discussion.
25 if ($default) {
26 $default_key = $default->getBuiltinKey();
27 } else {
28 $default_key = PhabricatorProject::ITEM_MANAGE;
29 }
30
31 switch ($default_key) {
32 case PhabricatorProject::ITEM_WORKBOARD:
33 $controller_object = new PhabricatorProjectBoardViewController();
34 break;
35 case PhabricatorProject::ITEM_PROFILE:
36 $controller_object = new PhabricatorProjectProfileController();
37 break;
38 case PhabricatorProject::ITEM_MANAGE:
39 $controller_object = new PhabricatorProjectManageController();
40 break;
41 default:
42 return $engine->buildResponse();
43 }
44
45 return $this->delegateToController($controller_object);
46 }
47
48}