<?php
namespace Phad\Integration;
/**
* Access methods are inherited from `\Phad\Integration\DynamicAccess`, except for `user_has_role()` and the constructor. Access methods can be modified dynamically in the same way as `DynamicAccess`, except for `user_has_role`.
*
*/
class TlfUserAccess extends \Phad\Integration\DynamicAccess implements \Phad\AccessInterface {
protected \Tlf\User\Package $user_package;
/** `user_has_role` callable is NOT used on TlfUserAccess. You may modify the other callables, but this one will have noe effect. */
public $user_has_role;
public function __construct(\Tlf\User\Package $user_package){
$this->user_package = $user_package;
}
/**
* Check if the currently logged-in user has the given role. Only handles one role check. Use `role:some_role` in your access rules.
*
* @param $role string a single role's name
*/
public function user_has_role(string $role): bool {
$user = $this->user_package->get_user();
return $user->has_role($role);
}
}