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.
		
		
		
		
			
				
					48 lines
				
				1015 B
			
		
		
			
		
	
	
					48 lines
				
				1015 B
			| 
								 
											8 years ago
										 
									 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Created by Error202
							 | 
						||
| 
								 | 
							
								 * Date: 02.02.2018
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace frontend\components;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use core\entities\user\User;
							 | 
						||
| 
								 | 
							
								use yii\base\ActionFilter;
							 | 
						||
| 
								 | 
							
								use Yii;
							 | 
						||
| 
								 | 
							
								use yii\helpers\Url;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class SiteAccess extends ActionFilter
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									public function beforeAction($action)
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										if (!isset(Yii::$app->user->identity->user)) {
							 | 
						||
| 
								 | 
							
											return true;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/* @var $user User */
							 | 
						||
| 
								 | 
							
										$user = Yii::$app->user->identity->user;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										if (empty($user->email) || $user->email_confirm_token || empty($user->username)) {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											if (empty($user->email)) {
							 | 
						||
| 
								 | 
							
												Yii::$app->session->addFlash('error', Yii::t('auth', 'Specify email please'));
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											if ($user->email_confirm_token) {
							 | 
						||
| 
								 | 
							
												Yii::$app->session->addFlash('error', Yii::t('auth', 'Confirm email please'));
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											if (empty($user->username)) {
							 | 
						||
| 
								 | 
							
												Yii::$app->session->addFlash('error', Yii::t('auth', 'Specify username please'));
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											Yii::$app->response->redirect(Url::to([
							 | 
						||
| 
								 | 
							
												'/account/profile/edit',
							 | 
						||
| 
								 | 
							
												'return' => Yii::$app->request->url,
							 | 
						||
| 
								 | 
							
											]));
							 | 
						||
| 
								 | 
							
											return false;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										return true;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |