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.'); | 
						|
    } | 
						|
}
 | 
						|
 |