/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = ActivityImage::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'id_activity' => $this->id_activity]);
     $query->andFilterWhere(['like', 'name', $this->name]);
     return $dataProvider;
 }
 /**
  * Updates an existing Activity model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModel($id);
     if ($model->load(Yii::$app->request->post())) {
         $model->imageFiles = UploadedFile::getInstances($model, 'imageFiles');
         $model->save();
         if ($model->imageFiles) {
             if ($model->upload($model->id)) {
                 // file is uploaded successfully
             }
         }
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         $query = ActivityImage::find();
         $dataProvider = new ActiveDataProvider(['query' => $query]);
         $query->andFilterWhere(['id_activity' => $model->id]);
         return $this->render('update', ['dataProvider' => $dataProvider, 'model' => $model]);
     }
 }
 public function actionLink()
 {
     /*$categories = Category::find()->all();
     
             foreach ($categories as $category){
                 $names = explode(';',$category->id_classification);
                 $array = array();
                 foreach ($names as $id=>$name){
                     $classification = CategoryClassification::find()->where(['name' => $name])->one();
                     if ($classification){
                         $array[] = $classification->id;
                         echo 'added to array '. $name . '<br>';
                     }
                 }
                 $temp = implode(";", $array);
                 $category->id_classification = $temp;
                 $category->save();
             }*/
     $categories = Activity::find()->all();
     foreach ($categories as $category) {
         $images = explode(';', $category->images);
         foreach ($images as $id => $name) {
             $categoryImage = ActivityImage::find()->where(['name' => $name, 'id_activity' => $category->id])->one();
             if ($categoryImage) {
             } else {
                 $categoryImage = new ActivityImage();
                 $categoryImage->id_activity = $category->id;
                 $categoryImage->name = $name;
                 $categoryImage->save();
             }
         }
     }
     /*$categories = Category::find()->all();
     
             foreach ($categories as $category){
                 $names = explode(';',$category->id_classification);
                 foreach ($names as $id=>$name){
                     $classification = CategoryClassification::find()->where(['name' => $name])->one();
                     if ($classification){
                         //echo 'yes=' . $name . '<br>';
                     }else{
                         echo 'creating =' . $name . '<br>';
                         $classification = new CategoryClassification();
                         $classification->name = $name;
                         $classification->save();
                     }
                 }
     
                 //var_dump($names);
             }*/
     /*$types = ActivityType::find()->all();
     
             foreach ($types as $type) {
                 $activities = Activity::find()->where(['like', 'id_type', $type->name])->all();
                 foreach ($activities as $activity) {
                     $activity->id_type = $type->id;
                     $activity->save();
                 }
             }*/
     /*$activities = Category::find()->where(['id_where' => ''])->all();
       foreach ($activities as $activity) {
           $activity->id_where = null;
           $activity->save();
       }*/
     /*$activities = Activity::find()->where(['id_type' => ''])->all();
       foreach ($activities as $activity) {
           $activity->id_type = null;
           $activity->save();
       }*/
     /*$where = CategoryWhere::find()->all();
     
             foreach ($where as $place) {
                 $categories = Category::find()->where(['like', 'id_where', $place->name])->all();
                 foreach ($categories as $category) {
                     $category->id_where = $place->id;
                     $category->save();
                 }
             }
     
             $difficulties = CategoryDifficulty::find()->all();
     
             foreach ($difficulties as $difficulty) {
                 $categories = Category::find()->where(['like', 'id_difficulty', $difficulty->name])->all();
                 foreach ($categories as $category) {
                     $category->id_difficulty = $difficulty->id;
                     $category->save();
                 }
             }
     
             $trainings = CategoryTraining::find()->all();
     
             foreach ($trainings as $training) {
                 $categories = Category::find()->where(['like', 'id_training', $training->name])->all();
                 foreach ($categories as $category) {
                     $category->id_training = $training->id;
                     $category->save();
                 }
             }*/
     return $this->render('link', []);
 }
 /**
  * @param integer $id
  * @return boolean
  */
 public function upload($id)
 {
     if ($this->validate()) {
         $name = ActivityImage::find()->where(['id_activity' => $id])->max('name');
         if (!$name) {
             $counter = 0;
         } else {
             $array = explode(".", $name);
             $counter = $array[0] + 1;
         }
         $folder = Yii::getAlias('@activity/' . $id);
         if (!file_exists($folder)) {
             BaseFileHelper::createDirectory($folder);
         }
         foreach ($this->imageFiles as $file) {
             $file->saveAs($folder . '/' . $counter . '.jpg');
             Image::thumbnail(Yii::getAlias('@activity/' . $id . '/' . $counter . '.jpg'), 120, 120)->save(Yii::getAlias('@activity/' . $id . '/thumb' . $counter . '.jpg'), ['quality' => 80]);
             $newImage = new ActivityImage();
             $newImage->id_activity = $id;
             $newImage->name = $counter . '.jpg';
             $newImage->save();
             $counter++;
         }
         return true;
     } else {
         return false;
     }
 }
Beispiel #5
0
echo Html::encode($this->title);
?>
</h1>
    <?php 
// echo $this->render('_search', ['model' => $searchModel]);
?>

    <p>
        <?php 
echo Html::a('Create Activity', ['create'], ['class' => 'btn btn-success']);
?>
    </p>

    <?php 
echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['attribute' => 'image', 'format' => 'html', 'value' => function ($model) {
    $image = ActivityImage::find()->where(['id_activity' => $model->id])->min('name');
    if ($image) {
        $file = Yii::getAlias('@activity/' . $model->id . '/' . $image);
        if (file_exists($file)) {
            $thumb = Yii::getAlias('@activity/' . $model->id . '/thumb' . $image);
            if (file_exists($thumb)) {
            } else {
                Image::thumbnail($file, 120, 120)->save(Yii::getAlias('@activity/' . $model->id . '/thumb' . $image), ['quality' => 80]);
            }
            return Html::img(Yii::getAlias('@activity/' . $model->id . '/thumb' . $image));
        }
    } else {
        return Html::img(Yii::getAlias('http://ixioo.com/upload/images/no-photo.jpg'));
    }
}], 'id', ['attribute' => 'name', 'format' => 'html', 'value' => function ($model) {
    return '<a href="/activity/view/' . $model->id . '">' . $model->name . '</a>';