Browse Source

Merge pull request #16638 from nextcloud/fix/noid/ldap-ext-storage-handler-loading-cli

delay sending event from app init to when they are needed
tags/v17.0.0beta1
Roeland Jago Douma 4 years ago
parent
commit
10e2edc734
No account linked to committer's email address

+ 0
- 6
apps/files_external/lib/AppInfo/Application.php View File

@@ -93,12 +93,6 @@ class Application extends App implements IBackendProvider, IAuthMechanismProvide
// force-load auth mechanisms since some will register hooks
// TODO: obsolete these and use the TokenProvider to get the user's password from the session
$this->getAuthMechanisms();

// don't remove this, as app loading order might be a side effect and
// querying the service from the server not reliable
\OC::$server->getEventDispatcher()->dispatch(
'OCA\\Files_External::loadAdditionalBackends'
);
}

/**

+ 13
- 0
apps/files_external/lib/Service/BackendService.php View File

@@ -106,7 +106,18 @@ class BackendService {
$this->backendProviders[] = $provider;
}

private function callForRegistrations() {
static $eventSent = false;
if(!$eventSent) {
\OC::$server->getEventDispatcher()->dispatch(
'OCA\\Files_External::loadAdditionalBackends'
);
$eventSent = true;
}
}

private function loadBackendProviders() {
$this->callForRegistrations();
foreach ($this->backendProviders as $provider) {
$this->registerBackends($provider->getBackends());
}
@@ -124,6 +135,7 @@ class BackendService {
}

private function loadAuthMechanismProviders() {
$this->callForRegistrations();
foreach ($this->authMechanismProviders as $provider) {
$this->registerAuthMechanisms($provider->getAuthMechanisms());
}
@@ -321,6 +333,7 @@ class BackendService {
}

protected function loadConfigHandlers():void {
$this->callForRegistrations();
$newLoaded = false;
foreach ($this->configHandlerLoaders as $placeholder => $loader) {
$handler = $loader();

Loading…
Cancel
Save