main.php 4.68 KB
<?php

$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);

define ('IS_FRONT', TRUE);

return [
    'id' => 'app-frontend',
    'basePath' => dirname(__DIR__),
    //'bootstrap' => ['log', 'PageController'],
//    'bootstrap' => ['log'],
    'controllerNamespace' => 'frontend\controllers',
    'modules' => [

    ],
    'bootstrap' => [

        // название класса
        'common\components\UserCheck',


        // анонимная функция
        function () {
            return new common\components\UserCheck;
        }
    ],

    'components' => [

        'assetManager' => [
            'bundles' => [
                'yii\bootstrap\BootstrapAsset' => [
                    'sourcePath' => '@bower/bootstrap/dist',
                    'css' => []
                ],
                'yii\web\JqueryAsset' =>[
                    'jsOptions' =>  ['position' => \yii\web\View::POS_HEAD]
                ]
            ],
        ],
        //'PageController'=>[
        //    'class' => 'frontend\controllers\PageController'
        //],
        'request' => [
            'class' => 'common\components\LangRequest'
        ],
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
        ],
        'userinfo' => [

            'class' => 'frontend\components\UserInfo',

        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
        'urlManager' => [
            'baseUrl' => '/',
            'enablePrettyUrl' => true,
            'showScriptName' => false,
                'rules' => [
                    'landing/<view:[\w-]+>' => 'landing/view',
                    'performer/portfolio/<performer_id:[\w-]+>/<type:(?:implementer|customer)>/<filter:[\d]+>' => 'performer/portfolio-filter',
                    'performer/portfolio/<performer_id:[\w-]+>/<filter:[\d]+>' => 'performer/portfolio-filter',
                    'performer/portfolio-view/<performer_id:[\w-]+>/<type:(?:implementer|customer)>/<portfolio_id:[\w-]+>' => 'performer/portfolio-view',
                    'performer/portfolio-view/<performer_id:[\w-]+>/<portfolio_id:[\w-]+>/<portfolio_user:[\w-]+>' => 'performer/portfolio-view',
                    'performer/portfolio-view/<performer_id:[\w-]+>/<portfolio_id:[\w-]+>' => 'performer/portfolio-view',
                    'performer/blog-view/<performer_id:[\w-]+>/<type:(?:implementer|customer)>/<link:[\w-]+>' => 'performer/blog-view',
                    'performer/blog-view/<performer_id:[\w-]+>/<link:[\w-]+>' => 'performer/blog-view',
                    'performer/<action>/<performer_id:[\w-]+>/<type:(?:implementer|customer)>' => 'performer/<action>',
                    'performer/<action>/<performer_id:[\w-]+>' => 'performer/<action>',
                    'company/portfolio/<company_id:[\w-]+>/<type:(?:implementer|customer)>/<filter:[\d]+>' => 'company/portfolio-filter',
                    'company/portfolio/<company_id:[\w-]+>/<filter:[\d]+>' => 'company/portfolio-filter',
                    'company/portfolio-view/<company_id:[\w-]+>/<portfolio_id:[\w-]+>/<portfolio_user:[\w-]+>/<type:(?:implementer|customer)>' => 'company/portfolio-view',
                    'company/portfolio-view/<company_id:[\w-]+>/<portfolio_id:[\w-]+>/<portfolio_user:[\w-]+>' => 'company/portfolio-view',
                    'company/portfolio-view/<company_id:[\w-]+>/<portfolio_id:[\w-]+>' => 'company/portfolio-view',
                    'company/blog-view/<company_id:[\w-]+>/<type:(?:implementer|customer)>/<link:[\w-]+>' => 'company/blog-view',
                    'company/blog-view/<company_id:[\w-]+>/<link:[\w-]+>' => 'company/blog-view',
                    'company/vacancy-view/<company_id:[\w-]+>/<type:(?:implementer|customer)>/<link:[\w-_\s]+>' => 'company/vacancy-view',
                    'company/vacancy-view/<company_id:[\w-]+>/<link:[\w-_\s]+>' => 'company/vacancy-view',
                    'company/<action>/<company_id:[\w-]+>/<type:(?:implementer|customer)>' => 'company/<action>',
                    'company/<action>/<company_id:[\w-]+>' => 'company/<action>',
                    'chat/message/<user_id:[\w-]>'=> 'chat/message',
                    'tender/view/<tender_id:[\d-]+>' => 'tender/view',
                ]
        ],
    ],
    'params' => $params,
];