コード例 #1
0
ファイル: BizRuleSearch.php プロジェクト: yii2mod/yii2-rbac
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ArrayDataProvider
  */
 public function search($params)
 {
     $query = new ArrayQuery(Yii::$app->authManager->getRules());
     if ($this->load($params) && $this->validate()) {
         $query->addCondition('name', $this->name ? "~{$this->name}" : null);
     }
     return new ArrayDataProvider(['allModels' => $query->find(), 'sort' => ['attributes' => ['name']], 'pagination' => ['pageSize' => 25]]);
 }
コード例 #2
0
 /**
  * Returns data provider with filled models. Filter applied if needed.
  * @param array $params
  * @param array $models
  * @return \yii\data\ArrayDataProvider
  */
 public function search($params, $models)
 {
     $dataProvider = new ArrayDataProvider(['allModels' => $models, 'pagination' => ['pageSize' => 50], 'sort' => ['attributes' => []]]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     if (!empty($this->name)) {
         $query = new ArrayQuery($models);
         $dataProvider->allModels = $query->addCondition('name', 'like ' . $this->name)->find();
     }
     return $dataProvider;
 }
コード例 #3
0
ファイル: AuthItemSearch.php プロジェクト: yii2mod/yii2-rbac
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return \yii\data\ActiveDataProvider|\yii\data\ArrayDataProvider
  */
 public function search($params)
 {
     $authManager = Yii::$app->getAuthManager();
     if ($this->type == Item::TYPE_ROLE) {
         $items = $authManager->getRoles();
     } else {
         $items = array_filter($authManager->getPermissions(), function ($item) {
             return $this->type == Item::TYPE_PERMISSION xor strncmp($item->name, '/', 1) === 0;
         });
     }
     $query = new ArrayQuery($items);
     $this->load($params);
     if ($this->validate()) {
         $query->addCondition('name', $this->name ? "~{$this->name}" : null)->addCondition('ruleName', $this->ruleName ? "~{$this->ruleName}" : null)->addCondition('description', $this->description ? "~{$this->description}" : null);
     }
     return new ArrayDataProvider(['allModels' => $query->find(), 'sort' => ['attributes' => ['name']], 'pagination' => ['pageSize' => 25]]);
 }