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.
		
		
		
		
		
			
		
			
				
					
					
						
							49 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							1.3 KiB
						
					
					
				| <?php | |
| /** | |
|  * Created by Error202 | |
|  * Date: 22.08.2018 | |
|  */ | |
|  | |
| namespace common\modules\banners\controllers; | |
|  | |
| use common\modules\banners\entities\Banner; | |
| use common\modules\banners\services\BannerManageService; | |
| use frontend\components\FrontendController; | |
| use yii\web\NotFoundHttpException; | |
|  | |
| class BannerController extends FrontendController | |
| { | |
|     private $_service; | |
|  | |
|     public function __construct(string $id, $module, BannerManageService $service, array $config = []) | |
|     { | |
|         parent::__construct($id, $module, $config); | |
|         $this->_service = $service; | |
|     } | |
|  | |
|     public function actionView() | |
|     { | |
|         $id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT); | |
|         if (\Yii::$app->request->isAjax && $id) { | |
|             $banner = $this->findModel($id); | |
|             $this->_service->addView($banner); | |
|         } | |
|     } | |
|  | |
|     public function actionClick() | |
|     { | |
|         $id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT); | |
|         if (\Yii::$app->request->isAjax && $id) { | |
|             $banner = $this->findModel($id); | |
|             $this->_service->addClick($banner); | |
|         } | |
|     } | |
|  | |
|     protected function findModel($id): Banner | |
|     { | |
|         if (($model = Banner::findOne($id)) !== null) { | |
|             return $model; | |
|         } | |
|         throw new NotFoundHttpException('The requested banner does not exist.'); | |
|     } | |
| }
 | |
| 
 |