add events + more wip classes

This commit is contained in:
Antonio Ramirez
2016-12-04 15:53:09 +01:00
parent 3e16d24048
commit bd06010018
21 changed files with 496 additions and 18 deletions

View File

@ -0,0 +1,44 @@
<?php
namespace Da\User\Filter;
use Da\User\Model\User;
use yii\filters\AccessRule;
class AccessRuleFilter extends AccessRule
{
/**
* @inheritdoc
* */
protected function matchRole($user)
{
if (empty($this->roles)) {
return true;
}
foreach ($this->roles as $role) {
if ($role === '?') {
if ($user->getIsGuest()) {
return true;
}
} elseif ($role === '@') {
if (!$user->getIsGuest()) {
return true;
}
} elseif ($role === 'admin') {
/** @var User $identity */
$identity = $user->getIdentity();
if (!$user->getIsGuest() && $identity->getIsAdmin()) {
return true;
}
} elseif ($user->can($role)) {
return true;
}
}
return false;
}
}