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.2 KiB
						
					
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							1.2 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.'); | 
						|
	} | 
						|
} |