Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/infrastructure/customfield/engineextension/PhabricatorCustomFieldFulltextEngineExtension.php
12242 views
1
<?php
2
3
final class PhabricatorCustomFieldFulltextEngineExtension
4
extends PhabricatorFulltextEngineExtension {
5
6
const EXTENSIONKEY = 'customfield.fields';
7
8
public function getExtensionName() {
9
return pht('Custom Fields');
10
}
11
12
public function shouldEnrichFulltextObject($object) {
13
return ($object instanceof PhabricatorCustomFieldInterface);
14
}
15
16
public function enrichFulltextObject(
17
$object,
18
PhabricatorSearchAbstractDocument $document) {
19
20
// Rebuild the ApplicationSearch indexes. These are internal and not part
21
// of the fulltext search, but putting them in this workflow allows users
22
// to use the same tools to rebuild the indexes, which is easy to
23
// understand.
24
25
$field_list = PhabricatorCustomField::getObjectFields(
26
$object,
27
PhabricatorCustomField::ROLE_DEFAULT);
28
29
$field_list->setViewer($this->getViewer());
30
$field_list->readFieldsFromStorage($object);
31
32
// Rebuild ApplicationSearch indexes.
33
$field_list->rebuildIndexes($object);
34
35
// Rebuild global search indexes.
36
$field_list->updateAbstractDocument($document);
37
}
38
39
}
40
41