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.