@@ -201,18 +201,20 @@ public function synchronizePiwikAccessFromLdap($piwikLogin, $ldapUser)
201201 $ this ->userModel ->setSuperUserAccess ($ piwikLogin , false );
202202
203203 $ usersManagerApi = $ this ->usersManagerApi ;
204- foreach ($ userAccess as $ userAccessLevel => $ sites ) {
205- Access::doAsSuperUser (function () use ($ usersManagerApi , $ userAccessLevel , $ sites , $ piwikLogin ) {
206- if ($ userAccessLevel == 'superuser ' ) {
207- if (method_exists ('Piwik\Plugins\UsersManager\UserUpdater ' , 'setSuperUserAccessWithoutCurrentPassword ' )) {
208- $ this ->userUpdater ->setSuperUserAccessWithoutCurrentPassword ($ piwikLogin , true );
204+ if (!empty ($ userAccess )) {
205+ foreach ($ userAccess as $ userAccessLevel => $ sites ) {
206+ Access::doAsSuperUser (function () use ($ usersManagerApi , $ userAccessLevel , $ sites , $ piwikLogin ) {
207+ if ($ userAccessLevel == 'superuser ' ) {
208+ if (method_exists ('Piwik\Plugins\UsersManager\UserUpdater ' , 'setSuperUserAccessWithoutCurrentPassword ' )) {
209+ $ this ->userUpdater ->setSuperUserAccessWithoutCurrentPassword ($ piwikLogin , true );
210+ } else {
211+ $ usersManagerApi ->setSuperUserAccess ($ piwikLogin , true );
212+ }
209213 } else {
210- $ usersManagerApi ->setSuperUserAccess ($ piwikLogin , true );
214+ $ usersManagerApi ->setUserAccess ($ piwikLogin , $ userAccessLevel , $ sites );
211215 }
212- } else {
213- $ usersManagerApi ->setUserAccess ($ piwikLogin , $ userAccessLevel , $ sites );
214- }
215- });
216+ });
217+ }
216218 }
217219 }
218220
0 commit comments