Differential D25548 Diff 1734 src/applications/flag/customfield/PhorgeFlagFlaggedObjectFieldStorage.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/flag/customfield/PhorgeFlagFlaggedObjectFieldStorage.php
- This file was added.
<?php | |||||
final class PhorgeFlagFlaggedObjectFieldStorage extends Phobject { | |||||
private $viewer; | |||||
public function setViewer(PhabricatorUser $viewer) { | |||||
$this->viewer = $viewer; | |||||
return $this; | |||||
} | |||||
public function getStorageSourceKey() { | |||||
return 'flags/flag'; | |||||
} | |||||
public function loadStorageSourceData(array $fields) { | |||||
$objects = mpull($fields, 'getObject'); | |||||
$object_phids = mpull($objects, 'getPHID'); | |||||
$flags = (new PhabricatorFlagQuery()) | |||||
->setViewer($this->viewer) | |||||
->withOwnerPHIDs(array($this->viewer->getPHID())) | |||||
->withObjectPHIDs($object_phids) | |||||
->execute(); | |||||
$flags = mpull($flags, null, 'getObjectPHID'); | |||||
$result = array(); | |||||
foreach ($fields as $key => $field) { | |||||
$target_phid = $field->getObject()->getPHID(); | |||||
$result[$key] = idx($flags, $target_phid); | |||||
} | |||||
return $result; | |||||
} | |||||
} |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0