diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -2643,6 +2643,7 @@ 'PhabricatorPasteApplication' => 'applications/paste/application/PhabricatorPasteApplication.php', 'PhabricatorPasteArchiveController' => 'applications/paste/controller/PhabricatorPasteArchiveController.php', 'PhabricatorPasteConfigOptions' => 'applications/paste/config/PhabricatorPasteConfigOptions.php', + 'PhabricatorPasteContentSearchEngineAttachment' => 'applications/paste/engineextension/PhabricatorPasteContentSearchEngineAttachment.php', 'PhabricatorPasteController' => 'applications/paste/controller/PhabricatorPasteController.php', 'PhabricatorPasteDAO' => 'applications/paste/storage/PhabricatorPasteDAO.php', 'PhabricatorPasteEditController' => 'applications/paste/controller/PhabricatorPasteEditController.php', @@ -6883,6 +6884,7 @@ 'PhabricatorPasteApplication' => 'PhabricatorApplication', 'PhabricatorPasteArchiveController' => 'PhabricatorPasteController', 'PhabricatorPasteConfigOptions' => 'PhabricatorApplicationConfigOptions', + 'PhabricatorPasteContentSearchEngineAttachment' => 'PhabricatorSearchEngineAttachment', 'PhabricatorPasteController' => 'PhabricatorController', 'PhabricatorPasteDAO' => 'PhabricatorLiskDAO', 'PhabricatorPasteEditController' => 'PhabricatorPasteController', diff --git a/src/applications/conduit/interface/PhabricatorConduitResultInterface.php b/src/applications/conduit/interface/PhabricatorConduitResultInterface.php --- a/src/applications/conduit/interface/PhabricatorConduitResultInterface.php +++ b/src/applications/conduit/interface/PhabricatorConduitResultInterface.php @@ -5,6 +5,7 @@ public function getFieldSpecificationsForConduit(); public function getFieldValuesForConduit(); + public function getConduitSearchAttachments(); } @@ -28,4 +29,8 @@ ); } + public function getConduitSearchAttachments() { + return array(); + } + */ diff --git a/src/applications/conduit/query/ConduitResultSearchEngineExtension.php b/src/applications/conduit/query/ConduitResultSearchEngineExtension.php --- a/src/applications/conduit/query/ConduitResultSearchEngineExtension.php +++ b/src/applications/conduit/query/ConduitResultSearchEngineExtension.php @@ -29,4 +29,8 @@ return $object->getFieldValuesForConduit(); } + public function getSearchAttachments($object) { + return $object->getConduitSearchAttachments(); + } + } diff --git a/src/applications/maniphest/storage/ManiphestTask.php b/src/applications/maniphest/storage/ManiphestTask.php --- a/src/applications/maniphest/storage/ManiphestTask.php +++ b/src/applications/maniphest/storage/ManiphestTask.php @@ -437,4 +437,8 @@ ); } + public function getConduitSearchAttachments() { + return array(); + } + } diff --git a/src/applications/owners/storage/PhabricatorOwnersPackage.php b/src/applications/owners/storage/PhabricatorOwnersPackage.php --- a/src/applications/owners/storage/PhabricatorOwnersPackage.php +++ b/src/applications/owners/storage/PhabricatorOwnersPackage.php @@ -395,4 +395,8 @@ ); } + public function getConduitSearchAttachments() { + return array(); + } + } diff --git a/src/applications/paste/engineextension/PhabricatorPasteContentSearchEngineAttachment.php b/src/applications/paste/engineextension/PhabricatorPasteContentSearchEngineAttachment.php new file mode 100644 --- /dev/null +++ b/src/applications/paste/engineextension/PhabricatorPasteContentSearchEngineAttachment.php @@ -0,0 +1,24 @@ +needRawContent(true); + } + + public function getAttachmentForObject($object, $data, $spec) { + return array( + 'data' => $object->getRawContent(), + ); + } + +} diff --git a/src/applications/paste/storage/PhabricatorPaste.php b/src/applications/paste/storage/PhabricatorPaste.php --- a/src/applications/paste/storage/PhabricatorPaste.php +++ b/src/applications/paste/storage/PhabricatorPaste.php @@ -285,4 +285,11 @@ ); } + public function getConduitSearchAttachments() { + return array( + id(new PhabricatorPasteContentSearchEngineAttachment()) + ->setAttachmentKey('content'), + ); + } + } diff --git a/src/applications/project/engineextension/PhabricatorProjectsSearchEngineExtension.php b/src/applications/project/engineextension/PhabricatorProjectsSearchEngineExtension.php --- a/src/applications/project/engineextension/PhabricatorProjectsSearchEngineExtension.php +++ b/src/applications/project/engineextension/PhabricatorProjectsSearchEngineExtension.php @@ -49,7 +49,7 @@ return $fields; } - public function getSearchAttachments() { + public function getSearchAttachments($object) { return array( id(new PhabricatorProjectsSearchEngineAttachment()) ->setAttachmentKey('projects'), diff --git a/src/applications/search/engine/PhabricatorApplicationSearchEngine.php b/src/applications/search/engine/PhabricatorApplicationSearchEngine.php --- a/src/applications/search/engine/PhabricatorApplicationSearchEngine.php +++ b/src/applications/search/engine/PhabricatorApplicationSearchEngine.php @@ -1319,10 +1319,11 @@ public function getConduitSearchAttachments() { $extensions = $this->getEngineExtensions(); + $object = $this->newResultObject(); $attachments = array(); foreach ($extensions as $extension) { - $extension_attachments = $extension->getSearchAttachments(); + $extension_attachments = $extension->getSearchAttachments($object); foreach ($extension_attachments as $attachment) { $attachment_key = $attachment->getAttachmentKey(); if (isset($attachments[$attachment_key])) { diff --git a/src/applications/search/engineextension/PhabricatorSearchEngineExtension.php b/src/applications/search/engineextension/PhabricatorSearchEngineExtension.php --- a/src/applications/search/engineextension/PhabricatorSearchEngineExtension.php +++ b/src/applications/search/engineextension/PhabricatorSearchEngineExtension.php @@ -40,7 +40,7 @@ return array(); } - public function getSearchAttachments() { + public function getSearchAttachments($object) { return array(); } diff --git a/src/applications/subscriptions/engineextension/PhabricatorSubscriptionsSearchEngineExtension.php b/src/applications/subscriptions/engineextension/PhabricatorSubscriptionsSearchEngineExtension.php --- a/src/applications/subscriptions/engineextension/PhabricatorSubscriptionsSearchEngineExtension.php +++ b/src/applications/subscriptions/engineextension/PhabricatorSubscriptionsSearchEngineExtension.php @@ -50,7 +50,7 @@ return $fields; } - public function getSearchAttachments() { + public function getSearchAttachments($object) { return array( id(new PhabricatorSubscriptionsSearchEngineAttachment()) ->setAttachmentKey('subscribers'),