File: /home/emblazeone/www/lyyt/frontend/controllers/SiteController.php
<?php
namespace frontend\controllers;
use backend\modules\faq\models\Faq;
use Yii;
use yii\base\InvalidArgumentException;
use yii\web\Controller;
use frontend\models\PasswordResetRequestForm;
use backend\modules\pages\models\Pages;
use backend\modules\contact\models\Contact;
use yii\web\UploadedFile;
/**
* Site controller
*/
class SiteController extends Controller
{
public $contactForm;
public function beforeAction($action)
{
$this->contactForm=new Contact(['scenario'=>Contact::SCENARIO_SUBSCRIBE]);
return parent::beforeAction($action);
}
public function actions()
{
return [
'error' => [
'class' => 'yii\web\ErrorAction',
]
];
}
public function actionAbout(){
$page=Pages::findOne(['href'=>'about']);
return $this->render('about', ['model'=>$page]);
}
// public function actionContact(){
// return $this->render('contact');
// }
public function actionFaq(){
$faqs=Faq::find()->where(['status'=>Faq::STATUS_ACTIVE])->all();
return $this->render('faq-page',['faqs'=>$faqs]);
}
public function actionLocate(){
return $this->render('locate');
}
public function actionSupport(){
$page=Pages::findOne(['href'=>'support']);
return $this->render('generic-page', ['model'=>$page]);
}
public function actionTestResults(){
$page=Pages::findOne(['href'=>'test-results']);
return $this->render('generic-page', ['model'=>$page]);
}
public function actionVerify(){
$page=Pages::findOne(['href'=>'verify']);
return $this->render('generic-page', ['model'=>$page]);
}
public function actionReturns(){
$model = new Contact();
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->upload_file = UploadedFile::getInstance($model, 'upload_file');
$model->type=1;
$model->save();
if($model->upload_file) $model->upload();
Yii::$app->session->setFlash('success', Yii::t('index', 'Thank you for contacting us, we will contact you as soon as possible.'));
if(Yii::$app->request->isAjax){
return $this->renderAjax('messages');
}else{
return $this->render('returns', ['model'=>$model]);
}
} else {
return $this->render('returns', ['model'=>$model]);
}
}
public function actionTerms(){
$page=Pages::findOne(['href'=>'terms-and-conditions']);
return $this->render('generic-page', ['model'=>$page]);
}
public function actionPrivacy(){
$page=Pages::findOne(['href'=>'privacy-policy']);
return $this->render('generic-page', ['model'=>$page]);
}
public function actionIndex(){
return $this->render('index');
}
// public function actionAddToCart(){
// $product_id=Yii::$app->request->post('id');
// $size=Yii::$app->request->post('size');
//
// Cart::getInstance()->addItem($product_id,$size);
//
// return $this->redirect(['cart']);
// }
//
// public function actionRemoveFromCart(){
// $position=Yii::$app->request->get('position');
//
// Cart::getInstance()->removeItem($position);
//
// return $this->redirect(['cart']);
// }
// public function actionAddDiscount(){
// $code=Yii::$app->request->post('code');
// Cart::getInstance()->addDiscount($code);
//// return $this->redirect(['cart']);
// }
//
// public function actionCart(){
// if(!Cart::getInstance()->getCount()){
// return $this->render('empty-cart');
// }
// $order=new Orders(['scenario'=>'cart']);
// return $this->render('cart',['order'=>$order]);
// }
// public function actionOrder(){
// $order=new Orders(['scenario'=>'cart']);
// if($order->load(Yii::$app->request->post()) && $order->validate()){
// Yii::$app->session->setFlash('success', Yii::t('index', 'Спасибо за заказ, мы свяжемся с вами как можно скорее.'));
// $order->save();
// Cart::getInstance()->clean();
// return $this->redirect(['index']);
// }else{
// return $this->redirect(['cart']);
// }
//
// }
//
// public function actionGetPrice(){
// $product_id=Yii::$app->request->get('id');
// $size=Yii::$app->request->get('size');
// $activeProduct=Products::findOne($product_id);
// if(!Yii::$app->request->isAjax) return $this->redirect(['index']);
// return $this->renderAjax('get-price',['size'=>$size,'activeProduct'=>$activeProduct]);
// }
public function actionGetCartPrice(){
return 0;
}
public function actionContact()
{
$model = new Contact();
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->upload_file = UploadedFile::getInstance($model, 'upload_file');
$model->type=0;
$model->save();
if($model->upload_file) $model->upload();
Yii::$app->session->setFlash('success', Yii::t('index', 'Thank you for contacting us, we will contact you as soon as possible.'));
if(Yii::$app->request->isAjax){
return $this->renderAjax('messages');
}else{
return $this->render('contact', ['model'=>$model]);
}
} else {
return $this->render('contact', ['model'=>$model]);
}
}
public function actionSubscribe()
{
$model = new Contact(['scenario'=>Contact::SCENARIO_SUBSCRIBE]);
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->type=2;
$model->save();
Yii::$app->session->setFlash('success', Yii::t('index', 'Thank you for subscribe us.'));
return $this->redirect(Yii::$app->request->get('return', ['index']));
} else {
return $this->redirect(Yii::$app->request->get('return', ['index']));
}
}
}