@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
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add PhamePost to full text search

Summary: Adds PhamePost object to fulltextsearch index. Some issue searching just "Open" though? Also "closed" objects search fine but don't display as disabled.

Test Plan:
bin/search index --type POST

{F1687043}

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Maniphest Tasks: T9897

Differential Revision: https://secure.phabricator.com/D16116

+52 -1
+3
src/__phutil_library_map__.php
··· 3792 3792 'PhamePostEditController' => 'applications/phame/controller/post/PhamePostEditController.php', 3793 3793 'PhamePostEditEngine' => 'applications/phame/editor/PhamePostEditEngine.php', 3794 3794 'PhamePostEditor' => 'applications/phame/editor/PhamePostEditor.php', 3795 + 'PhamePostFulltextEngine' => 'applications/phame/search/PhamePostFulltextEngine.php', 3795 3796 'PhamePostHistoryController' => 'applications/phame/controller/post/PhamePostHistoryController.php', 3796 3797 'PhamePostListController' => 'applications/phame/controller/post/PhamePostListController.php', 3797 3798 'PhamePostListView' => 'applications/phame/view/PhamePostListView.php', ··· 8655 8656 'PhabricatorDestructibleInterface', 8656 8657 'PhabricatorTokenReceiverInterface', 8657 8658 'PhabricatorConduitResultInterface', 8659 + 'PhabricatorFulltextInterface', 8658 8660 ), 8659 8661 'PhamePostArchiveController' => 'PhamePostController', 8660 8662 'PhamePostCommentController' => 'PhamePostController', ··· 8663 8665 'PhamePostEditController' => 'PhamePostController', 8664 8666 'PhamePostEditEngine' => 'PhabricatorEditEngine', 8665 8667 'PhamePostEditor' => 'PhabricatorApplicationTransactionEditor', 8668 + 'PhamePostFulltextEngine' => 'PhabricatorFulltextEngine', 8666 8669 'PhamePostHistoryController' => 'PhamePostController', 8667 8670 'PhamePostListController' => 'PhamePostController', 8668 8671 'PhamePostListView' => 'AphrontTagView',
+6
src/applications/phame/phid/PhabricatorPhamePostPHIDType.php
··· 34 34 $handle->setName($post->getTitle()); 35 35 $handle->setFullName($post->getTitle()); 36 36 $handle->setURI('/phame/post/view/'.$post->getID().'/'); 37 + 38 + if ($post->isArchived()) { 39 + $handle->setStatus(PhabricatorObjectHandle::STATUS_CLOSED); 40 + } 41 + 37 42 } 43 + 38 44 } 39 45 40 46 }
+34
src/applications/phame/search/PhamePostFulltextEngine.php
··· 1 + <?php 2 + 3 + final class PhamePostFulltextEngine 4 + extends PhabricatorFulltextEngine { 5 + 6 + protected function buildAbstractDocument( 7 + PhabricatorSearchAbstractDocument $document, 8 + $object) { 9 + 10 + $post = $object; 11 + 12 + $document->setDocumentTitle($post->getTitle()); 13 + 14 + $document->addField( 15 + PhabricatorSearchDocumentFieldType::FIELD_BODY, 16 + $post->getBody()); 17 + 18 + $document->addRelationship( 19 + PhabricatorSearchRelationship::RELATIONSHIP_AUTHOR, 20 + $post->getBloggerPHID(), 21 + PhabricatorPeopleUserPHIDType::TYPECONST, 22 + $post->getDateCreated()); 23 + 24 + $document->addRelationship( 25 + $post->isArchived() 26 + ? PhabricatorSearchRelationship::RELATIONSHIP_CLOSED 27 + : PhabricatorSearchRelationship::RELATIONSHIP_OPEN, 28 + $post->getPHID(), 29 + PhabricatorPhamePostPHIDType::TYPECONST, 30 + PhabricatorTime::getNow()); 31 + 32 + } 33 + 34 + }
+9 -1
src/applications/phame/storage/PhamePost.php
··· 10 10 PhabricatorSubscribableInterface, 11 11 PhabricatorDestructibleInterface, 12 12 PhabricatorTokenReceiverInterface, 13 - PhabricatorConduitResultInterface { 13 + PhabricatorConduitResultInterface, 14 + PhabricatorFulltextInterface { 14 15 15 16 const MARKUP_FIELD_BODY = 'markup:body'; 16 17 const MARKUP_FIELD_SUMMARY = 'markup:summary'; ··· 342 343 343 344 public function getConduitSearchAttachments() { 344 345 return array(); 346 + } 347 + 348 + 349 + /* -( PhabricatorFulltextInterface )--------------------------------------- */ 350 + 351 + public function newFulltextEngine() { 352 + return new PhamePostFulltextEngine(); 345 353 } 346 354 347 355 }