예제 #1
1
 public function init()
 {
     $this->css[] = \Yii::$app->settings->get($this->settingsKey, self::SETTINGS_SECTION) . '-' . self::MAIN_LESS_FILE;
     parent::init();
     if (!$this->sourcePath) {
         // TODO: this is workaround for empty source path when using bundled assets
         return;
     } else {
         $sourcePath = \Yii::getAlias($this->sourcePath);
         @mkdir($sourcePath);
         $models = Less::find()->all();
         $hash = sha1(Json::encode($models));
         if ($hash !== \Yii::$app->cache->get(self::CACHE_ID)) {
             $lessFiles = FileHelper::findFiles($sourcePath, ['only' => ['*.less']]);
             foreach ($lessFiles as $file) {
                 unlink($file);
             }
             foreach ($models as $model) {
                 file_put_contents("{$sourcePath}/{$model->key}.less", $model->value);
             }
             $dependency = new FileDependency();
             $dependency->fileName = __FILE__;
             \Yii::$app->cache->set(self::CACHE_ID, $hash, 0, $dependency);
             @touch($sourcePath);
         }
     }
 }
예제 #2
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = LessModel::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id]);
     $query->andFilterWhere(['like', 'key', $this->key])->andFilterWhere(['like', 'value', $this->value]);
     $query->orderBy('key');
     return $dataProvider;
 }
 /**
  * Finds the Less model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  *
  * @param integer $id
  *
  * @return Less the loaded model
  * @throws HttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Less::findOne($id)) !== null) {
         return $model;
     } else {
         throw new HttpException(404, 'The requested page does not exist.');
     }
 }