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.
		
		
		
		
		
			
		
			
				
					
					
						
							95 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							95 lines
						
					
					
						
							1.7 KiB
						
					
					
				<?php | 
						|
 | 
						|
namespace app\controllers; | 
						|
 | 
						|
use Yii; | 
						|
use yii\web\AccessControl; | 
						|
use yii\web\Controller; | 
						|
use yii\web\VerbFilter; | 
						|
use app\models\LoginForm; | 
						|
use app\models\ContactForm; | 
						|
 | 
						|
class SiteController extends Controller | 
						|
{ | 
						|
	public function behaviors() | 
						|
	{ | 
						|
		return [ | 
						|
			'access' => [ | 
						|
				'class' => AccessControl::className(), | 
						|
				'only' => ['login', 'logout'], | 
						|
				'rules' => [ | 
						|
					[ | 
						|
						'actions' => ['login'], | 
						|
						'allow' => true, | 
						|
						'roles' => ['?'], | 
						|
					], | 
						|
					[ | 
						|
						'actions' => ['logout'], | 
						|
						'allow' => true, | 
						|
						'roles' => ['@'], | 
						|
					], | 
						|
				], | 
						|
			], | 
						|
			'verbs' => [ | 
						|
				'class' => VerbFilter::className(), | 
						|
				'actions' => [ | 
						|
					'logout' => ['post'], | 
						|
				], | 
						|
			], | 
						|
		]; | 
						|
	} | 
						|
 | 
						|
	public function actions() | 
						|
	{ | 
						|
		return [ | 
						|
			'error' => [ | 
						|
				'class' => 'yii\web\ErrorAction', | 
						|
			], | 
						|
			'captcha' => [ | 
						|
				'class' => 'yii\captcha\CaptchaAction', | 
						|
				'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, | 
						|
			], | 
						|
		]; | 
						|
	} | 
						|
 | 
						|
	public function actionIndex() | 
						|
	{ | 
						|
		return $this->render('index'); | 
						|
	} | 
						|
 | 
						|
	public function actionLogin() | 
						|
	{ | 
						|
		$model = new LoginForm(); | 
						|
		if ($model->load($_POST) && $model->login()) { | 
						|
			return $this->goBack(); | 
						|
		} else { | 
						|
			return $this->render('login', [ | 
						|
				'model' => $model, | 
						|
			]); | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	public function actionLogout() | 
						|
	{ | 
						|
		Yii::$app->user->logout(); | 
						|
		return $this->goHome(); | 
						|
	} | 
						|
 | 
						|
	public function actionContact() | 
						|
	{ | 
						|
		$model = new ContactForm; | 
						|
		if ($model->load($_POST) && $model->contact(Yii::$app->params['adminEmail'])) { | 
						|
			Yii::$app->session->setFlash('contactFormSubmitted'); | 
						|
			return $this->refresh(); | 
						|
		} else { | 
						|
			return $this->render('contact', [ | 
						|
				'model' => $model, | 
						|
			]); | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	public function actionAbout() | 
						|
	{ | 
						|
		return $this->render('about'); | 
						|
	} | 
						|
}
 | 
						|
 |