@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 PhabricatorFavoritesProfileMenuEngine
4 extends PhabricatorProfileMenuEngine {
5
6 protected function isMenuEngineConfigurable() {
7 return true;
8 }
9
10 public function getItemURI($path) {
11 return "/favorites/menu/{$path}";
12 }
13
14 protected function getBuiltinProfileItems($object) {
15 $items = array();
16 $viewer = $this->getViewer();
17
18 $engines = PhabricatorEditEngine::getAllEditEngines();
19 $engines = msortv($engines, 'getQuickCreateOrderVector');
20
21 foreach ($engines as $engine) {
22 foreach ($engine->getDefaultQuickCreateFormKeys() as $form_key) {
23 $form_hash = PhabricatorHash::digestForIndex($form_key);
24 $builtin_key = "editengine.form({$form_hash})";
25
26 $properties = array(
27 'name' => null,
28 'formKey' => $form_key,
29 );
30
31 $items[] = $this->newItem()
32 ->setBuiltinKey($builtin_key)
33 ->setMenuItemKey(PhabricatorEditEngineProfileMenuItem::MENUITEMKEY)
34 ->setMenuItemProperties($properties);
35 }
36 }
37
38 $items[] = $this->newDividerItem('tail');
39 $items[] = $this->newManageItem()
40 ->setMenuItemProperty('name', pht('Edit Favorites'));
41
42 return $items;
43 }
44
45}