/protected/controllers/SiteController.php
https://gitlab.com/irvanresna/sensasi · PHP · 168 lines · 104 code · 27 blank · 37 comment · 10 complexity · 6d82249c584250f690961147f73889f2 MD5 · raw file
- <?php
- class SiteController extends Controller
- {
- /**
- * Declares class-based actions.
- */
- public function actions()
- {
- return array(
- // captcha action renders the CAPTCHA image displayed on the contact page
- 'captcha'=>array(
- 'class'=>'CCaptchaAction',
- 'backColor'=>0xFFFFFF,
- ),
- // page action renders "static" pages stored under 'protected/views/site/pages'
- // They can be accessed via: index.php?r=site/page&view=FileName
- 'page'=>array(
- 'class'=>'CViewAction',
- ),
- );
- }
- /**
- * This is the default 'index' action that is invoked
- * when an action is not explicitly requested by users.
- */
- public function actionIndex()
- {
- // renders the view file 'protected/views/site/index.php'
- // using the default layout 'protected/views/layouts/main.php'
- $this->render('index');
- }
- public function actionProfile()
- {
-
- // renders the view file 'protected/views/site/index.php'
- // using the default layout 'protected/views/layouts/main.php'
-
- $this->render('about');
-
- }
- public function actionGallery()
- {
-
- // renders the view file 'protected/views/site/index.php'
- // using the default layout 'protected/views/layouts/main.php'
-
- $this->render('gallery');
-
- }
- public function actionVideo()
- {
-
- // renders the view file 'protected/views/site/index.php'
- // using the default layout 'protected/views/layouts/main.php'
-
- $this->render('video');
-
- }
- public function actionEvent()
- {
-
- // renders the view file 'protected/views/site/index.php'
- // using the default layout 'protected/views/layouts/main.php'
-
- $this->render('event');
-
- }
- public function actionDetailEvent($id)
- {
- $model = Event::model()->findByPk($id);
-
- $this->render('detailEvent', array('model'=>$model));
- }
- /**
- * This is the action to handle external exceptions.
- */
- public function actionError()
- {
- if($error=Yii::app()->errorHandler->error)
- {
- if(Yii::app()->request->isAjaxRequest)
- echo $error['message'];
- else
- $this->render('error', $error);
- }
- }
- /**
- * Displays the contact page
- */
- public function actionContact()
- {
- $model=new ContactForm;
- if(isset($_POST['ContactForm']))
- {
- $model->attributes=$_POST['ContactForm'];
- if($model->validate())
- {
- $name='=?UTF-8?B?'.base64_encode($model->name).'?=';
- $subject='=?UTF-8?B?'.base64_encode($model->subject).'?=';
- $headers="From: $name <{$model->email}>\r\n".
- "Reply-To: {$model->email}\r\n".
- "MIME-Version: 1.0\r\n".
- "Content-Type: text/plain; charset=UTF-8";
- mail(Yii::app()->params['adminEmail'],$subject,$model->body,$headers);
- Yii::app()->user->setFlash('contact','Thank you for contacting us. We will respond to you as soon as possible.');
- $this->refresh();
- }
- }
- $this->render('contact',array('model'=>$model));
- }
- /**
- * Displays the login page
- */
- public function actionLogin()
- {
- $this->layout ='//layouts/administrator/login';
- $model=new LoginForm;
- // if it is ajax validation request
- if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
- {
- echo CActiveForm::validate($model);
- Yii::app()->end();
- }
- // collect user input data
- if(isset($_POST['LoginForm']))
- {
- $model->attributes=$_POST['LoginForm'];
- // validate user input and redirect to the previous page if valid
- if($model->validate() && $model->login())
- //$this->redirect(Yii::app()->user->returnUrl);
- $this->redirect(array('administrator'));
- }
- // display the login form
- $this->render('login',array('model'=>$model));
- }
-
- public function actionAdministrator()
- {
- if(!Yii::app()->user->isGuest)
- {
- $this->layout ='//layouts/administrator/column1';
- $this->render('dashboardAdministrator');
- }else{
- $this->redirect(array('login'));
- }
- }
- /**
- * Logs out the current user and redirect to homepage.
- */
- public function actionLogout()
- {
- Yii::app()->user->logout();
- $this->redirect(Yii::app()->homeUrl);
- }
- }