Commit c8500c2f244373c70c43efe45d113ad9d40d49d2

Authored by Alexey Boroda
1 parent 685f7422

-Analytics in process

backend/config/main.php
@@ -15,7 +15,6 @@ @@ -15,7 +15,6 @@
15 'controllerNamespace' => 'backend\controllers', 15 'controllerNamespace' => 'backend\controllers',
16 'bootstrap' => [ 'log' ], 16 'bootstrap' => [ 'log' ],
17 'controllerMap' => [ 17 'controllerMap' => [
18 - 'settings' => 'artbox\core\controllers\SettingsController',  
19 'profile' => 'artbox\core\controllers\ProfileController', 18 'profile' => 'artbox\core\controllers\ProfileController',
20 'page' => 'artbox\core\controllers\PageController', 19 'page' => 'artbox\core\controllers\PageController',
21 'seo' => 'artbox\core\controllers\AliasController', 20 'seo' => 'artbox\core\controllers\AliasController',
backend/controllers/SettingsController.php 0 → 100755
  1 +<?php
  2 + namespace backend\controllers;
  3 +
  4 + use common\models\Settings;
  5 + use yii\base\InvalidConfigException;
  6 + use yii\filters\AccessControl;
  7 + use yii\web\Controller;
  8 + use Yii;
  9 +
  10 + /**
  11 + * Class SettingsController
  12 + *
  13 + * @package artbox\core\controllers
  14 + */
  15 + class SettingsController extends Controller
  16 + {
  17 + /**
  18 + * @inheritdoc
  19 + */
  20 + public function behaviors()
  21 + {
  22 + return [
  23 + 'access' => [
  24 + 'class' => AccessControl::className(),
  25 + 'rules' => [
  26 + [
  27 + 'actions' => [
  28 + 'login',
  29 + 'error',
  30 + ],
  31 + 'allow' => true,
  32 + ],
  33 + [
  34 + 'actions' => [
  35 + 'logout',
  36 + 'index',
  37 + ],
  38 + 'allow' => true,
  39 + 'roles' => [ '@' ],
  40 + ],
  41 + ],
  42 + ],
  43 + ];
  44 + }
  45 +
  46 + /**
  47 + * Display site settings page
  48 + *
  49 + * @return string|\yii\web\Response
  50 + */
  51 + public function actionIndex()
  52 + {
  53 + $model = $this->findSettings();
  54 +
  55 + if ($model->load(Yii::$app->request->post()) && $model->save()) {
  56 + Yii::$app->session->setFlash('success', 'Settings saved');
  57 +
  58 + return $this->goHome();
  59 + }
  60 +
  61 + return $this->render(
  62 + 'settings',
  63 + [
  64 + 'model' => $model,
  65 + ]
  66 + );
  67 + }
  68 +
  69 + /**
  70 + * Find site settings
  71 + *
  72 + * @return \yii2tech\filedb\ActiveRecord
  73 + * @throws \yii\base\InvalidConfigException
  74 + */
  75 + public function findSettings()
  76 + {
  77 + if ($model = Settings::find()
  78 + ->one()
  79 + ) {
  80 + return $model;
  81 + } else {
  82 + throw new InvalidConfigException('Settings file not found');
  83 + }
  84 + }
  85 + }
  86 +
0 \ No newline at end of file 87 \ No newline at end of file
backend/controllers/SiteController.php
@@ -70,19 +70,23 @@ @@ -70,19 +70,23 @@
70 public function actionIndex() 70 public function actionIndex()
71 { 71 {
72 $settings = Settings::getInstance(); 72 $settings = Settings::getInstance();
  73 +
  74 + if (empty($settings->analytics_key)) {
  75 + return $this->render('index');
  76 + } else {
  77 + $analytics = new Analytics(
  78 + [
  79 + 'viewId' => $settings->analytics_key,
  80 + ]
  81 + );
73 82
74 - $analytics = new Analytics(  
75 - [  
76 - 'viewId' => $settings->analytics_key,  
77 - ]  
78 - );  
79 -  
80 - return $this->render(  
81 - 'analytics',  
82 - [  
83 - 'data' => $analytics->generateData(),  
84 - ]  
85 - ); 83 + return $this->render(
  84 + 'analytics',
  85 + [
  86 + 'data' => $analytics->generateData(),
  87 + ]
  88 + );
  89 + }
86 } 90 }
87 91
88 /** 92 /**
backend/views/settings/settings.php
@@ -35,13 +35,9 @@ @@ -35,13 +35,9 @@
35 35
36 echo $form->field($model, 'description') 36 echo $form->field($model, 'description')
37 ->textInput(); 37 ->textInput();
38 -  
39 - echo $form->field($model, 'analytics')  
40 - ->textarea(  
41 - [  
42 - 'rows' => 11,  
43 - ]  
44 - ); 38 +
  39 + echo $form->field($model, 'analytics_key')
  40 + ->textInput();
45 41
46 echo Html::submitButton( 42 echo Html::submitButton(
47 'Save', 43 'Save',
backend/views/site/analytics.php
@@ -58,7 +58,7 @@ @@ -58,7 +58,7 @@
58 <?php $panel = XPanel::begin( 58 <?php $panel = XPanel::begin(
59 [ 59 [
60 'title' => 'Analytics', 60 'title' => 'Analytics',
61 - 'toolbarLayout' => '{collapse}', 61 + 'toolbarLayout' => false,
62 ] 62 ]
63 ); ?> 63 ); ?>
64 64
@@ -124,7 +124,7 @@ @@ -124,7 +124,7 @@
124 <?php $panel = XPanel::begin( 124 <?php $panel = XPanel::begin(
125 [ 125 [
126 'title' => 'Analytics', 126 'title' => 'Analytics',
127 - 'toolbarLayout' => '{collapse}', 127 + 'toolbarLayout' => false,
128 ] 128 ]
129 ); ?> 129 ); ?>
130 130
backend/views/site/index.php
1 <?php 1 <?php
2 2
3 - /* @var $this yii\web\View */ 3 + /**
  4 + * @var View $this
  5 + */
4 6
5 - use backend\models\Analytics; 7 + use artbox\gentelella\widgets\XPanel;
  8 + use yii\web\View;
6 9
7 - $this->title = 'My Yii Application';  
8 -  
9 -  
10 \ No newline at end of file 10 \ No newline at end of file
  11 + $this->title = 'Artbox !';
  12 +
  13 +?>
  14 +
  15 +<?php $panel = XPanel::begin(
  16 + [
  17 + 'title' => 'Hello!',
  18 + 'toolbar' => false,
  19 + ]
  20 +); ?>
  21 +
  22 +<div class="jumbotron">
  23 + <h1>Hello</h1>
  24 + <p>
  25 + Configuration info
  26 +
  27 + <ul>
  28 + <li>Step one</li>
  29 + <li>Step 2</li>
  30 + <li>Finish !</li>
  31 + </ul>
  32 + </p>
  33 +</div>
  34 +
  35 +<?php $panel::end(); ?>
common/config/settings.php 100644 → 100755
@@ -2,9 +2,9 @@ @@ -2,9 +2,9 @@
2 2
3 return [ 3 return [
4 1 => [ 4 1 => [
5 - 'id' => '1',  
6 - 'name' => 'Admin321',  
7 - 'description' => 'Site administrator', 5 + 'id' => '1',
  6 + 'name' => 'Admin321',
  7 + 'description' => 'Site administrator',
8 'analytics' => '<!-- Google Analytics --> 8 'analytics' => '<!-- Google Analytics -->
9 <script> 9 <script>
10 (function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){ 10 (function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){
@@ -16,6 +16,6 @@ return [ @@ -16,6 +16,6 @@ return [
16 ga(\'send\', \'pageview\'); 16 ga(\'send\', \'pageview\');
17 </script> 17 </script>
18 <!-- End Google Analytics -->', 18 <!-- End Google Analytics -->',
19 - 'analytics_key' => '', 19 + 'analytics_key' => '119240817',
20 ], 20 ],
21 ]; 21 ];
22 \ No newline at end of file 22 \ No newline at end of file