You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							73 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							73 lines
						
					
					
						
							1.5 KiB
						
					
					
				<?php | 
						|
/** | 
						|
 * Created by Error202 | 
						|
 * Date: 04.06.2018 | 
						|
 */ | 
						|
 | 
						|
namespace backend\forms; | 
						|
 | 
						|
use core\entities\Settings; | 
						|
use yii\base\Model; | 
						|
use yii\data\ActiveDataProvider; | 
						|
 | 
						|
class SettingsSearch extends Settings | 
						|
{ | 
						|
    public $id; | 
						|
    public $type; | 
						|
    public $section; | 
						|
    public $key; | 
						|
    public $value; | 
						|
    public $active; | 
						|
 | 
						|
    public function rules() | 
						|
    { | 
						|
        return [ | 
						|
            [['id'], 'integer'], | 
						|
            [['active'], 'boolean'], | 
						|
            [['type', 'section', 'key', 'value'], 'safe'], | 
						|
        ]; | 
						|
    } | 
						|
 | 
						|
    /** | 
						|
     * @return array | 
						|
     */ | 
						|
    public function scenarios() | 
						|
    { | 
						|
        // bypass scenarios() implementation in the parent class | 
						|
        return Model::scenarios(); | 
						|
    } | 
						|
 | 
						|
    /** | 
						|
     * @param $params | 
						|
     * | 
						|
     * @return ActiveDataProvider | 
						|
     */ | 
						|
    public function search($params) | 
						|
    { | 
						|
        $query        = Settings::find(); | 
						|
        $dataProvider = new ActiveDataProvider( | 
						|
            [ | 
						|
                'query' => $query, | 
						|
            ] | 
						|
        ); | 
						|
        if (!($this->load($params) && $this->validate())) { | 
						|
            $query->andFilterWhere( | 
						|
                [ | 
						|
                    'section' => $this->section, | 
						|
                ] | 
						|
            ); | 
						|
            return $dataProvider; | 
						|
        } | 
						|
        $query->andFilterWhere( | 
						|
            [ | 
						|
                'id'      => $this->id, | 
						|
                'active'  => $this->active, | 
						|
                'section' => $this->section, | 
						|
            ] | 
						|
        ); | 
						|
        $query->andFilterWhere(['like', 'key', $this->key]) | 
						|
              ->andFilterWhere(['like', 'value', $this->value]); | 
						|
 | 
						|
        return $dataProvider; | 
						|
    } | 
						|
}
 | 
						|
 |