Differential D21189 Diff 50458 src/infrastructure/diff/viewstate/PhabricatorChangesetViewStateEngine.php
Changeset View
Changeset View
Standalone View
Standalone View
src/infrastructure/diff/viewstate/PhabricatorChangesetViewStateEngine.php
Show First 20 Lines • Show All 191 Lines • ▼ Show 20 Lines | private function updateHiddenState(PhabricatorChangesetViewState $state) { | ||||
$storage = $this->getStorage(); | $storage = $this->getStorage(); | ||||
$changeset = $this->getChangeset(); | $changeset = $this->getChangeset(); | ||||
$entries = $storage->getChangesetPropertyEntries($changeset, 'hidden'); | $entries = $storage->getChangesetPropertyEntries($changeset, 'hidden'); | ||||
$entries = isort($entries, 'epoch'); | $entries = isort($entries, 'epoch'); | ||||
if ($entries) { | if ($entries) { | ||||
$other_phid = last_key($entries); | $other_key = last_key($entries); | ||||
$other_spec = last($entries); | $other_spec = last($entries); | ||||
$this_version = (int)$changeset->getDiffID(); | $this_version = (int)$changeset->getDiffID(); | ||||
$other_version = (int)idx($other_spec, 'diffID'); | $other_version = (int)idx($other_spec, 'diffID'); | ||||
$other_value = (bool)idx($other_spec, 'value', false); | $other_value = (bool)idx($other_spec, 'value', false); | ||||
if ($other_value === false) { | if ($other_value === false) { | ||||
$is_hidden = false; | $is_hidden = false; | ||||
} else if ($other_version >= $this_version) { | } else if ($other_version >= $this_version) { | ||||
$is_hidden = $other_value; | $is_hidden = $other_value; | ||||
} else { | } else { | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$other_changeset = id(new DifferentialChangesetQuery()) | $other_changeset = id(new DifferentialChangesetQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withPHIDs(array($other_phid)) | ->withIDs(array($other_key)) | ||||
->executeOne(); | ->executeOne(); | ||||
$is_modified = false; | $is_modified = false; | ||||
if ($other_changeset) { | if ($other_changeset) { | ||||
if (!$changeset->hasSameEffectAs($other_changeset)) { | if (!$changeset->hasSameEffectAs($other_changeset)) { | ||||
$is_modified = true; | $is_modified = true; | ||||
} | } | ||||
} | } | ||||
Show All 11 Lines |