mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-26 05:29:06 +01:00
38 lines
941 B
PHP
38 lines
941 B
PHP
|
<?php
|
||
|
|
||
|
final class PhabricatorProjectsFulltextEngineExtension
|
||
|
extends PhabricatorFulltextEngineExtension {
|
||
|
|
||
|
const EXTENSIONKEY = 'projects';
|
||
|
|
||
|
public function getExtensionName() {
|
||
|
return pht('Projects');
|
||
|
}
|
||
|
|
||
|
public function shouldIndexFulltextObject($object) {
|
||
|
return ($object instanceof PhabricatorProjectInterface);
|
||
|
}
|
||
|
|
||
|
public function indexFulltextObject(
|
||
|
$object,
|
||
|
PhabricatorSearchAbstractDocument $document) {
|
||
|
|
||
|
$project_phids = PhabricatorEdgeQuery::loadDestinationPHIDs(
|
||
|
$object->getPHID(),
|
||
|
PhabricatorProjectObjectHasProjectEdgeType::EDGECONST);
|
||
|
|
||
|
if (!$project_phids) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
foreach ($project_phids as $project_phid) {
|
||
|
$document->addRelationship(
|
||
|
PhabricatorSearchRelationship::RELATIONSHIP_PROJECT,
|
||
|
$project_phid,
|
||
|
PhabricatorProjectProjectPHIDType::TYPECONST,
|
||
|
$document->getDocumentModified()); // Bogus timestamp.
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|