MOON
Server: Apache
System: Linux u18017238.onlinehome-server.com 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64
User: emblazeone (1003)
PHP: 7.3.33
Disabled: exec,passthru,shell_exec,system
Upload Files
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']));
        }
    }

}