backend/controllers/SiteController.php
<?php
/*
* This file is part of the HomeFinanceV2 project.
*
* (c) Rafalsky.com <http://github.com/Rafalsky/>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace backend\controllers;
use common\components\keyStorage\FormModel;
use Yii;
/**
* Site controller
*/
class SiteController extends \yii\web\Controller
{
/**
* @inheritdoc
*/
public function actions()
{
return [
'error' => [
'class' => 'yii\web\ErrorAction',
]
];
}
public function beforeAction($action)
{
$this->layout = Yii::$app->user->isGuest || !Yii::$app->user->can('loginToBackend') ? 'base' : 'common';
return parent::beforeAction($action);
}
public function actionSettings()
{
$model = new FormModel([
'keys' => [
'frontend.maintenance' => [
'label' => Yii::t('backend', 'Frontend maintenance mode'),
'type' => FormModel::TYPE_DROPDOWN,
'items' => [
'disabled' => Yii::t('backend', 'Disabled'),
'enabled' => Yii::t('backend', 'Enabled')
]
],
'backend.theme-skin' => [
'label' => Yii::t('backend', 'Backend theme'),
'type' => FormModel::TYPE_DROPDOWN,
'items' => [
'skin-black' => 'skin-black',
'skin-blue' => 'skin-blue',
'skin-green' => 'skin-green',
'skin-purple' => 'skin-purple',
'skin-red' => 'skin-red',
'skin-yellow' => 'skin-yellow'
]
],
'backend.layout-fixed' => [
'label' => Yii::t('backend', 'Fixed backend layout'),
'type' => FormModel::TYPE_CHECKBOX
],
'backend.layout-boxed' => [
'label' => Yii::t('backend', 'Boxed backend layout'),
'type' => FormModel::TYPE_CHECKBOX
],
'backend.layout-collapsed-sidebar' => [
'label' => Yii::t('backend', 'Backend sidebar collapsed'),
'type' => FormModel::TYPE_CHECKBOX
]
]
]);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
Yii::$app->session->setFlash('alert', [
'body' => Yii::t('backend', 'Settings was successfully saved'),
'options' => ['class' => 'alert alert-success']
]);
return $this->refresh();
}
return $this->render('settings', ['model' => $model]);
}
}