/** * Felhasználó engedélyének ellenőrzése a megadott művlethez * * @param string $permission egy művelet neve pl.: delete_user * @param string $target_url egy átirányítási hely, ha nincs engedély * @return void */ public static function hasAccess($permission, $target_url = null) { //$instance = self::instance(); $instance = DI::get('auth'); // !!!! ha nincs a permissions táblában a megadott permission, akkor automatikusan engedélyezve lesz /* if (!$instance->checkPermission($permission)) { return true; } */ // ha még nincsenek lekérdezve a felhasználó permission-jai if (is_null($instance->permissions)) { if (Auth::isUserLoggedIn()) { $role_id = $instance->getRoleId(); $instance->permissions = $role_id == 1 ? '*' : $instance->getRolePerms($role_id); //$instance->permissions = $instance->getRolePerms($role_id); } else { $instance->permissions = array(); } } if ($instance->_checkAccess($permission)) { return true; } else { if (!is_null($target_url)) { $instance->_accessDenied($permission, $target_url); } return false; } }