<?php
namespace common\modules\rbac\rules;

use common\models\Company;
use yii\rbac\Item;
use yii\rbac\Rule;

class CompanyRule extends Rule
{
    const RULE_NAME = 'CompanyRule';
    const PERMISSION_NAME = 'company';

    /**
     * 公司权限规则判断
     * @param int|string $userId 用户 ID.
     * @param Item $item 该规则相关的角色或者权限
     * @param array $params 传给 ManagerInterface::checkAccess() 的参数
     * @return bool 代表该规则相关的角色或者权限是否被允许
     * @author nodelog
     */
    public function execute($userId, $item, $params)
    {
        //无公司信息参数
        if (!isset($params['company'])) {
            return false;
        }

        /* @var $company Company */
        $company = $params['company'];
        if ($company instanceof Company && $company->user_id == $userId) {
            return true;
        }
        return false;
    }
}

?>