From 3a8408bf30cb6e95421fc1f50ab045d90f805004 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 5 Mar 2018 15:38:15 +0100 Subject: [permissionmanager] PermissionDbUpdate::saveRole(): handle empty lists --- .../permissionmanager/inc/permissiondbupdate.inc.php | 20 ++++++++++++-------- 1 file 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]); + } } } -- cgit v1.2.3-55-g7522