mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-04 20:52:43 +01:00
4d7c1026f4
Summary: Ref T4029. We use a lot of very outdated content loading in Phriction, which blocks T4029. Test Plan: - Called phriction.info - Called phriction.history - Called phriction.edit - Viewed document list. - Deleted a document. - Viewed history. - Viewed a diff. - Created a document. - Edited a document. - Moved a document. - Tried to overwrite a document with "new". - Tried to overwrite a document with "move". - Viewed a moved document note. Reviewers: btrahan Reviewed By: btrahan Subscribers: shadowhand, epriestley Maniphest Tasks: T4029 Differential Revision: https://secure.phabricator.com/D9194
47 lines
1.4 KiB
PHP
47 lines
1.4 KiB
PHP
<?php
|
|
|
|
final class PhrictionSearchIndexer
|
|
extends PhabricatorSearchDocumentIndexer {
|
|
|
|
public function getIndexableObject() {
|
|
return new PhrictionDocument();
|
|
}
|
|
|
|
protected function buildAbstractDocumentByPHID($phid) {
|
|
$document = $this->loadDocumentByPHID($phid);
|
|
|
|
$content = id(new PhrictionContent())->load($document->getContentID());
|
|
$document->attachContent($content);
|
|
|
|
$content = $document->getContent();
|
|
|
|
$doc = new PhabricatorSearchAbstractDocument();
|
|
$doc->setPHID($document->getPHID());
|
|
$doc->setDocumentType(PhrictionPHIDTypeDocument::TYPECONST);
|
|
$doc->setDocumentTitle($content->getTitle());
|
|
|
|
// TODO: This isn't precisely correct, denormalize into the Document table?
|
|
$doc->setDocumentCreated($content->getDateCreated());
|
|
$doc->setDocumentModified($content->getDateModified());
|
|
|
|
$doc->addField(
|
|
PhabricatorSearchField::FIELD_BODY,
|
|
$content->getContent());
|
|
|
|
$doc->addRelationship(
|
|
PhabricatorSearchRelationship::RELATIONSHIP_AUTHOR,
|
|
$content->getAuthorPHID(),
|
|
PhabricatorPeoplePHIDTypeUser::TYPECONST,
|
|
$content->getDateCreated());
|
|
|
|
$doc->addRelationship(
|
|
($document->getStatus() == PhrictionDocumentStatus::STATUS_EXISTS)
|
|
? PhabricatorSearchRelationship::RELATIONSHIP_OPEN
|
|
: PhabricatorSearchRelationship::RELATIONSHIP_CLOSED,
|
|
$document->getPHID(),
|
|
PhrictionPHIDTypeDocument::TYPECONST,
|
|
time());
|
|
|
|
return $doc;
|
|
}
|
|
}
|