<?php
namespace Silber\Bouncer\Conductors;
use Illuminate\Support\Collection;
use Silber\Bouncer\Database\Models;
use Silber\Bouncer\Helpers;
class AssignsRoles
{
/**
* The roles to be assigned.
*
* @var array
*/
protected $roles;
/**
* Constructor.
*
* @param \Illuminate\Support\Collection|\Silber\Bouncer\Database\Role|string $roles
*/
public function __construct($roles)
{
$this->roles = Helpers::toArray($roles);
}
/**
* Assign the roles to the given authority.
*
* @param \Illuminate\Database\Eloquent\Model|array|int $authority
* @return bool
*/
public function to($authority)
{
$authorities = is_array($authority) ? $authority : [$authority];
$roles = Models::role()->findOrCreateRoles($this->roles);
foreach (Helpers::mapAuthorityByClass($authorities) as $class => $ids) {
$this->assignRoles($roles, $class, new Collection($ids));
}
return true;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX