summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2018-03-05 15:38:15 +0100
committerSimon Rettberg2018-03-05 15:38:15 +0100
commit3a8408bf30cb6e95421fc1f50ab045d90f805004 (patch)
tree1e5e805d4e25770eb4e8b0394a2c59fde38a8354
parent[locationinfo] Add permissions (diff)
downloadslx-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.php20
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]);
+ }
}
}