mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-20 10:48:40 +01:00
Make PhameBlog full text searchable
Summary: Ref T9897, makes blogs searchable Test Plan: Make a blog, index it, search for it. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T9897 Differential Revision: https://secure.phabricator.com/D16119
This commit is contained in:
parent
2e45021250
commit
cfa73eb544
4 changed files with 44 additions and 1 deletions
|
@ -3764,6 +3764,7 @@ phutil_register_library_map(array(
|
|||
'PhameBlogEditEngine' => 'applications/phame/editor/PhameBlogEditEngine.php',
|
||||
'PhameBlogEditor' => 'applications/phame/editor/PhameBlogEditor.php',
|
||||
'PhameBlogFeedController' => 'applications/phame/controller/blog/PhameBlogFeedController.php',
|
||||
'PhameBlogFulltextEngine' => 'applications/phame/search/PhameBlogFulltextEngine.php',
|
||||
'PhameBlogListController' => 'applications/phame/controller/blog/PhameBlogListController.php',
|
||||
'PhameBlogListView' => 'applications/phame/view/PhameBlogListView.php',
|
||||
'PhameBlogManageController' => 'applications/phame/controller/blog/PhameBlogManageController.php',
|
||||
|
@ -8615,6 +8616,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorDestructibleInterface',
|
||||
'PhabricatorApplicationTransactionInterface',
|
||||
'PhabricatorConduitResultInterface',
|
||||
'PhabricatorFulltextInterface',
|
||||
),
|
||||
'PhameBlog404Controller' => 'PhameLiveController',
|
||||
'PhameBlogArchiveController' => 'PhameBlogController',
|
||||
|
@ -8625,6 +8627,7 @@ phutil_register_library_map(array(
|
|||
'PhameBlogEditEngine' => 'PhabricatorEditEngine',
|
||||
'PhameBlogEditor' => 'PhabricatorApplicationTransactionEditor',
|
||||
'PhameBlogFeedController' => 'PhameBlogController',
|
||||
'PhameBlogFulltextEngine' => 'PhabricatorFulltextEngine',
|
||||
'PhameBlogListController' => 'PhameBlogController',
|
||||
'PhameBlogListView' => 'AphrontTagView',
|
||||
'PhameBlogManageController' => 'PhameBlogController',
|
||||
|
|
|
@ -34,6 +34,11 @@ final class PhabricatorPhameBlogPHIDType extends PhabricatorPHIDType {
|
|||
$handle->setName($blog->getName());
|
||||
$handle->setFullName($blog->getName());
|
||||
$handle->setURI('/phame/blog/view/'.$blog->getID().'/');
|
||||
|
||||
if ($blog->isArchived()) {
|
||||
$handle->setStatus(PhabricatorObjectHandle::STATUS_CLOSED);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
28
src/applications/phame/search/PhameBlogFulltextEngine.php
Normal file
28
src/applications/phame/search/PhameBlogFulltextEngine.php
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
final class PhameBlogFulltextEngine
|
||||
extends PhabricatorFulltextEngine {
|
||||
|
||||
protected function buildAbstractDocument(
|
||||
PhabricatorSearchAbstractDocument $document,
|
||||
$object) {
|
||||
|
||||
$blog = $object;
|
||||
|
||||
$document->setDocumentTitle($blog->getName());
|
||||
|
||||
$document->addField(
|
||||
PhabricatorSearchDocumentFieldType::FIELD_BODY,
|
||||
$blog->getDescription());
|
||||
|
||||
$document->addRelationship(
|
||||
$blog->isArchived()
|
||||
? PhabricatorSearchRelationship::RELATIONSHIP_CLOSED
|
||||
: PhabricatorSearchRelationship::RELATIONSHIP_OPEN,
|
||||
$blog->getPHID(),
|
||||
PhabricatorPhameBlogPHIDType::TYPECONST,
|
||||
PhabricatorTime::getNow());
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -9,7 +9,8 @@ final class PhameBlog extends PhameDAO
|
|||
PhabricatorProjectInterface,
|
||||
PhabricatorDestructibleInterface,
|
||||
PhabricatorApplicationTransactionInterface,
|
||||
PhabricatorConduitResultInterface {
|
||||
PhabricatorConduitResultInterface,
|
||||
PhabricatorFulltextInterface {
|
||||
|
||||
const MARKUP_FIELD_DESCRIPTION = 'markup:description';
|
||||
|
||||
|
@ -370,4 +371,10 @@ final class PhameBlog extends PhameDAO
|
|||
}
|
||||
|
||||
|
||||
/* -( PhabricatorFulltextInterface )--------------------------------------- */
|
||||
|
||||
public function newFulltextEngine() {
|
||||
return new PhameBlogFulltextEngine();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue