public function hasRoles($roles, $needsAll = false)
{
//If not an array, make a one item array
if (!is_array($roles)) {
$roles = array($roles);
}
//User has to possess all of the roles specified
if ($needsAll) {
$hasRoles = 0;
$numRoles = count($roles);
foreach ($roles as $role) {
if ($this->hasRole($role)) {
$hasRoles++;
}
}
return $numRoles == $hasRoles;
}
//User has to possess one of the roles specified
foreach ($roles as $role) {
if ($this->hasRole($role)) {
return true;
}
}
return false;
}