diff --git a/src/Kodeine/Acl/Traits/HasRole.php b/src/Kodeine/Acl/Traits/HasRole.php index e46304b..74e3e75 100644 --- a/src/Kodeine/Acl/Traits/HasRole.php +++ b/src/Kodeine/Acl/Traits/HasRole.php @@ -86,12 +86,21 @@ public function scopeRole($query, $role, $column = null) */ public function hasRole($slug, $operator = null) { - $operator = is_null($operator) ? $this->parseOperator($slug) : $operator; + // $operator = is_null($operator) ? $this->parseOperator($slug) : $operator; + if (strpos($slug, '|') !== false) { + $operator = 'and'; + } + if (strpos($slug, ',') !== false) { + $operator = 'or'; + } $roles = $this->getRoles(); $roles = $roles instanceof \Illuminate\Contracts\Support\Arrayable ? $roles->toArray() : (array) $roles; + // return $this->hasDelimiterToArray($slug); + $roles = array_map('strtolower', $roles); $slug = $this->hasDelimiterToArray($slug); + // array of slugs if ( is_array($slug) ) {