Changeset View
Changeset View
Standalone View
Standalone View
src/applications/doorkeeper/engine/DoorkeeperImportEngine.php
Show First 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | if ($this->phids) { | ||||
foreach ($xobjs as $xobj) { | foreach ($xobjs as $xobj) { | ||||
$ref = $xobj->getRef(); | $ref = $xobj->getRef(); | ||||
$ref->attachExternalObject($xobj); | $ref->attachExternalObject($xobj); | ||||
$refs[$ref->getObjectKey()] = $ref; | $refs[$ref->getObjectKey()] = $ref; | ||||
} | } | ||||
} | } | ||||
if (!$this->localOnly) { | if (!$this->localOnly) { | ||||
$bridges = id(new PhutilSymbolLoader()) | $bridges = id(new PhutilClassMapQuery()) | ||||
->setAncestorClass('DoorkeeperBridge') | ->setAncestorClass('DoorkeeperBridge') | ||||
->loadObjects(); | ->setFilterMethod('isEnabled') | ||||
->execute(); | |||||
epriestley: I think this one should be post-filtered: it's reasonable for configuration (e.g., an external… | |||||
Not Done Inline ActionsFiltering here is still being cached, but I think we should filter after getting results back from the Query because this may vary across requests. epriestley: Filtering here is still being cached, but I think we should filter after getting results back… | |||||
foreach ($bridges as $key => $bridge) { | foreach ($bridges as $key => $bridge) { | ||||
if (!$bridge->isEnabled()) { | |||||
unset($bridges[$key]); | |||||
} | |||||
$bridge->setViewer($viewer); | $bridge->setViewer($viewer); | ||||
$bridge->setThrowOnMissingLink($this->throwOnMissingLink); | $bridge->setThrowOnMissingLink($this->throwOnMissingLink); | ||||
} | } | ||||
$working_set = $refs; | $working_set = $refs; | ||||
foreach ($bridges as $bridge) { | foreach ($bridges as $bridge) { | ||||
$bridge_refs = array(); | $bridge_refs = array(); | ||||
foreach ($working_set as $key => $ref) { | foreach ($working_set as $key => $ref) { | ||||
Show All 19 Lines |
I think this one should be post-filtered: it's reasonable for configuration (e.g., an external auth provider set up vs not set up) to affect bridge availability.