/** * Adding credentials from role * @param NsmRole $role */ private function addCredentialsFromRole(NsmRole &$role) { $targets = $role->getTargets('credential'); if ($targets === null) { return; } foreach ($targets as $credential) { $this->addCredential($credential->get('target_name')); } }
/** * @todo: this is not really nice * * @param NsmRole $role */ public function removeRole(NsmRole &$role) { $targets = $role->getTargets(); if ($targets === null) { return; } foreach ($targets as $target) { $vals = $role->getTargetValues($target->get("target_name")); foreach ($vals as $value) { $value->delete(); } } $principals = $role->NsmPrincipal; if (!$principals instanceof NsmPrincipal) { foreach ($principals as $pr) { if ($pr->NsmPrincipalTarget) { foreach ($pr->NsmPrincipalTarget as $pr_t) { $pr_t->delete(); } } $pr->delete(); } } else { if ($principals->NsmPrincipalTarget) { foreach ($principals->NsmPrincipalTarget as $pr_t) { $pr_t->delete(); } } $principals->delete(); } $this->rechainChildren($role); $role->delete(); }