diff options
author | Simon Rettberg | 2018-03-05 15:38:15 +0100 |
---|---|---|
committer | Simon Rettberg | 2018-03-05 15:38:15 +0100 |
commit | 3a8408bf30cb6e95421fc1f50ab045d90f805004 (patch) | |
tree | 1e5e805d4e25770eb4e8b0394a2c59fde38a8354 | |
parent | [locationinfo] Add permissions (diff) | |
download | slx-admin-3a8408bf30cb6e95421fc1f50ab045d90f805004.tar.gz slx-admin-3a8408bf30cb6e95421fc1f50ab045d90f805004.tar.xz slx-admin-3a8408bf30cb6e95421fc1f50ab045d90f805004.zip |
[permissionmanager] PermissionDbUpdate::saveRole(): handle empty lists
-rw-r--r-- | modules-available/permissionmanager/inc/permissiondbupdate.inc.php | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/modules-available/permissionmanager/inc/permissiondbupdate.inc.php b/modules-available/permissionmanager/inc/permissiondbupdate.inc.php index 5f528a37..1d6367af 100644 --- a/modules-available/permissionmanager/inc/permissiondbupdate.inc.php +++ b/modules-available/permissionmanager/inc/permissiondbupdate.inc.php @@ -89,15 +89,19 @@ class PermissionDbUpdate $roleid = Database::lastInsertId(); } - $arg = array_map(function ($loc) use ($roleid) { - return compact('roleid', 'loc'); - }, $locations); - Database::exec("INSERT IGNORE INTO role_x_location (roleid, locationid) VALUES :arg", ['arg' => $arg]); + if (!empty($locations)) { + $arg = array_map(function ($loc) use ($roleid) { + return compact('roleid', 'loc'); + }, $locations); + Database::exec("INSERT IGNORE INTO role_x_location (roleid, locationid) VALUES :arg", ['arg' => $arg]); + } - $arg = array_map(function ($perm) use ($roleid) { - return compact('roleid', 'perm'); - }, $permissions); - Database::exec("INSERT IGNORE INTO role_x_permission (roleid, permissionid) VALUES :arg", ['arg' => $arg]); + if (!empty($permissions)) { + $arg = array_map(function ($perm) use ($roleid) { + return compact('roleid', 'perm'); + }, $permissions); + Database::exec("INSERT IGNORE INTO role_x_permission (roleid, permissionid) VALUES :arg", ['arg' => $arg]); + } } } |