Page MenuHomePhorge

No OneTemporary

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
index 71fbc53..e82d16b 100644
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -1,162 +1,163 @@
<?php
/**
* This file is automatically generated. Use 'arc liberate' to rebuild it.
*
* @generated
* @phutil-library-version 2
*/
phutil_register_library_map(array(
'__library_version__' => 2,
'class' => array(
'SemiStructuredBaseController' => 'controller/SemiStructuredBaseController.php',
'SemiStructuredDAO' => 'storage/SemiStructuredDAO.php',
'SemiStructuredDataApplication' => 'application/SemiStructuredDataApplication.php',
'SemiStructuredInstanceConfiguredCustomField' => 'customfield/SemiStructuredInstanceConfiguredCustomField.php',
'SemiStructuredInstanceConfiguredCustomFieldStorage' => 'storage/SemiStructuredInstanceConfiguredCustomFieldStorage.php',
'SemiStructuredInstanceCustomField' => 'customfield/SemiStructuredInstanceCustomField.php',
'SemiStructuredInstanceCustomFieldNumericIndex' => 'storage/SemiStructuredInstanceCustomFieldNumericIndex.php',
'SemiStructuredInstanceCustomFieldStringIndex' => 'storage/SemiStructuredInstanceCustomFieldStringIndex.php',
'SemiStructuredInstanceEditConduitAPIMethod' => 'conduit/SemiStructuredInstanceEditConduitAPIMethod.php',
'SemiStructuredInstanceSearchConduitAPIMethod' => 'conduit/SemiStructuredInstanceSearchConduitAPIMethod.php',
'SemiStructuredObjectInstance' => 'storage/SemiStructuredObjectInstance.php',
'SemiStructuredObjectInstanceClassTransaction' => 'xaction/instance/SemiStructuredObjectInstanceClassTransaction.php',
'SemiStructuredObjectInstanceController' => 'controller/instance/SemiStructuredObjectInstanceController.php',
'SemiStructuredObjectInstanceDescriptionTransaction' => 'xaction/instance/SemiStructuredObjectInstanceDescriptionTransaction.php',
'SemiStructuredObjectInstanceEditController' => 'controller/instance/SemiStructuredObjectInstanceEditController.php',
'SemiStructuredObjectInstanceEditEngine' => 'editor/SemiStructuredObjectInstanceEditEngine.php',
'SemiStructuredObjectInstanceFerretEngine' => 'search/SemiStructuredObjectInstanceFerretEngine.php',
'SemiStructuredObjectInstanceFulltextEngine' => 'search/SemiStructuredObjectInstanceFulltextEngine.php',
'SemiStructuredObjectInstanceListController' => 'controller/instance/SemiStructuredObjectInstanceListController.php',
'SemiStructuredObjectInstanceMailReceiver' => 'mail/SemiStructuredObjectInstanceMailReceiver.php',
'SemiStructuredObjectInstanceNameTransaction' => 'xaction/instance/SemiStructuredObjectInstanceNameTransaction.php',
'SemiStructuredObjectInstancePHIDType' => 'phid/SemiStructuredObjectInstancePHIDType.php',
'SemiStructuredObjectInstanceQuery' => 'query/SemiStructuredObjectInstanceQuery.php',
'SemiStructuredObjectInstanceRawDataTransaction' => 'xaction/instance/SemiStructuredObjectInstanceRawDataTransaction.php',
'SemiStructuredObjectInstanceReplyHandler' => 'mail/SemiStructuredObjectInstanceReplyHandler.php',
'SemiStructuredObjectInstanceSearchEngine' => 'query/SemiStructuredObjectInstanceSearchEngine.php',
'SemiStructuredObjectInstanceTransaction' => 'storage/SemiStructuredObjectInstanceTransaction.php',
'SemiStructuredObjectInstanceTransactionComment' => 'storage/SemiStructuredObjectInstanceTransactionComment.php',
'SemiStructuredObjectInstanceTransactionEditor' => 'editor/SemiStructuredObjectInstanceTransactionEditor.php',
'SemiStructuredObjectInstanceTransactionQuery' => 'query/SemiStructuredObjectInstanceTransactionQuery.php',
'SemiStructuredObjectInstanceTransactionType' => 'xaction/instance/SemiStructuredObjectInstanceTransactionType.php',
'SemiStructuredObjectInstanceViewController' => 'controller/instance/SemiStructuredObjectInstanceViewController.php',
'SemiStructuredObjectNewInstanceController' => 'controller/class/SemiStructuredObjectNewInstanceController.php',
'SemiStructuredObjectType' => 'storage/SemiStructuredObjectType.php',
'SemiStructuredObjectTypeArchiveController' => 'controller/class/SemiStructuredObjectTypeArchiveController.php',
'SemiStructuredObjectTypeController' => 'controller/class/SemiStructuredObjectTypeController.php',
'SemiStructuredObjectTypeCustomFieldsTransaction' => 'xaction/class/SemiStructuredObjectTypeCustomFieldsTransaction.php',
'SemiStructuredObjectTypeDescriptionTransaction' => 'xaction/class/SemiStructuredObjectTypeDescriptionTransaction.php',
'SemiStructuredObjectTypeEditController' => 'controller/class/SemiStructuredObjectTypeEditController.php',
'SemiStructuredObjectTypeEditEngine' => 'editor/SemiStructuredObjectTypeEditEngine.php',
'SemiStructuredObjectTypeFerretEngine' => 'search/SemiStructuredObjectTypeFerretEngine.php',
'SemiStructuredObjectTypeFulltextEngine' => 'search/SemiStructuredObjectTypeFulltextEngine.php',
'SemiStructuredObjectTypeListController' => 'controller/class/SemiStructuredObjectTypeListController.php',
'SemiStructuredObjectTypeMailReceiver' => 'mail/SemiStructuredObjectTypeMailReceiver.php',
'SemiStructuredObjectTypeNameTransaction' => 'xaction/class/SemiStructuredObjectTypeNameTransaction.php',
'SemiStructuredObjectTypePHIDType' => 'phid/SemiStructuredObjectTypePHIDType.php',
'SemiStructuredObjectTypeQuery' => 'query/SemiStructuredObjectTypeQuery.php',
'SemiStructuredObjectTypeRemarkupRule' => 'remarkup/SemiStructuredObjectTypeRemarkupRule.php',
'SemiStructuredObjectTypeReplyHandler' => 'mail/SemiStructuredObjectTypeReplyHandler.php',
'SemiStructuredObjectTypeSearchEngine' => 'query/SemiStructuredObjectTypeSearchEngine.php',
'SemiStructuredObjectTypeStatusTransaction' => 'xaction/class/SemiStructuredObjectTypeStatusTransaction.php',
'SemiStructuredObjectTypeTransaction' => 'storage/SemiStructuredObjectTypeTransaction.php',
'SemiStructuredObjectTypeTransactionComment' => 'storage/SemiStructuredObjectTypeTransactionComment.php',
'SemiStructuredObjectTypeTransactionEditor' => 'editor/SemiStructuredObjectTypeTransactionEditor.php',
'SemiStructuredObjectTypeTransactionQuery' => 'query/SemiStructuredObjectTypeTransactionQuery.php',
'SemiStructuredObjectTypeTransactionType' => 'xaction/class/SemiStructuredObjectTypeTransactionType.php',
'SemiStructuredObjectTypeViewController' => 'controller/class/SemiStructuredObjectTypeViewController.php',
'SemiStructuredPatchList' => 'storage/SemiStructuredPatchList.php',
'SemiStructuredSchemaSpec' => 'storage/SemiStructuredSchemaSpec.php',
'SemiStructuredStaticSearchField' => '_to_upstream/SemiStructuredStaticSearchField.php',
),
'function' => array(),
'xmap' => array(
'SemiStructuredBaseController' => 'PhabricatorController',
'SemiStructuredDAO' => 'PhabricatorLiskDAO',
'SemiStructuredDataApplication' => 'PhabricatorApplication',
'SemiStructuredInstanceConfiguredCustomField' => array(
'SemiStructuredInstanceCustomField',
'PhabricatorStandardCustomFieldInterface',
),
'SemiStructuredInstanceConfiguredCustomFieldStorage' => 'PhabricatorCustomFieldStorage',
'SemiStructuredInstanceCustomField' => 'PhabricatorCustomField',
'SemiStructuredInstanceCustomFieldNumericIndex' => 'PhabricatorCustomFieldNumericIndexStorage',
'SemiStructuredInstanceCustomFieldStringIndex' => 'PhabricatorCustomFieldStringIndexStorage',
'SemiStructuredInstanceEditConduitAPIMethod' => 'PhabricatorEditEngineAPIMethod',
'SemiStructuredInstanceSearchConduitAPIMethod' => 'PhabricatorSearchEngineAPIMethod',
'SemiStructuredObjectInstance' => array(
'SemiStructuredDAO',
'PhabricatorPolicyInterface',
'PhabricatorApplicationTransactionInterface',
'PhabricatorSubscribableInterface',
'PhabricatorFlaggableInterface',
'PhabricatorProjectInterface',
'PhabricatorFerretInterface',
'PhabricatorFulltextInterface',
'PhabricatorMentionableInterface',
'PhabricatorConduitResultInterface',
'PhabricatorCustomFieldInterface',
'PhabricatorDestructibleInterface',
),
'SemiStructuredObjectInstanceClassTransaction' => 'SemiStructuredObjectInstanceTransactionType',
'SemiStructuredObjectInstanceController' => 'SemiStructuredBaseController',
'SemiStructuredObjectInstanceDescriptionTransaction' => 'SemiStructuredObjectInstanceTransactionType',
'SemiStructuredObjectInstanceEditController' => 'SemiStructuredBaseController',
'SemiStructuredObjectInstanceEditEngine' => 'PhabricatorEditEngine',
'SemiStructuredObjectInstanceFerretEngine' => 'PhabricatorFerretEngine',
'SemiStructuredObjectInstanceFulltextEngine' => 'PhabricatorFulltextEngine',
'SemiStructuredObjectInstanceListController' => 'SemiStructuredObjectTypeController',
'SemiStructuredObjectInstanceMailReceiver' => 'PhabricatorObjectMailReceiver',
'SemiStructuredObjectInstanceNameTransaction' => 'SemiStructuredObjectInstanceTransactionType',
'SemiStructuredObjectInstancePHIDType' => 'PhabricatorPHIDType',
'SemiStructuredObjectInstanceQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'SemiStructuredObjectInstanceRawDataTransaction' => 'SemiStructuredObjectInstanceTransactionType',
'SemiStructuredObjectInstanceReplyHandler' => 'PhabricatorApplicationTransactionReplyHandler',
'SemiStructuredObjectInstanceSearchEngine' => 'PhabricatorApplicationSearchEngine',
'SemiStructuredObjectInstanceTransaction' => 'PhabricatorModularTransaction',
'SemiStructuredObjectInstanceTransactionComment' => 'PhabricatorApplicationTransactionComment',
'SemiStructuredObjectInstanceTransactionEditor' => 'PhabricatorApplicationTransactionEditor',
'SemiStructuredObjectInstanceTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
'SemiStructuredObjectInstanceTransactionType' => 'PhabricatorModularTransactionType',
'SemiStructuredObjectInstanceViewController' => 'SemiStructuredObjectInstanceController',
'SemiStructuredObjectNewInstanceController' => 'SemiStructuredObjectTypeController',
'SemiStructuredObjectType' => array(
'SemiStructuredDAO',
'PhabricatorPolicyInterface',
'PhabricatorApplicationTransactionInterface',
'PhabricatorMentionableInterface',
'PhabricatorSubscribableInterface',
'PhabricatorProjectInterface',
'PhabricatorFlaggableInterface',
'PhabricatorDestructibleInterface',
'PhabricatorFerretInterface',
+ 'PhabricatorFulltextInterface',
),
'SemiStructuredObjectTypeArchiveController' => 'SemiStructuredBaseController',
'SemiStructuredObjectTypeController' => 'SemiStructuredBaseController',
'SemiStructuredObjectTypeCustomFieldsTransaction' => 'SemiStructuredObjectTypeTransactionType',
'SemiStructuredObjectTypeDescriptionTransaction' => 'SemiStructuredObjectTypeTransactionType',
'SemiStructuredObjectTypeEditController' => 'SemiStructuredBaseController',
'SemiStructuredObjectTypeEditEngine' => 'PhabricatorEditEngine',
'SemiStructuredObjectTypeFerretEngine' => 'PhabricatorFerretEngine',
- 'SemiStructuredObjectTypeFulltextEngine' => 'PhabricatorFerretEngine',
+ 'SemiStructuredObjectTypeFulltextEngine' => 'PhabricatorFulltextEngine',
'SemiStructuredObjectTypeListController' => 'SemiStructuredBaseController',
'SemiStructuredObjectTypeMailReceiver' => 'PhabricatorObjectMailReceiver',
'SemiStructuredObjectTypeNameTransaction' => 'SemiStructuredObjectTypeTransactionType',
'SemiStructuredObjectTypePHIDType' => 'PhabricatorPHIDType',
'SemiStructuredObjectTypeQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'SemiStructuredObjectTypeRemarkupRule' => 'PhabricatorObjectRemarkupRule',
'SemiStructuredObjectTypeReplyHandler' => 'PhabricatorApplicationTransactionReplyHandler',
'SemiStructuredObjectTypeSearchEngine' => 'PhabricatorApplicationSearchEngine',
'SemiStructuredObjectTypeStatusTransaction' => 'SemiStructuredObjectTypeTransactionType',
'SemiStructuredObjectTypeTransaction' => 'PhabricatorModularTransaction',
'SemiStructuredObjectTypeTransactionComment' => 'PhabricatorApplicationTransactionComment',
'SemiStructuredObjectTypeTransactionEditor' => 'PhabricatorApplicationTransactionEditor',
'SemiStructuredObjectTypeTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
'SemiStructuredObjectTypeTransactionType' => 'PhabricatorModularTransactionType',
'SemiStructuredObjectTypeViewController' => 'SemiStructuredObjectTypeController',
'SemiStructuredPatchList' => 'PhabricatorSQLPatchList',
'SemiStructuredSchemaSpec' => 'PhabricatorConfigSchemaSpec',
'SemiStructuredStaticSearchField' => 'PhabricatorSearchField',
),
));
diff --git a/src/phid/SemiStructuredObjectInstancePHIDType.php b/src/phid/SemiStructuredObjectInstancePHIDType.php
index e379250..7d5af6f 100644
--- a/src/phid/SemiStructuredObjectInstancePHIDType.php
+++ b/src/phid/SemiStructuredObjectInstancePHIDType.php
@@ -1,47 +1,47 @@
<?php
final class SemiStructuredObjectInstancePHIDType extends PhabricatorPHIDType {
const TYPECONST = 'SSIN';
public function getTypeName() {
return pht('Object Instance');
}
public function newObject() {
return new SemiStructuredObjectInstance();
}
public function getPHIDTypeApplicationClass() {
return 'SemiStructuredDataApplication';
}
protected function buildQueryForObjects(
PhabricatorObjectQuery $query,
array $phids) {
return id(new SemiStructuredObjectInstanceQuery())
->withPHIDs($phids);
}
public function loadHandles(
PhabricatorHandleQuery $query,
array $handles,
array $objects) {
foreach ($handles as $phid => $handle) {
$item = $objects[$phid];
$id = $item->getID();
$class = $item->getClass();
$handle->setName(
pht("%s\xE2\x96\xB9%s",
$class->getName(),
$item->getName()));
- $handle->setURI("/semistruct/instance/{$id}/");
+ $handle->setURI($item->getURI());
}
}
}
diff --git a/src/phid/SemiStructuredObjectTypePHIDType.php b/src/phid/SemiStructuredObjectTypePHIDType.php
index c2ab5f3..482711c 100644
--- a/src/phid/SemiStructuredObjectTypePHIDType.php
+++ b/src/phid/SemiStructuredObjectTypePHIDType.php
@@ -1,42 +1,42 @@
<?php
final class SemiStructuredObjectTypePHIDType extends PhabricatorPHIDType {
const TYPECONST = 'SSCL';
public function getTypeName() {
return pht('Object Type');
}
public function newObject() {
return new SemiStructuredObjectType();
}
public function getPHIDTypeApplicationClass() {
return 'SemiStructuredDataApplication';
}
protected function buildQueryForObjects(
PhabricatorObjectQuery $query,
array $phids) {
return id(new SemiStructuredObjectTypeQuery())
->withPHIDs($phids);
}
public function loadHandles(
PhabricatorHandleQuery $query,
array $handles,
array $objects) {
foreach ($handles as $phid => $handle) {
$item = $objects[$phid];
$id = $item->getID();
$handle->setName($item->getName());
- $handle->setURI("/semistruct/types/{$id}/");
+ $handle->setURI($item->getURI());
}
}
}
diff --git a/src/search/SemiStructuredObjectInstanceFulltextEngine.php b/src/search/SemiStructuredObjectInstanceFulltextEngine.php
index 2778488..d9ed334 100644
--- a/src/search/SemiStructuredObjectInstanceFulltextEngine.php
+++ b/src/search/SemiStructuredObjectInstanceFulltextEngine.php
@@ -1,25 +1,25 @@
<?php
final class SemiStructuredObjectInstanceFulltextEngine
extends PhabricatorFulltextEngine {
protected function buildAbstractDocument(
PhabricatorSearchAbstractDocument $document,
- $instance) {
+ $instance) {
$document->setDocumentTitle($instance->getName());
$document->addField(
PhabricatorSearchDocumentFieldType::FIELD_BODY,
$instance->getDescription());
// TODO raw data?
$document->addRelationship(
'clss',
$instance->getClassPHID(),
SemiStructuredObjectTypePHIDType::TYPECONST,
PhabricatorTime::getNow());
}
}
diff --git a/src/search/SemiStructuredObjectTypeFulltextEngine.php b/src/search/SemiStructuredObjectTypeFulltextEngine.php
index b1a7a17..b422281 100644
--- a/src/search/SemiStructuredObjectTypeFulltextEngine.php
+++ b/src/search/SemiStructuredObjectTypeFulltextEngine.php
@@ -1,18 +1,17 @@
<?php
final class SemiStructuredObjectTypeFulltextEngine
- extends PhabricatorFerretEngine {
+ extends PhabricatorFulltextEngine {
- public function getApplicationName() {
- return 'maniphest';
- }
+ protected function buildAbstractDocument(
+ PhabricatorSearchAbstractDocument $document,
+ $object_type) {
- public function getScopeName() {
- return 'task';
- }
+ $document->setDocumentTitle($object_type->getName());
- public function newSearchEngine() {
- return new ManiphestTaskSearchEngine();
- }
+ $document->addField(
+ PhabricatorSearchDocumentFieldType::FIELD_BODY,
+ $object_type->getDescription());
+ }
}
diff --git a/src/storage/SemiStructuredObjectType.php b/src/storage/SemiStructuredObjectType.php
index 2013dde..a684551 100644
--- a/src/storage/SemiStructuredObjectType.php
+++ b/src/storage/SemiStructuredObjectType.php
@@ -1,155 +1,164 @@
<?php
final class SemiStructuredObjectType extends SemiStructuredDAO
implements
PhabricatorPolicyInterface,
PhabricatorApplicationTransactionInterface,
// PhabricatorMarkupInterface, ?
PhabricatorMentionableInterface,
PhabricatorSubscribableInterface,
PhabricatorProjectInterface,
// PhabricatorConduitResultInterface
PhabricatorFlaggableInterface,
PhabricatorDestructibleInterface,
- PhabricatorFerretInterface {
+ PhabricatorFerretInterface,
+ PhabricatorFulltextInterface {
protected $viewPolicy;
protected $editPolicy;
protected $name;
protected $status;
protected $description;
protected $customFieldsConfig = array();
// icon/logo
const STATUS_ACTIVE = 'active';
const STATUS_ARCHIVED = 'archived';
public static function initializeNewObjectType(PhabricatorUser $actor) {
return id(new self())
->setName('')
->setViewPolicy(PhabricatorPolicies::getMostOpenPolicy())
->setEditPolicy($actor->getPHID())
->setStatus(self::STATUS_ACTIVE);
}
public function getCustomFieldsConfig() {
if (!$this->customFieldsConfig) {
return array();
}
return $this->customFieldsConfig;
}
public static function getStatusNameMap() {
return array(
self::STATUS_ACTIVE => pht('Active'),
self::STATUS_ARCHIVED => pht('Archived'),
);
}
protected function getConfiguration() {
return array(
self::CONFIG_AUX_PHID => true,
self::CONFIG_SERIALIZATION => array(
'customFieldsConfig' => self::SERIALIZATION_JSON,
),
self::CONFIG_COLUMN_SCHEMA => array(
'name' => 'sort255',
'status' => 'text32',
'description' => 'text',
),
) + parent::getConfiguration();
}
public function getPHIDType() {
return SemiStructuredObjectTypePHIDType::TYPECONST;
}
public function isArchived() {
return ($this->getStatus() == self::STATUS_ARCHIVED);
}
public function getURI() {
return urisprintf('/semistruct/type/%d/', $this->getID());
}
public function getObjectName() {
return pht('Object Type %d', $this->getID());
}
public function getIcon() {
// TODO copy the feature from Projects, where you can put a custom image
// or select from a list.
return SemiStructuredDataApplication::ICON_OBJECT_TYPE;
}
/* -( PhabricatorApplicationTransactionInterface )------------------------- */
public function getApplicationTransactionEditor() {
return new SemiStructuredObjectTypeTransactionEditor();
}
public function getApplicationTransactionTemplate() {
return new SemiStructuredObjectTypeTransaction();
}
/* -( PhabricatorPolicyInterface )----------------------------------------- */
public function getCapabilities() {
return array(
PhabricatorPolicyCapability::CAN_VIEW,
PhabricatorPolicyCapability::CAN_EDIT,
// TODO can-create-instances
);
}
public function getPolicy($capability) {
switch ($capability) {
case PhabricatorPolicyCapability::CAN_VIEW:
return $this->getViewPolicy();
case PhabricatorPolicyCapability::CAN_EDIT:
return $this->getEditPolicy();
}
}
public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {
return false;
}
+/* -( PhabricatorFerretInterface )----------------------------------------- */
+
+
+public function newFerretEngine() {
+ return new SemiStructuredObjectTypeFerretEngine();
+}
+
+/* -( PhabricatorFulltextInterface )--------------------------------------- */
+
+
+public function newFulltextEngine() {
+ return new SemiStructuredObjectTypeFulltextEngine();
+}
+
+
/* -( PhabricatorDestructibleInterface )----------------------------------- */
public function destroyObjectPermanently(
PhabricatorDestructionEngine $engine) {
$this->openTransaction();
$this->delete();
$this->saveTransaction();
}
/* -( PhabricatorSubscribableInterface )----------------------------------- */
public function isAutomaticallySubscribed($phid) {
return false;
}
-
-/* -( PhabricatorFerretInterface )----------------------------------------- */
-
- public function newFerretEngine() {
- return new SemiStructuredObjectTypeFerretEngine();
- }
-
}

File Metadata

Mime Type
text/x-diff
Expires
Sun, Jan 19, 17:29 (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1118367
Default Alt Text
(21 KB)

Event Timeline