Commit b6fcf30a068811575e98fcbd356c690acdef2094
Merge remote-tracking branch 'origin/master'
# Conflicts: # backend/views/layouts/main.php
Showing
5 changed files
with
235 additions
and
193 deletions
Show diff stats
backend/config/main.php
1 | 1 | <?php |
2 | + use yii\web\UrlManager; | |
3 | + | |
2 | 4 | $params = array_merge( |
3 | 5 | require( __DIR__ . '/../../common/config/params.php' ), |
4 | 6 | require( __DIR__ . '/../../common/config/params-local.php' ), |
... | ... | @@ -33,7 +35,7 @@ |
33 | 35 | ], |
34 | 36 | ], |
35 | 37 | 'components' => [ |
36 | - 'assetManager' => [ | |
38 | + 'assetManager' => [ | |
37 | 39 | 'bundles' => [ |
38 | 40 | 'yiister\gentelella\assets\ThemeAsset' => [ |
39 | 41 | 'sourcePath' => '@backend/assets/', |
... | ... | @@ -46,22 +48,18 @@ |
46 | 48 | ], |
47 | 49 | ], |
48 | 50 | ], |
49 | - 'filedb' => [ | |
50 | - 'class' => 'yii2tech\filedb\Connection', | |
51 | - 'path' => '@common/config', | |
52 | - ], | |
53 | - 'imagemanager' => [ | |
51 | + 'imagemanager' => [ | |
54 | 52 | 'class' => 'noam148\imagemanager\components\ImageManagerGetPath', |
55 | 53 | 'mediaPath' => dirname(dirname(__DIR__)) . '/storage', |
56 | 54 | 'cachePath' => 'assets/images', |
57 | 55 | 'useFilename' => true, |
58 | 56 | 'absoluteUrl' => false, |
59 | 57 | ], |
60 | - 'request' => [ | |
58 | + 'request' => [ | |
61 | 59 | 'csrfParam' => '_csrf-backend', |
62 | 60 | 'baseUrl' => '/admin', |
63 | 61 | ], |
64 | - 'user' => [ | |
62 | + 'user' => [ | |
65 | 63 | 'identityClass' => 'artweb\artbox\core\models\User', |
66 | 64 | 'enableAutoLogin' => true, |
67 | 65 | 'identityCookie' => [ |
... | ... | @@ -69,11 +67,11 @@ |
69 | 67 | 'httpOnly' => true, |
70 | 68 | ], |
71 | 69 | ], |
72 | - 'session' => [ | |
70 | + 'session' => [ | |
73 | 71 | // this is the name of the session cookie used for login on the backend |
74 | 72 | 'name' => 'advanced-backend', |
75 | 73 | ], |
76 | - 'log' => [ | |
74 | + 'log' => [ | |
77 | 75 | 'traceLevel' => YII_DEBUG ? 3 : 0, |
78 | 76 | 'targets' => [ |
79 | 77 | [ |
... | ... | @@ -85,10 +83,17 @@ |
85 | 83 | ], |
86 | 84 | ], |
87 | 85 | ], |
88 | - 'errorHandler' => [ | |
86 | + 'errorHandler' => [ | |
89 | 87 | 'errorAction' => 'site/error', |
90 | 88 | ], |
91 | - 'urlManager' => [ | |
89 | + 'urlManager' => [ | |
90 | + 'enablePrettyUrl' => true, | |
91 | + 'showScriptName' => false, | |
92 | + 'rules' => [], | |
93 | + ], | |
94 | + 'urlManagerFrontend' => [ | |
95 | + 'class' => UrlManager::className(), | |
96 | + 'baseUrl' => '/', | |
92 | 97 | 'enablePrettyUrl' => true, |
93 | 98 | 'showScriptName' => false, |
94 | 99 | 'rules' => [], | ... | ... |
backend/views/layouts/main.php
... | ... | @@ -12,8 +12,11 @@ |
12 | 12 | use hiqdev\assets\icheck\iCheckAsset; |
13 | 13 | use hiqdev\assets\pnotify\PNotifyAsset; |
14 | 14 | use yii\helpers\Html; |
15 | + use yii\bootstrap\Html; | |
16 | + use yii\web\UrlManager; | |
15 | 17 | use yii\web\View; |
16 | 18 | use yii\widgets\Breadcrumbs; |
19 | + use yiister\gentelella\widgets\Menu; | |
17 | 20 | |
18 | 21 | yiister\gentelella\assets\Asset::register($this); |
19 | 22 | PNotifyAsset::register($this); |
... | ... | @@ -24,6 +27,7 @@ |
24 | 27 | * @var User $user |
25 | 28 | */ |
26 | 29 | $user = \Yii::$app->user->identity; |
30 | + $userData = $user->ensureExistance(); | |
27 | 31 | ?> |
28 | 32 | <?php $this->beginPage(); ?> |
29 | 33 | <!DOCTYPE html> |
... | ... | @@ -36,11 +40,6 @@ |
36 | 40 | <?= Html::csrfMetaTags() ?> |
37 | 41 | <title><?= Html::encode($this->title) ?></title> |
38 | 42 | <?php $this->head() ?> |
39 | - <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> | |
40 | - <!--[if lt IE 9]> | |
41 | - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> | |
42 | - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> | |
43 | - <![endif]--> | |
44 | 43 | </head> |
45 | 44 | <body class="nav-md"> |
46 | 45 | <?php $this->beginBody(); ?> |
... | ... | @@ -52,19 +51,55 @@ |
52 | 51 | <div class="left_col scroll-view"> |
53 | 52 | |
54 | 53 | <div class="navbar nav_title" style="border: 0;"> |
55 | - <a href="/" class="site_title"><i class="fa fa-rocket"></i> <span>Artbox!</span></a> | |
54 | + <?php | |
55 | + echo Html::a( | |
56 | + Html::icon( | |
57 | + 'rocket', | |
58 | + [ | |
59 | + 'prefix' => 'fa fa-', | |
60 | + ] | |
61 | + ) . Html::tag('span', 'Artbox!'), | |
62 | + [ 'site/index' ], | |
63 | + [ | |
64 | + 'class' => 'site_title', | |
65 | + ] | |
66 | + ); | |
67 | + ?> | |
56 | 68 | </div> |
57 | 69 | <div class="clearfix"></div> |
58 | 70 | |
59 | 71 | <!-- menu prile quick info --> |
60 | 72 | <div class="profile"> |
61 | 73 | <div class="profile_pic"> |
62 | - <img src="http://placehold.it/128x128" alt="..." class="img-circle profile_img"> | |
74 | + <?php | |
75 | + echo Html::a( | |
76 | + Html::img( | |
77 | + 'http://placehold.it/128x128', | |
78 | + [ | |
79 | + 'alt' => $userData->fullname, | |
80 | + 'title' => \Yii::t('core', 'Change image'), | |
81 | + 'class' => 'img-circle profile_img', | |
82 | + ] | |
83 | + ), | |
84 | + [ 'profile/index' ] | |
85 | + ) | |
86 | + ?> | |
63 | 87 | </div> |
64 | 88 | <div class="profile_info"> |
65 | - <span>Welcome,</span> | |
66 | - <h2>John Doe</h2> | |
89 | + <span><?= \Yii::t('core', 'Welcome,'); ?></span> | |
90 | + <h2> | |
91 | + <?php | |
92 | + echo Html::a( | |
93 | + $userData->fullname, | |
94 | + [ 'profile/index' ], | |
95 | + [ | |
96 | + 'title' => \Yii::t('core', 'Change name'), | |
97 | + ] | |
98 | + ); | |
99 | + ?> | |
100 | + </h2> | |
67 | 101 | </div> |
102 | + <div class="clearfix"></div> | |
68 | 103 | </div> |
69 | 104 | <!-- /menu prile quick info --> |
70 | 105 | |
... | ... | @@ -74,92 +109,50 @@ |
74 | 109 | <div id="sidebar-menu" class="main_menu_side hidden-print main_menu"> |
75 | 110 | |
76 | 111 | <div class="menu_section"> |
77 | - <h3>General</h3> | |
78 | - <?= \yiister\gentelella\widgets\Menu::widget( | |
79 | - [ | |
80 | - "items" => [ | |
81 | - [ | |
82 | - "label" => "Home", | |
83 | - "url" => "/", | |
84 | - "icon" => "home", | |
85 | - ], | |
86 | - [ | |
87 | - "label" => "Layout", | |
88 | - "url" => [ "site/layout" ], | |
89 | - "icon" => "files-o", | |
90 | - ], | |
91 | - [ | |
92 | - "label" => "Error page", | |
93 | - "url" => [ "site/error-page" ], | |
94 | - "icon" => "close", | |
95 | - ], | |
112 | + <?php | |
113 | + $homeLink = []; | |
114 | + /** | |
115 | + * @var UrlManager $urlManagerFrontend | |
116 | + */ | |
117 | + if ($urlManagerFrontend = \Yii::$app->get('urlManagerFrontend', false)) { | |
118 | + $homeLink = [ | |
96 | 119 | [ |
97 | - "label" => "Widgets", | |
98 | - "icon" => "th", | |
99 | - "url" => "#", | |
100 | - "items" => [ | |
101 | - [ | |
102 | - "label" => "Menu", | |
103 | - "url" => [ "site/menu" ], | |
104 | - ], | |
105 | - [ | |
106 | - "label" => "Panel", | |
107 | - "url" => [ "site/panel" ], | |
108 | - ], | |
120 | + 'label' => \Yii::t('core', 'My website'), | |
121 | + 'url' => $urlManagerFrontend->createUrl([ 'site/index' ]), | |
122 | + 'icon' => 'home', | |
123 | + 'template' => '<a href="{url}" target="_blank">{icon}<span>{label}</span>{badge}</a>', | |
124 | + 'options' => [ | |
125 | + 'class' => 'homepage_link', | |
109 | 126 | ], |
110 | 127 | ], |
128 | + ]; | |
129 | + } | |
130 | + $menuItems = array_merge( | |
131 | + $homeLink, | |
132 | + [ | |
111 | 133 | [ |
112 | - "label" => "Badges", | |
113 | - "url" => "#", | |
114 | - "icon" => "table", | |
115 | - "items" => [ | |
116 | - [ | |
117 | - "label" => "Default", | |
118 | - "url" => "#", | |
119 | - "badge" => "123", | |
120 | - ], | |
121 | - [ | |
122 | - "label" => "Success", | |
123 | - "url" => "#", | |
124 | - "badge" => "new", | |
125 | - "badgeOptions" => [ "class" => "label-success" ], | |
126 | - ], | |
127 | - [ | |
128 | - "label" => "Danger", | |
129 | - "url" => "#", | |
130 | - "badge" => "!", | |
131 | - "badgeOptions" => [ "class" => "label-danger" ], | |
132 | - ], | |
133 | - ], | |
134 | + 'label' => \Yii::t('core', 'Static pages'), | |
135 | + 'url' => [ 'page/index' ], | |
136 | + 'icon' => 'file-text', | |
137 | + 'active' => function () { | |
138 | + return \Yii::$app->controller->id === 'page'; | |
139 | + }, | |
134 | 140 | ], |
135 | 141 | [ |
136 | - "label" => "Multilevel", | |
137 | - "url" => "#", | |
138 | - "icon" => "table", | |
139 | - "items" => [ | |
140 | - [ | |
141 | - "label" => "Second level 1", | |
142 | - "url" => "#", | |
143 | - ], | |
144 | - [ | |
145 | - "label" => "Second level 2", | |
146 | - "url" => "#", | |
147 | - "items" => [ | |
148 | - [ | |
149 | - "label" => "Third level 1", | |
150 | - "url" => "#", | |
151 | - ], | |
152 | - [ | |
153 | - "label" => "Third level 2", | |
154 | - "url" => "#", | |
155 | - ], | |
156 | - ], | |
157 | - ], | |
158 | - ], | |
142 | + 'label' => \Yii::t('core', 'SEO'), | |
143 | + 'url' => [ 'seo/index' ], | |
144 | + 'icon' => 'bolt', | |
145 | + 'active' => function () { | |
146 | + return \Yii::$app->controller->id === 'seo'; | |
147 | + }, | |
159 | 148 | ], |
160 | - ], | |
161 | - ] | |
162 | - ) ?> | |
149 | + ] | |
150 | + ); | |
151 | + echo Menu::widget( | |
152 | + [ | |
153 | + "items" => $menuItems, | |
154 | + ] | |
155 | + ); ?> | |
163 | 156 | </div> |
164 | 157 | |
165 | 158 | </div> |
... | ... | @@ -219,9 +212,9 @@ |
219 | 212 | </li> |
220 | 213 | </ul> |
221 | 214 | </li> |
222 | - <li role="presentation"> | |
223 | - <?= FeedbackWidget::widget(); ?> | |
224 | - </li> | |
215 | + <li role="presentation"> | |
216 | + <?= FeedbackWidget::widget(); ?> | |
217 | + </li> | |
225 | 218 | </ul> |
226 | 219 | </nav> |
227 | 220 | </div> |
... | ... | @@ -252,10 +245,10 @@ |
252 | 245 | |
253 | 246 | <?= Breadcrumbs::widget( |
254 | 247 | [ |
255 | - 'links' => isset($this->params[ 'breadcrumbs' ]) ? $this->params[ 'breadcrumbs' ] : [], | |
248 | + 'links' => isset( $this->params[ 'breadcrumbs' ] ) ? $this->params[ 'breadcrumbs' ] : [], | |
256 | 249 | ] |
257 | 250 | ) ?> |
258 | - | |
251 | + | |
259 | 252 | <?= $content ?> |
260 | 253 | </div> |
261 | 254 | <!-- /page content --> | ... | ... |
common/config/main.php
1 | 1 | <?php |
2 | -return [ | |
3 | - 'vendorPath' => dirname(dirname(__DIR__)) . '/vendor', | |
4 | - 'components' => [ | |
5 | - 'cache' => [ | |
6 | - 'class' => 'yii\caching\FileCache', | |
7 | - ], | |
8 | - 'i18n' => [ | |
9 | - 'translations' => [ | |
10 | - 'core' => [ | |
11 | - 'class' => 'yii\i18n\PhpMessageSource', | |
12 | - 'basePath' => '@artbox-core/messages', | |
2 | + return [ | |
3 | + 'vendorPath' => dirname(dirname(__DIR__)) . '/vendor', | |
4 | + 'components' => [ | |
5 | + 'cache' => [ | |
6 | + 'class' => 'yii\caching\FileCache', | |
7 | + ], | |
8 | + 'i18n' => [ | |
9 | + 'translations' => [ | |
10 | + 'core' => [ | |
11 | + 'class' => 'yii\i18n\PhpMessageSource', | |
12 | + 'basePath' => '@artbox-core/messages', | |
13 | + ], | |
13 | 14 | ], |
14 | 15 | ], |
16 | + 'filedb' => [ | |
17 | + 'class' => 'yii2tech\filedb\Connection', | |
18 | + 'path' => '@common/config', | |
19 | + ], | |
15 | 20 | ], |
16 | - ], | |
17 | -]; | |
21 | + ]; | ... | ... |
common/config/settings.php
... | ... | @@ -5,5 +5,16 @@ return [ |
5 | 5 | 'id' => '1', |
6 | 6 | 'name' => 'Admin321', |
7 | 7 | 'description' => 'Site administrator', |
8 | + 'analytics' => '<!-- Google Analytics --> | |
9 | +<script> | |
10 | +(function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){ | |
11 | +(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), | |
12 | +m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) | |
13 | +})(window,document,\'script\',\'https://www.google-analytics.com/analytics.js\',\'ga\'); | |
14 | + | |
15 | +ga(\'create\', \'UA-XXXXX-Y\', \'auto\'); | |
16 | +ga(\'send\', \'pageview\'); | |
17 | +</script> | |
18 | +<!-- End Google Analytics -->', | |
8 | 19 | ], |
9 | 20 | ]; |
10 | 21 | \ No newline at end of file | ... | ... |
frontend/views/layouts/main.php
1 | 1 | <?php |
2 | - | |
3 | -/* @var $this \yii\web\View */ | |
4 | -/* @var $content string */ | |
5 | - | |
6 | -use yii\helpers\Html; | |
7 | -use yii\bootstrap\Nav; | |
8 | -use yii\bootstrap\NavBar; | |
9 | -use yii\widgets\Breadcrumbs; | |
10 | -use frontend\assets\AppAsset; | |
11 | -use common\widgets\Alert; | |
12 | - | |
13 | -AppAsset::register($this); | |
2 | + | |
3 | + /* @var $this \yii\web\View */ | |
4 | + /* @var $content string */ | |
5 | + | |
6 | + use artweb\artbox\core\models\Settings; | |
7 | + use artweb\artbox\core\models\User; | |
8 | + use yii\helpers\Html; | |
9 | + use yii\bootstrap\Nav; | |
10 | + use yii\bootstrap\NavBar; | |
11 | + use yii\widgets\Breadcrumbs; | |
12 | + use frontend\assets\AppAsset; | |
13 | + use common\widgets\Alert; | |
14 | + | |
15 | + AppAsset::register($this); | |
16 | + /** | |
17 | + * @var User $user | |
18 | + */ | |
19 | + $user = \Yii::$app->user->identity; | |
14 | 20 | ?> |
15 | 21 | <?php $this->beginPage() ?> |
16 | 22 | <!DOCTYPE html> |
17 | 23 | <html lang="<?= Yii::$app->language ?>"> |
18 | -<head> | |
19 | - <meta charset="<?= Yii::$app->charset ?>"> | |
20 | - <meta name="viewport" content="width=device-width, initial-scale=1"> | |
21 | - <?= Html::csrfMetaTags() ?> | |
22 | - <title><?= Html::encode($this->title) ?></title> | |
23 | - <?php $this->head() ?> | |
24 | -</head> | |
25 | -<body> | |
26 | -<?php $this->beginBody() ?> | |
27 | - | |
28 | -<div class="wrap"> | |
29 | - <?php | |
30 | - NavBar::begin([ | |
31 | - 'brandLabel' => 'My Company', | |
32 | - 'brandUrl' => Yii::$app->homeUrl, | |
33 | - 'options' => [ | |
34 | - 'class' => 'navbar-inverse navbar-fixed-top', | |
35 | - ], | |
36 | - ]); | |
37 | - $menuItems = [ | |
38 | - ['label' => 'Home', 'url' => ['/site/index']], | |
39 | - ['label' => 'About', 'url' => ['/site/about']], | |
40 | - ['label' => 'Contact', 'url' => ['/site/contact']], | |
41 | - ]; | |
42 | - if (Yii::$app->user->isGuest) { | |
43 | - $menuItems[] = ['label' => 'Signup', 'url' => ['/site/signup']]; | |
44 | - $menuItems[] = ['label' => 'Login', 'url' => ['/site/login']]; | |
45 | - } else { | |
46 | - $menuItems[] = '<li>' | |
47 | - . Html::beginForm(['/site/logout'], 'post') | |
48 | - . Html::submitButton( | |
49 | - 'Logout (' . Yii::$app->user->identity->username . ')', | |
50 | - ['class' => 'btn btn-link logout'] | |
51 | - ) | |
52 | - . Html::endForm() | |
53 | - . '</li>'; | |
54 | - } | |
55 | - echo Nav::widget([ | |
56 | - 'options' => ['class' => 'navbar-nav navbar-right'], | |
57 | - 'items' => $menuItems, | |
58 | - ]); | |
59 | - NavBar::end(); | |
60 | - ?> | |
61 | - | |
62 | - <div class="container"> | |
63 | - <?= Breadcrumbs::widget([ | |
64 | - 'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [], | |
65 | - ]) ?> | |
66 | - <?= Alert::widget() ?> | |
67 | - <?= $content ?> | |
68 | - </div> | |
69 | -</div> | |
70 | - | |
71 | -<footer class="footer"> | |
72 | - <div class="container"> | |
73 | - <p class="pull-left">© My Company <?= date('Y') ?></p> | |
74 | - | |
75 | - <p class="pull-right"><?= Yii::powered() ?></p> | |
76 | - </div> | |
77 | -</footer> | |
78 | - | |
79 | -<?php $this->endBody() ?> | |
80 | -</body> | |
24 | + <head> | |
25 | + <meta charset="<?= Yii::$app->charset ?>"> | |
26 | + <meta name="viewport" content="width=device-width, initial-scale=1"> | |
27 | + <?= Html::csrfMetaTags() ?> | |
28 | + <title><?= Html::encode($this->title) ?></title> | |
29 | + <?php $this->head() ?> | |
30 | + </head> | |
31 | + <body> | |
32 | + <?php $this->beginBody() ?> | |
33 | + | |
34 | + <div class="wrap"> | |
35 | + <?php | |
36 | + NavBar::begin( | |
37 | + [ | |
38 | + 'brandLabel' => 'My Company', | |
39 | + 'brandUrl' => Yii::$app->homeUrl, | |
40 | + 'options' => [ | |
41 | + 'class' => 'navbar-inverse navbar-fixed-top', | |
42 | + ], | |
43 | + ] | |
44 | + ); | |
45 | + $menuItems = [ | |
46 | + [ | |
47 | + 'label' => 'Home', | |
48 | + 'url' => [ '/site/index' ], | |
49 | + ], | |
50 | + [ | |
51 | + 'label' => 'About', | |
52 | + 'url' => [ '/site/about' ], | |
53 | + ], | |
54 | + [ | |
55 | + 'label' => 'Contact', | |
56 | + 'url' => [ '/site/contact' ], | |
57 | + ], | |
58 | + ]; | |
59 | + if (Yii::$app->user->isGuest) { | |
60 | + $menuItems[] = [ | |
61 | + 'label' => 'Signup', | |
62 | + 'url' => [ '/site/signup' ], | |
63 | + ]; | |
64 | + $menuItems[] = [ | |
65 | + 'label' => 'Login', | |
66 | + 'url' => [ '/site/login' ], | |
67 | + ]; | |
68 | + } else { | |
69 | + $menuItems[] = '<li>' . Html::beginForm([ '/site/logout' ], 'post') . Html::submitButton( | |
70 | + 'Logout (' . $user->username . ')', | |
71 | + [ 'class' => 'btn btn-link logout' ] | |
72 | + ) . Html::endForm() . '</li>'; | |
73 | + } | |
74 | + echo Nav::widget( | |
75 | + [ | |
76 | + 'options' => [ 'class' => 'navbar-nav navbar-right' ], | |
77 | + 'items' => $menuItems, | |
78 | + ] | |
79 | + ); | |
80 | + NavBar::end(); | |
81 | + ?> | |
82 | + | |
83 | + <div class="container"> | |
84 | + <?= Breadcrumbs::widget( | |
85 | + [ | |
86 | + 'links' => isset( $this->params[ 'breadcrumbs' ] ) ? $this->params[ 'breadcrumbs' ] : [], | |
87 | + ] | |
88 | + ) ?> | |
89 | + <?= Alert::widget() ?> | |
90 | + <?= $content ?> | |
91 | + </div> | |
92 | + </div> | |
93 | + | |
94 | + <footer class="footer"> | |
95 | + <div class="container"> | |
96 | + <p class="pull-left">© My Company <?= date('Y') ?></p> | |
97 | + | |
98 | + <p class="pull-right"><?= Yii::powered() ?></p> | |
99 | + </div> | |
100 | + </footer> | |
101 | + | |
102 | + <?php $this->endBody() ?> | |
103 | + <?php | |
104 | + $settings = Settings::getInstance(); | |
105 | + if (!empty( $settings->analytics )) { | |
106 | + echo $settings->analytics; | |
107 | + } | |
108 | + ?> | |
109 | + </body> | |
81 | 110 | </html> |
82 | 111 | <?php $this->endPage() ?> | ... | ... |