pulsarvp/vps-tools

View on GitHub
src/modules/page/Module.php

Summary

Maintainability
A
1 hr
Test Coverage
<?php

    namespace vps\tools\modules\page;

    /**
     * @author    Evgenii Kuteiko <kuteiko@mail.ru>
     * @copyright Copyright (c) 2017
     * @date      2017-10-31
     */
    use vps\tools\helpers\ConfigurationHelper;
    use Yii;
    use yii\base\BootstrapInterface;

    /**
     * Class Module
     *```php
     * 'pages'   => [
     * 'class'         => 'vps\tools\modules\page\Module',
     * 'useMenu'       => false,
     * 'modelMenu'     => 'vps\tools\modules\menu\models\Menu',
     * 'modelMenuType' => 'vps\tools\modules\menu\models\MenuType'
     * ],
     * ```
     * @package vps\tools\modules\page
     */
    class Module extends \yii\base\Module implements BootstrapInterface
    {
        /**
         * @var string the namespace that controller classes are in
         */
        public $controllerNamespace = 'vps\tools\modules\page\controllers';
        /**
         * @var boolean view functional menu
         */
        public $useMenu = false;
        /**
         * @var string the class menu
         */
        public $modelMenu = 'vps\tools\modules\menu\models\Menu';
        /**
         * @var string the class menu type
         */
        public $modelMenuType = 'vps\tools\modules\menu\models\MenuType';
        public $title         = "Manage page";

        /**
         * @inheritdoc
         */
        public function bootstrap ($app)
        {
            $app->setAliases([ '@pageViews' => __DIR__ . '/views' ]);
            $app->setAliases([ '@vpsViews' => __DIR__ . '/../../views' ]);
            $app->getUrlManager()->addRules([
                [ 'class'   => 'vps\tools\web\UrlRule',
                  'pattern' => 'page/index',
                  'route'   => 'page/index'
                ],
                [ 'class'   => 'vps\tools\web\UrlRule',
                  'pattern' => 'page/add',
                  'route'   => $this->id . '/page/add'
                ],
                [ 'class'   => 'vps\tools\web\UrlRule',
                  'pattern' => 'page/edit/<id:[\w\-]+>',
                  'route'   => $this->id . '/page/edit'
                ],
                [ 'class'   => 'vps\tools\web\UrlRule',
                  'pattern' => 'page/delete',
                  'route'   => $this->id . '/page/delete'
                ],
                [ 'class'   => 'vps\tools\web\UrlRule',
                  'pattern' => 'page/activate',
                  'route'   => $this->id . '/page/activate'
                ],
                [ 'class'   => 'vps\tools\web\UrlRule',
                  'pattern' => 'page/image',
                  'route'   => $this->id . '/page/image'
                ],
                [ 'class'   => 'vps\tools\web\UrlRule',
                  'pattern' => 'page/view/<id:[\w\-]+>',
                  'route'   => $this->id . '/page/view'
                ],
                [ 'class'   => 'vps\tools\web\UrlRule',
                  'pattern' => 'page/<id:[\w\-]+>',
                  'route'   => $this->id . '/page/frontend'
                ],
            ], true);
            ConfigurationHelper::addTranslation('page', [ 'page' => 'page.php' ], __DIR__ . '/messages');
            $this->title = Yii::tr($this->title, [], 'page');
        }
    }