* * @since 1.0 */ class BizRule extends Model { /** * @var string name of the rule */ public $name; public function rules() { return [ [['name'], 'safe'], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'name' => Yii::t('rbac', 'Name'), 'className' => Yii::t('rbac', 'className'), ]; } /** * Search BizRule. * * @param array $params * * @return \yii\data\ActiveDataProvider|\yii\data\ArrayDataProvider */ public function search($params) { /* @var \yii\rbac\Manager $authManager */ $authManager = Yii::$app->authManager; $models = []; $included = !($this->load($params) && $this->validate() && trim($this->name) !== ''); foreach ($authManager->getRules() as $name => $item) { if ($name != RouteRule::RULE_NAME && ($included || stripos($item->name, $this->name) !== false)) { $models[$name] = new MBizRule($item); } } return new ArrayDataProvider([ 'allModels' => $models, ]); } }