D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
epaji.com
/
public_html
/
hindiusa
/
controllers
/
Filename :
ImageGalleriesController.php
back
Copy
<?php namespace app\controllers; use yii; use yii\filters\AccessControl; use app\models\ImageGalleries; use app\models\SchoolImages; use app\models\ImageGalleriesSearch; use yii\web\Controller; use yii\web\NotFoundHttpException; use yii\filters\VerbFilter; use yii\web\UploadedFile; use yii\helpers\FileHelper; /** * ImageGalleriesController implements the CRUD actions for ImageGalleries model. */ class ImageGalleriesController extends Controller { /** * @inheritDoc */ public function behaviors() { return[ 'access' => [ 'class' => AccessControl::className(), 'only' => ['index','create','view','update','delete'], 'rules' => [ [ 'actions' => ['index','create','view','update','delete'], 'allow' => true, 'roles' => ['@'], 'matchCallback' => function ($rule, $action) { return \app\models\Users::isUserSuperAdmin(\Yii::$app->user->id); } ], [ 'actions' => ['index','create','view','update','delete'], 'allow' => true, 'roles' => ['@'], 'matchCallback' => function ($rule, $action) { return \app\models\Users::isUserSchoolManager(\Yii::$app->user->id); } ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['POST'], ], ], ]; } /** * Lists all ImageGalleries models. * @return mixed */ public function actionIndex() { $searchModel = new ImageGalleriesSearch(); $dataProvider = $searchModel->search($this->request->queryParams); if(\app\models\Users::isUserSchoolManager(\Yii::$app->user->id)){ $school_id = \app\components\AppHelper::getSchoolId(\Yii::$app->user->id); $dataProvider->query->andWhere('image_galleries.school_id ='.$school_id); } return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, ]); } /** * Displays a single ImageGalleries model. * @param int $id ID * @return mixed * @throws NotFoundHttpException if the model cannot be found */ public function actionView($id) { return $this->render('view', [ 'model' => $this->findModel($id), ]); } /** * Creates a new ImageGalleries model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new ImageGalleries(); // $image_model = new SchoolImages(); if ($model->load($this->request->post())) { if($model->display_status == NULL){ $model->display_status = 0; } if(\app\models\Users::isUserSchoolManager(\Yii::$app->user->id)){ $school_id = \app\components\AppHelper::getSchoolId(\Yii::$app->user->id); $model->school_id = $school_id; } //get the instance of the uploaded thumbnail file $model->gimage = UploadedFile::getinstance($model,'gimage'); if($model->gimage){ $gimageName = rand().'-'.$model->gimage->basename.'.'.$model->gimage->extension; $filePath ='uploads/schools/'.$model->school_id.'/'; if(!file_exists($filePath)) { FileHelper::createDirectory($filePath); } // save the file in db $model->image = 'uploads/schools/'.$model->school_id.'/'.$gimageName; } //End get the instance of the uploaded thumbnail file if($model->save()){ if($model->gimage){ // upload file on server $model->gimage->saveAs('uploads/schools/'.$model->school_id.'/'.$gimageName); } /** gallery images upload Start **/ //get the instance of the uploaded gallery images $model->simage = UploadedFile::getInstances($model, 'simage'); foreach ($model->simage as $simage) { $image_model = new SchoolImages(); $image_model->image_gallery_id = $model->id; $simageName = rand().'-'.$simage->basename.'.'.$simage->extension; $filePath ='uploads/schools/'.$model->school_id.'/'; if(!file_exists($filePath)) { FileHelper::createDirectory($filePath); } // save the file in db $image_model->image = 'uploads/schools/'.$model->school_id.'/'.$simageName; if($image_model->save()){ // upload file on server $simage->saveAs('uploads/schools/'.$model->school_id.'/'.$simageName); } } /** gallery images upload End **/ Yii::$app->session->setFlash('success', "Gallery Image saved successlly."); return $this->redirect(['index']); } } return $this->render('create', [ 'model' => $model ]); } /** * Updates an existing ImageGalleries model. * If update is successful, the browser will be redirected to the 'view' page. * @param int $id ID * @return mixed * @throws NotFoundHttpException if the model cannot be found */ public function actionUpdate($id) { $model = $this->findModel($id); if ($this->request->isPost && $model->load($this->request->post())) { if($model->display_status == NULL){ $model->display_status = 0; } //get the instance of the uploaded thumbnail file $model->gimage = UploadedFile::getinstance($model,'gimage'); if($model->gimage){ $gimageName = rand().'-'.$model->gimage->basename.'.'.$model->gimage->extension; $filePath ='uploads/schools/'.$model->school_id.'/'; if(!file_exists($filePath)) { FileHelper::createDirectory($filePath); } // save the file in db $model->image = 'uploads/schools/'.$model->school_id.'/'.$gimageName; } if ($model->save()) { if($model->gimage){ // upload file on server $model->gimage->saveAs('uploads/schools/'.$model->school_id.'/'.$gimageName); } /** gallery images upload Start **/ //get the instance of the uploaded gallery images $model->simage = UploadedFile::getInstances($model, 'simage'); foreach ($model->simage as $simage) { $image_model = new SchoolImages(); $image_model->image_gallery_id = $model->id; $simageName = rand().'-'.$simage->basename.'.'.$simage->extension; $filePath ='uploads/schools/'.$model->school_id.'/'; if(!file_exists($filePath)) { FileHelper::createDirectory($filePath); } // save the file in db $image_model->image = 'uploads/schools/'.$model->school_id.'/'.$simageName; if($image_model->save()){ // upload file on server $simage->saveAs('uploads/schools/'.$model->school_id.'/'.$simageName); } } /** gallery images upload End **/ Yii::$app->session->setFlash('success', "Gallery Image updated successlly."); return $this->redirect(['index']); } } return $this->render('update', [ 'model' => $model, ]); } /** * Deletes an existing ImageGalleries model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param int $id ID * @return mixed * @throws NotFoundHttpException if the model cannot be found */ public function actionDelete($id) { $this->findModel($id)->delete(); return $this->redirect(['index']); } public function actionPhotoGallery($url='') { if($url == ''){ $url = '/'; } $schooldata = \app\models\Schools::findOne(['url'=>$url]); $this->layout = 'school-front'; // Pass URL to school-front layout for creating menu $this->view->params['url'] = $url; if($schooldata){ $school_id = $schooldata->id; if($schooldata->url == '/'){ $gallery = ImageGalleries::find() ->andwhere(['status'=>1]) ->andWhere(['or', ['school_id'=>$school_id], ['display_status'=>1] ]) ->all(); } else{ $gallery = ImageGalleries::find()->where(['school_id'=>$school_id,'status'=>1])->all(); } // Gallery Category array on the basis of available images $gallery_category = []; $tmp = 0; $id_array = []; foreach ($gallery as $key => $value) { if (!in_array($value->galleryCategory->id, $id_array)) { $gallery_category[$tmp]['name'] = $value->galleryCategory->name; $gallery_category[$tmp]['id'] = $value->galleryCategory->id; $id_array[] = $value->galleryCategory->id; $tmp++; } } $this->view->params['description'] = $schooldata->name.'| Image Gallery'; return $this->render('photo-gallery',['gallery'=>$gallery,'category'=>$gallery_category,'school'=>$schooldata]); } else { $this->view->params['url'] = '/'; return $this -> render('/site/errornotice'); } } public function actionGalleryDetails($url='',$id, $title) { if($url == ''){ $url = '/'; } $schooldata = \app\models\Schools::findOne(['url'=>$url]); $this->layout = 'school-front'; // Pass URL to school-front layout for creating menu $this->view->params['url'] = $url; if($schooldata){ $school_id = $schooldata->id; $gallery = \app\models\SchoolImages::find()->where(['image_gallery_id'=>$id])->all(); $this->view->params['description'] = $schooldata->name.'| Image Gallery'; return $this->render('gallery-details',['gallery'=>$gallery,'school'=>$schooldata,'title'=>$title]); } else { $this->view->params['url'] = '/'; return $this -> render('/site/errornotice'); } } /** * Finds the ImageGalleries model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param int $id ID * @return ImageGalleries the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = ImageGalleries::findOne($id)) !== null) { return $model; } throw new NotFoundHttpException(Yii::t('app', 'The requested page does not exist.')); } }