public function getHierarchy($role) { $r2r = new Role2Role(); $udahdi = array(); $sem = array(); while (sizeof($sem) > 0) { $r = array_pop($sem); if (!in_array($r, $udahdi)) { $role2role = $r2r->getSmallerRoles($r); foreach ($role2role as $ri) { if (!in_array($ri->role_small, $sem) && $ri->role_small != "") { //$_SESSION["roles"][] = $ri->role_small; $sem[] = $ri->role_small; } } $udahdi[] = $r; } } return $sem; }
public function loadRole() { global $db; //getRoles $r2a = new Role2Account(); $role2acc = $r2a->getRoles($this->admin_id); $_SESSION["roles"] = array(); foreach ($role2acc as $x) { $role = $x->role_id; if (!in_array($role, $_SESSION["roles"]) && isset($role)) { $_SESSION["roles"][] = $role; } } /* * LOAD smaller roles */ $r2r = new Role2Role(); $udahdi = array(); $sem = sizeof($_SESSION['roles']) ? $_SESSION["roles"] : array(); while (sizeof($sem) > 0) { $r = array_pop($sem); if (!in_array($r, $udahdi)) { $role2role = $r2r->getSmallerRoles($r); foreach ($role2role as $ri) { if (!in_array($ri->role_small, $_SESSION["roles"]) && $ri->role_small != "") { $_SESSION["roles"][] = $ri->role_small; $sem[] = $ri->role_small; } } $udahdi[] = $r; } } $this->roles = $_SESSION['roles']; }