diff options
Diffstat (limited to 'modules-available/permissionmanager/inc/dbupdate.inc.php')
-rw-r--r-- | modules-available/permissionmanager/inc/dbupdate.inc.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/modules-available/permissionmanager/inc/dbupdate.inc.php b/modules-available/permissionmanager/inc/dbupdate.inc.php new file mode 100644 index 00000000..20ff746a --- /dev/null +++ b/modules-available/permissionmanager/inc/dbupdate.inc.php @@ -0,0 +1,37 @@ +<?php + +class DbUpdate { + + // insert new userXrole to database. "ignore" to ignore duplicate entry try + public static function addRoleToUser($users, $roles) { + foreach($users AS $user) { + foreach ($roles AS $role) { + $query = "INSERT IGNORE INTO userXrole (userid, roleid) VALUES ($user, $role)"; + Database::exec($query); + } + } + } + + // remove userXrole entry from database + public static function removeRoleFromUser($users, $roles) { + foreach($users AS $user) { + foreach ($roles AS $role) { + $query = "DELETE FROM userXrole WHERE userid = $user AND roleid = $role"; + Database::exec($query); + } + } + } + + // delete role, delete userXrole relationships, delete roleXlocation relationships, delete roleXpermission relationships + public static function deleteRole($id) { + $query = "DELETE FROM role WHERE id = $id"; + Database::exec($query); + $query = "DELETE FROM userXrole WHERE roleid = $id"; + Database::exec($query); + $query = "DELETE FROM roleXlocation WHERE roleid = $id"; + Database::exec($query); + $query = "DELETE FROM roleXpermission WHERE roleid = $id"; + Database::exec($query); + } + +} |