} // holt die Role ID des letzten Insert Statements if ($getRoleId === 0) { $getRoleId = $role->getValue('rol_id'); } // save role dependencies in database if (array_key_exists('dependent_roles', $_POST)) { $sentChildRoles = $_POST['dependent_roles']; $roleDep = new RoleDependency($gDb); // holt eine Liste der ausgewählten Rolen $dbChildRoles = RoleDependency::getChildRoles($gDb, $getRoleId); // entferne alle Rollen die nicht mehr ausgewählt sind if ($dbChildRoles != -1) { foreach ($dbChildRoles as $dbChildRole) { if (!in_array($dbChildRole, $sentChildRoles, true)) { $roleDep->get($dbChildRole, $getRoleId); $roleDep->delete(); } } } // add all new role dependencies to database if (count($sentChildRoles) > 0) { foreach ($sentChildRoles as $sentChildRole) { if ($dbChildRoles != -1 && !in_array($sentChildRole, $dbChildRoles, true) && $sentChildRole > 0) { $roleDep->clear(); $roleDep->setChild($sentChildRole); $roleDep->setParent($getRoleId); $roleDep->insert($gCurrentUser->getValue('usr_id')); // füge alle Mitglieder der ChildRole der ParentRole zu $roleDep->updateMembership(); }