AccountsController.php 1.62 KB
<?php
namespace frontend\controllers;

use common\models\Language;
use Yii;
use common\models\User;
use common\models\UserInfo;

use yii\filters\AccessControl;
use yii\web\Controller;
use yii\web\NotFoundHttpException;


/**
 * Site controller
 */
class AccountsController extends Controller
{


    public $layout = 'admin';

    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'actions' => ['cabinet','change-password'],
                        'allow' => true,
                        'roles' => ['@'],
                    ],
                ],
            ],
        ];
    }


    public function actionCabinet()
    {


        $user =  $this->findUser(Yii::$app->user->identity->id);

        $user_info =  $this->findUserInfo(Yii::$app->user->identity->id);

        $langs = Language::getActiveLanguages();



        return $this->render('cabinet', [
            'user' => $user,
            'user_info' => $user_info,
            'langs' => $langs,
        ]);



    }




    protected function findUser($id)
    {

        if (($model = User::findOne(["id"=>$id])) !== null) {
            return $model;
        } else {
            throw new NotFoundHttpException('The requested page does not exist.');
        }
    }



    protected function findUserInfo($id)
    {

        if (($model = UserInfo::findOne(["user_id"=>$id])) !== null) {
            return $model;
        } else {
            throw new NotFoundHttpException('The requested page does not exist.');
        }
    }


}