@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 PhabricatorProjectsFulltextEngineExtension
4 extends PhabricatorFulltextEngineExtension {
5
6 const EXTENSIONKEY = 'projects';
7
8 public function getExtensionName() {
9 return pht('Projects');
10 }
11
12 public function shouldEnrichFulltextObject($object) {
13 return ($object instanceof PhabricatorProjectInterface);
14 }
15
16 public function enrichFulltextObject(
17 $object,
18 PhabricatorSearchAbstractDocument $document) {
19
20 $project_phids = PhabricatorEdgeQuery::loadDestinationPHIDs(
21 $object->getPHID(),
22 PhabricatorProjectObjectHasProjectEdgeType::EDGECONST);
23
24 if (!$project_phids) {
25 return;
26 }
27
28 foreach ($project_phids as $project_phid) {
29 $document->addRelationship(
30 PhabricatorSearchRelationship::RELATIONSHIP_PROJECT,
31 $project_phid,
32 PhabricatorProjectProjectPHIDType::TYPECONST,
33 $document->getDocumentModified()); // Bogus timestamp.
34 }
35 }
36
37}