Changeset View
Changeset View
Standalone View
Standalone View
src/applications/conpherence/editor/ConpherenceEditor.php
Show First 20 Lines • Show All 249 Lines • ▼ Show 20 Lines | final class ConpherenceEditor extends PhabricatorApplicationTransactionEditor { | ||||
protected function applyCustomExternalTransaction( | protected function applyCustomExternalTransaction( | ||||
PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
case ConpherenceTransactionType::TYPE_FILES: | case ConpherenceTransactionType::TYPE_FILES: | ||||
$editor = new PhabricatorEdgeEditor(); | $editor = new PhabricatorEdgeEditor(); | ||||
$edge_type = PhabricatorEdgeConfig::TYPE_OBJECT_HAS_FILE; | $edge_type = PhabricatorObjectHasFileEdgeType::EDGECONST; | ||||
$old = array_fill_keys($xaction->getOldValue(), true); | $old = array_fill_keys($xaction->getOldValue(), true); | ||||
$new = array_fill_keys($xaction->getNewValue(), true); | $new = array_fill_keys($xaction->getNewValue(), true); | ||||
$add_edges = array_keys(array_diff_key($new, $old)); | $add_edges = array_keys(array_diff_key($new, $old)); | ||||
$remove_edges = array_keys(array_diff_key($old, $new)); | $remove_edges = array_keys(array_diff_key($old, $new)); | ||||
foreach ($add_edges as $file_phid) { | foreach ($add_edges as $file_phid) { | ||||
$editor->addEdge( | $editor->addEdge( | ||||
$object->getPHID(), | $object->getPHID(), | ||||
$edge_type, | $edge_type, | ||||
▲ Show 20 Lines • Show All 199 Lines • Show Last 20 Lines |