Commit 6b69a279f1a68423903d24dce2c42b22bf2767bc

Authored by Alexey Boroda
1 parent f7011928

-GA js ready

Showing 271 changed files with 535 additions and 119 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 271 files are displayed.

.bowerrc 100644 → 100755
.gitignore 100644 → 100755
.htaccess 100644 → 100755
CHANGELOG.md 100644 → 100755
Initializer.php 100644 → 100755
LICENSE.md 100644 → 100755
README.md 100644 → 100755
backend/assets/AnalyticsAsset.php 100644 → 100755
... ... @@ -18,7 +18,7 @@
18 18 'js/analytics.js',
19 19 ];
20 20 public $depends = [
21   - 'speixoto\amcharts\AmChartAsset',
  21 + 'artbox\core\assets\ArtboxAmChartAsset',
22 22 ];
23 23 }
24 24  
25 25 \ No newline at end of file
... ...
backend/controllers/AjaxController.php 0 → 100644
  1 +<?php
  2 +
  3 + namespace backend\controllers;
  4 +
  5 + use backend\models\Analytics;
  6 + use common\models\Settings;
  7 + use yii\filters\VerbFilter;
  8 + use yii\helpers\Json;
  9 + use yii\web\Controller;
  10 + use yii\web\Response;
  11 +
  12 + class AjaxController extends Controller
  13 + {
  14 + public $enableCsrfValidation = false;
  15 +
  16 + public function behaviors()
  17 + {
  18 + return [
  19 + 'verbs' => [
  20 + 'class' => VerbFilter::className(),
  21 + 'actions' => [
  22 + 'analytics' => [ 'post' ],
  23 + ],
  24 + ],
  25 + ];
  26 + }
  27 +
  28 + public function actionAnalytics()
  29 + {
  30 + \Yii::$app->response->format = Response::FORMAT_JSON;
  31 +
  32 + $settings = Settings::getInstance();
  33 +
  34 + $analytics = new Analytics(
  35 + [
  36 + 'viewId' => $settings->analytics_key,
  37 + ]
  38 + );
  39 + $data = $analytics->generateData();
  40 +
  41 + $browsers = $data[ 'table' ][ 0 ];
  42 + arsort($browsers);
  43 +
  44 + $cityes = $data[ 'table' ][ 1 ];
  45 + arsort($cityes);
  46 +
  47 + $countries = $data[ 'table' ][ 2 ];
  48 + arsort($countries);
  49 +
  50 + return [
  51 + 'plot' => $data[ 'plot' ],
  52 + 'pie' => [
  53 + [
  54 + "category" => "New Visitor",
  55 + "column-1" => round(intval($data[ 'new' ]), 2),
  56 + ],
  57 + [
  58 + "category" => "Returning Visitor",
  59 + "column-1" => 100 - round(intval($data[ 'new' ]), 2),
  60 + ],
  61 + ],
  62 + 'browsers' => $this->renderPartial(
  63 + '_table',
  64 + [
  65 + 'data' => $browsers,
  66 + 'name' => 'Browser',
  67 + ]
  68 + ),
  69 + 'cityes' => $this->renderPartial(
  70 + '_table',
  71 + [
  72 + 'data' => $cityes,
  73 + 'name' => 'City',
  74 + ]
  75 + ),
  76 + 'countries' => $this->renderPartial(
  77 + '_table',
  78 + [
  79 + 'data' => $countries,
  80 + 'name' => 'Country',
  81 + ]
  82 + ),
  83 + 'sessions' => '<div class="count counter">' . $data[ 'sessions' ] . '</div>',
  84 + 'users' => '<div class="count">' . $data[ 'users' ] . '</div>',
  85 + 'views' => '<div class="count">' . $data[ 'views' ] . '</div>',
  86 + 'newusers' => '<div class="count">' . round(intval($data[ 'new' ]), 2) . ' %</div>',
  87 + ];
  88 + }
  89 +
  90 + }
0 91 \ No newline at end of file
... ...
backend/controllers/SiteController.php
... ... @@ -8,7 +8,8 @@
8 8 use yii\filters\VerbFilter;
9 9 use yii\filters\AccessControl;
10 10 use common\models\LoginForm;
11   -
  11 + use yii\web\Response;
  12 +
12 13 /**
13 14 * Site controller
14 15 */
... ... @@ -34,7 +35,7 @@
34 35 'actions' => [
35 36 'logout',
36 37 'index',
37   - 'analytic',
  38 + 'analytics',
38 39 ],
39 40 'allow' => true,
40 41 'roles' => [ '@' ],
... ... @@ -44,7 +45,8 @@
44 45 'verbs' => [
45 46 'class' => VerbFilter::className(),
46 47 'actions' => [
47   - 'logout' => [ 'post' ],
  48 + 'logout' => [ 'post' ],
  49 + 'analytics' => [ 'post' ],
48 50 ],
49 51 ],
50 52 ];
... ... @@ -69,37 +71,37 @@
69 71 */
70 72 public function actionIndex()
71 73 {
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   - );
82   - $data = $analytics->generateData();
83   -
84   - $browsers = $data[ 'table' ][ 0 ];
85   - arsort($browsers);
86   -
87   - $cityes = $data[ 'table' ][ 1 ];
88   - arsort($cityes);
89   -
90   - $countries = $data[ 'table' ][ 2 ];
91   - arsort($countries);
92   -
93   - return $this->render(
94   - 'analytics',
95   - [
96   - 'data' => $data,
97   - 'browsers' => $browsers,
98   - 'cityes' => $cityes,
99   - 'countries' => $countries,
100   - ]
101   - );
102   - }
  74 + // $settings = Settings::getInstance();
  75 + //
  76 + // if (empty($settings->analytics_key)) {
  77 + return $this->render('index');
  78 + // } else {
  79 + // $analytics = new Analytics(
  80 + // [
  81 + // 'viewId' => $settings->analytics_key,
  82 + // ]
  83 + // );
  84 + // $data = $analytics->generateData();
  85 + //
  86 + // $browsers = $data[ 'table' ][ 0 ];
  87 + // arsort($browsers);
  88 + //
  89 + // $cityes = $data[ 'table' ][ 1 ];
  90 + // arsort($cityes);
  91 + //
  92 + // $countries = $data[ 'table' ][ 2 ];
  93 + // arsort($countries);
  94 + //
  95 + // return $this->render(
  96 + // 'analytics',
  97 + // [
  98 + // 'data' => $data,
  99 + // 'browsers' => $browsers,
  100 + // 'cityes' => $cityes,
  101 + // 'countries' => $countries,
  102 + // ]
  103 + // );
  104 + // }
103 105 }
104 106  
105 107 /**
... ... @@ -137,9 +139,4 @@
137 139  
138 140 return $this->goHome();
139 141 }
140   -
141   - public function actionAnalytic()
142   - {
143   - return $this->render('analytic');
144   - }
145 142 }
... ...
backend/models/Analytics.php 100644 → 100755
backend/views/site/_table.php renamed to backend/views/ajax/_table.php 100644 → 100755
backend/views/settings/_codes_tab.php 100644 → 100755
backend/views/settings/_contact_tab.php 100644 → 100755
backend/views/settings/_main_tab.php 100644 → 100755
backend/views/settings/_social_tab.php 100644 → 100755
backend/views/site/analytics.php 100644 → 100755
backend/views/site/index.php
... ... @@ -4,22 +4,125 @@
4 4 * @var View $this
5 5 */
6 6  
7   - use artbox\gentelella\widgets\XPanel;
8 7 use backend\assets\AnalyticsAsset;
  8 + use yii\bootstrap\Tabs;
9 9 use yii\web\View;
  10 + use yiister\gentelella\widgets\Panel;
10 11  
11 12 $this->title = 'Artbox !';
12 13  
13 14 AnalyticsAsset::register($this);
14 15 ?>
15 16  
16   -<?php $panel = XPanel::begin(
17   - [
18   - 'title' => 'Hello!',
19   - 'toolbar' => false,
20   - ]
21   -); ?>
  17 +<div class="row">
  18 + <div class="animated flipInY col-lg-3 col-md-3 col-sm-6 col-xs-12">
  19 + <div class="tile-stats">
  20 + <div class="icon"><i class="fa fa-clock-o"></i>
  21 + </div>
  22 +
  23 + <div class="count" id="sessions">0</div>
  24 +
  25 + <h3>Sessions</h3>
  26 + <p>Lorem ipsum psdea itgum rixt.</p>
  27 + </div>
  28 + </div>
  29 + <div class="animated flipInY col-lg-3 col-md-3 col-sm-6 col-xs-12">
  30 + <div class="tile-stats">
  31 + <div class="icon"><i class="fa fa-user"></i>
  32 + </div>
  33 +
  34 + <div class="count" id="users">0</div>
  35 +
  36 + <h3>Users</h3>
  37 + <p>Lorem ipsum psdea itgum rixt.</p>
  38 + </div>
  39 + </div>
  40 + <div class="animated flipInY col-lg-3 col-md-3 col-sm-6 col-xs-12">
  41 + <div class="tile-stats">
  42 + <div class="icon"><i class="fa fa-eye"></i>
  43 + </div>
  44 +
  45 + <div class="count" id="views">0</div>
  46 +
  47 + <h3>Page views</h3>
  48 + <p>Lorem ipsum psdea itgum rixt.</p>
  49 + </div>
  50 + </div>
  51 + <div class="animated flipInY col-lg-3 col-md-3 col-sm-6 col-xs-12">
  52 + <div class="tile-stats">
  53 + <div class="icon"><i class="fa fa-plus"></i>
  54 + </div>
  55 +
  56 + <div class="count" id="newusers">0</div>
  57 +
  58 + <h3>New sessions</h3>
  59 + <p>Lorem ipsum psdea itgum rixt.</p>
  60 + </div>
  61 + </div>
  62 +</div>
22 63  
23   -<div id="chart"></div>
  64 +<div class="row">
  65 + <div class="col-md-12">
  66 + <?php $panel = Panel::begin(
  67 + [
  68 + 'header' => 'Analytic',
  69 + ]
  70 + ) ?>
  71 +
  72 + <div id="chartdiv" style="width: 100%;height: 500px"></div>
  73 +
  74 + <?php $panel::end(); ?>
  75 + </div>
  76 +</div>
24 77  
25   -<?php $panel::end(); ?>
  78 +<div class="row">
  79 + <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
  80 + <?php $panel = Panel::begin(
  81 + [
  82 + 'header' => 'Pie chart',
  83 + ]
  84 + ) ?>
  85 +
  86 + <div id="piediv" style="width: 100%;height: 400px"></div>
  87 +
  88 + <?php $panel::end(); ?>
  89 + </div>
  90 +
  91 + <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
  92 +
  93 + <?php $panel = Panel::begin(
  94 + [
  95 + 'header' => 'Some stats',
  96 + ]
  97 + ); ?>
  98 +
  99 + <?php
  100 + echo Tabs::widget(
  101 + [
  102 + 'options' => [
  103 + 'class' => 'bar_tabs',
  104 + ],
  105 + 'items' => [
  106 + [
  107 + 'label' => 'Browsers',
  108 + 'content' => '<div id="browsers"></div>',
  109 + 'active' => true,
  110 + ],
  111 + [
  112 + 'label' => 'Cities',
  113 + 'content' => '<div id="cities"></div>',
  114 + ],
  115 + [
  116 + 'label' => 'Countries',
  117 + 'content' => '<div id="countries"></div>',
  118 + ],
  119 + ],
  120 + ]
  121 + );
  122 +
  123 + ?>
  124 +
  125 + <?php $panel::end(); ?>
  126 +
  127 + </div>
  128 +</div>
... ...
backend/views/sitemap/index.php 100644 → 100755
backend/views/sitemap/update.php 100644 → 100755
backend/web/js/analytics.js 100644 → 100755
1   -var chart = AmCharts.makeChart(
2   - "chart", {
3   - "type": "pie",
4   - "dataProvider": [
  1 +$(
  2 + function() {
  3 + $.ajax(
5 4 {
6   - "country": "Lithuania",
7   - "litres": 501.9
8   - },
9   - {
10   - "country": "Czech Republic",
11   - "litres": 301.9
12   - },
13   - {
14   - "country": "Ireland",
15   - "litres": 201.1
16   - },
17   - {
18   - "country": "Germany",
19   - "litres": 165.8
20   - },
21   - {
22   - "country": "Australia",
23   - "litres": 139.9
24   - },
25   - {
26   - "country": "Austria",
27   - "litres": 128.3
28   - },
29   - {
30   - "country": "UK",
31   - "litres": 99
32   - },
33   - {
34   - "country": "Belgium",
35   - "litres": 60
36   - },
37   - {
38   - "country": "The Netherlands",
39   - "litres": 50
  5 + url: "/admin/ajax/analytics",
  6 + type: "POST",
  7 + success: function(data) {
  8 + // Replacing top data
  9 + $('#sessions')
  10 + .replaceWith(data.sessions);
  11 + $('#users')
  12 + .replaceWith(data.users);
  13 + $('#views')
  14 + .replaceWith(data.views);
  15 + $('#newusers')
  16 + .replaceWith(data.newusers);
  17 + // Building main chart
  18 + var chart = AmCharts.makeChart(
  19 + "chartdiv", {
  20 + "type": "serial",
  21 + 'dataProvider': data.plot,
  22 + 'categoryField': 'day',
  23 + 'categoryAxis': {
  24 + 'labelFrequency': 5
  25 + },
  26 + 'graphs': [
  27 + {
  28 + 'balloon': {
  29 + "drop": true,
  30 + "adjustBorderColor": false,
  31 + "color": "#ffffff"
  32 + },
  33 + "bullet": "round",
  34 + "bulletBorderAlpha": 1,
  35 + "bulletColor": "#FFFFFF",
  36 + "bulletSize": 5,
  37 + "hideBulletsCount": 50,
  38 + "lineThickness": 2,
  39 + "title": "red line",
  40 + "useLineColorForBulletBorder": true,
  41 + "valueField": "users",
  42 + "balloonText": "<span style='font-size:18px;'>Users: [[users]]</span>",
  43 + "lineColor": '#9ABCC3'
  44 + },
  45 + {
  46 + 'balloon': {
  47 + "drop": true,
  48 + "adjustBorderColor": false,
  49 + "color": "#ffffff"
  50 + },
  51 + "bullet": "round",
  52 + "bulletBorderAlpha": 1,
  53 + "bulletColor": "#FFFFFF",
  54 + "bulletSize": 5,
  55 + "hideBulletsCount": 50,
  56 + "lineThickness": 2,
  57 + "title": "red line",
  58 + "useLineColorForBulletBorder": true,
  59 + "valueField": "sessions",
  60 + "balloonText": "<span style='font-size:18px;'>Sessions: [[sessions]]</span>",
  61 + "lineColor": '#A8E3D6'
  62 + }
  63 + ],
  64 + 'chartCursor': {
  65 + "pan": true,
  66 + "valueLineEnabled": true,
  67 + "valueLineBalloonEnabled": true,
  68 + "cursorAlpha": 1,
  69 + "cursorColor": "#1ABB9C",
  70 + "limitToGraph": "g1",
  71 + "valueLineAlpha": 0.2,
  72 + "valueZoomable": true
  73 + }
  74 + }
  75 + );
  76 +
  77 + // Building pie chart
  78 + var pie = AmCharts.makeChart(
  79 + "piediv", {
  80 + "type": "pie",
  81 + 'dataProvider': data.pie,
  82 + "titleField": "category",
  83 + "valueField": "column-1",
  84 + 'colors': [
  85 + "#A8E3D6",
  86 + "#9ABCC3"
  87 + ]
  88 + }
  89 + );
  90 + // Replacing table stabs
  91 + $('#browsers')
  92 + .replaceWith(data.browsers);
  93 + $('#cities')
  94 + .replaceWith(data.cityes);
  95 + $('#countries')
  96 + .replaceWith(data.countries);
  97 + }
40 98 }
41   - ],
42   - "valueField": "litres",
43   - "titleField": "country",
44   - "balloon": {
45   - "fixedPosition": true
46   - },
47   - "export": {
48   - "enabled": true
49   - }
  99 + )
50 100 }
51   -);
52 101 \ No newline at end of file
  102 +);
  103 +
... ...
backend/web/js/custom.js
... ... @@ -5045,7 +5045,7 @@ if (typeof NProgress != &#39;undefined&#39;) {
5045 5045 init_daterangepicker_reservation();
5046 5046 init_SmartWizard();
5047 5047 init_EasyPieChart();
5048   - init_charts();
  5048 + // init_charts();
5049 5049 init_echarts();
5050 5050 init_morris_charts();
5051 5051 init_skycons();
... ...
backend/web/js/jquery.animateNumber.js 0 → 100644
  1 +/** @preserve jQuery animateNumber plugin v0.0.14
  2 + * (c) 2013, Alexandr Borisov.
  3 + * https://github.com/aishek/jquery-animateNumber
  4 + */
  5 +
  6 +// ['...'] notation using to avoid names minification by Google Closure Compiler
  7 +(function($) {
  8 + var reverse = function(value) {
  9 + return value.split('')
  10 + .reverse()
  11 + .join('');
  12 + };
  13 +
  14 + var defaults = {
  15 + numberStep: function(now, tween) {
  16 + var floored_number = Math.floor(now), target = $(tween.elem);
  17 +
  18 + target.text(floored_number);
  19 + }
  20 + };
  21 +
  22 + var handle = function(tween) {
  23 + var elem = tween.elem;
  24 + if (elem.nodeType && elem.parentNode) {
  25 + var handler = elem._animateNumberSetter;
  26 + if (!handler) {
  27 + handler = defaults.numberStep;
  28 + }
  29 + handler(tween.now, tween);
  30 + }
  31 + };
  32 +
  33 + if (!$.Tween || !$.Tween.propHooks) {
  34 + $.fx.step.number = handle;
  35 + } else {
  36 + $.Tween.propHooks.number = {
  37 + set: handle
  38 + };
  39 + }
  40 +
  41 + var extract_number_parts = function(separated_number, group_length) {
  42 + var numbers = separated_number.split('')
  43 + .reverse(), number_parts = [], current_number_part, current_index, q;
  44 +
  45 + for (var i = 0, l = Math.ceil(separated_number.length / group_length); i < l; i++) {
  46 + current_number_part = '';
  47 + for (q = 0; q < group_length; q++) {
  48 + current_index = i * group_length + q;
  49 + if (current_index === separated_number.length) {
  50 + break;
  51 + }
  52 +
  53 + current_number_part = current_number_part + numbers[ current_index ];
  54 + }
  55 + number_parts.push(current_number_part);
  56 + }
  57 +
  58 + return number_parts;
  59 + };
  60 +
  61 + var remove_precending_zeros = function(number_parts) {
  62 + var last_index = number_parts.length - 1, last = reverse(number_parts[ last_index ]);
  63 +
  64 + number_parts[ last_index ] = reverse(
  65 + parseInt(last, 10)
  66 + .toString()
  67 + );
  68 + return number_parts;
  69 + };
  70 +
  71 + $.animateNumber = {
  72 + numberStepFactories: {
  73 + /**
  74 + * Creates numberStep handler, which appends string to floored animated number on each step.
  75 + *
  76 + * @example
  77 + * // will animate to 100 with "1 %", "2 %", "3 %", ...
  78 + * $('#someid').animateNumber({
  79 + * number: 100,
  80 + * numberStep: $.animateNumber.numberStepFactories.append(' %')
  81 + * });
  82 + *
  83 + * @params {String} suffix string to append to animated number
  84 + * @returns {Function} numberStep-compatible function for use in animateNumber's parameters
  85 + */
  86 + append: function(suffix) {
  87 + return function(now, tween) {
  88 + var floored_number = Math.floor(now), target = $(tween.elem);
  89 +
  90 + target.prop('number', now)
  91 + .text(floored_number + suffix);
  92 + };
  93 + },
  94 +
  95 + /**
  96 + * Creates numberStep handler, which format floored numbers by separating them to groups.
  97 + *
  98 + * @example
  99 + * // will animate with 1 ... 217,980 ... 95,217,980 ... 7,095,217,980
  100 + * $('#world-population').animateNumber({
  101 + * number: 7095217980,
  102 + * numberStep: $.animateNumber.numberStepFactories.separator(',')
  103 + * });
  104 + * @example
  105 + * // will animate with 1% ... 217,980% ... 95,217,980% ... 7,095,217,980%
  106 + * $('#salesIncrease').animateNumber({
  107 + * number: 7095217980,
  108 + * numberStep: $.animateNumber.numberStepFactories.separator(',', 3, '%')
  109 + * });
  110 + *
  111 + * @params {String} [separator=' '] string to separate number groups
  112 + * @params {String} [group_length=3] number group length
  113 + * @params {String} [suffix=''] suffix to append to number
  114 + * @returns {Function} numberStep-compatible function for use in animateNumber's parameters
  115 + */
  116 + separator: function(separator, group_length, suffix) {
  117 + separator = separator || ' ';
  118 + group_length = group_length || 3;
  119 + suffix = suffix || '';
  120 +
  121 + return function(now, tween) {
  122 + var negative = now < 0, floored_number = Math.floor((negative ? -1 : 1) * now), separated_number = floored_number.toString(), target = $(tween.elem);
  123 +
  124 + if (separated_number.length > group_length) {
  125 + var number_parts = extract_number_parts(separated_number, group_length);
  126 +
  127 + separated_number = remove_precending_zeros(number_parts)
  128 + .join(separator);
  129 + separated_number = reverse(separated_number);
  130 + }
  131 +
  132 + target.prop('number', now)
  133 + .text((negative ? '-' : '') + separated_number + suffix);
  134 + };
  135 + }
  136 + }
  137 + };
  138 +
  139 + $.fn.animateNumber = function() {
  140 + var options = arguments[ 0 ], settings = $.extend({}, defaults, options),
  141 +
  142 + target = $(this), args = [ settings ];
  143 +
  144 + for (var i = 1, l = arguments.length; i < l; i++) {
  145 + args.push(arguments[ i ]);
  146 + }
  147 +
  148 + // needs of custom step function usage
  149 + if (options.numberStep) {
  150 + // assigns custom step functions
  151 + var items = this.each(
  152 + function() {
  153 + this._animateNumberSetter = options.numberStep;
  154 + }
  155 + );
  156 +
  157 + // cleanup of custom step functions after animation
  158 + var generic_complete = settings.complete;
  159 + settings.complete = function() {
  160 + items.each(
  161 + function() {
  162 + delete this._animateNumberSetter;
  163 + }
  164 + );
  165 +
  166 + if (generic_complete) {
  167 + generic_complete.apply(this, arguments);
  168 + }
  169 + };
  170 + }
  171 +
  172 + return target.animate.apply(target, args);
  173 + };
  174 +
  175 +}(jQuery));
... ...
codeception.yml 100644 → 100755
common/codeception.yml 100644 → 100755
common/components/Sitemap.php 100644 → 100755
common/config/.gitignore 100644 → 100755
common/config/Artbox-85b8559147bc.json 100644 → 100755
common/config/SitemapDynamic.php 100644 → 100755
common/config/SitemapStatic.php 100644 → 100755
common/config/bootstrap.php 100644 → 100755
common/config/main.php 100644 → 100755
common/config/params.php 100644 → 100755
common/config/settings.php
... ... @@ -5,29 +5,29 @@ return [
5 5 'phone' => '+38 (044) 593-73-76',
6 6 'phone2' => '+38 (098) 468-07-64',
7 7 'skype' => 'artwebstudio',
8   - 'email' => 'artweb.ua@gmail.com',
9   - 'house' => '1-М',
10   - 'street' => 'пр. М. Бажана',
11   - 'office' => '25',
12   - 'city' => 'Киев',
13   - 'country' => 'Украина',
14   - 'lat' => '50.403696',
15   - 'lon' => '30.641481',
16   - 'facebook' => 'https://www.facebook.com/ArtWeb.ua/',
17   - 'vk' => 'https://vk.com/artwebua',
18   - 'ok' => 'https://ok.ru/artwebua',
19   - 'google' => 'https://plus.google.com/+ArtwebUaAgency',
20   - 'twitter' => 'https://twitter.com/ArtWeb_ua',
21   - 'name' => 'Artweb',
22   - 'logo' => '2',
23   - 'about' => 'Строим бизнес в онлайне',
  8 + 'email' => 'artweb.ua@gmail.com',
  9 + 'house' => '1-М',
  10 + 'street' => 'пр. М. Бажана',
  11 + 'office' => '25',
  12 + 'city' => 'Киев',
  13 + 'country' => 'Украина',
  14 + 'lat' => '50.403696',
  15 + 'lon' => '30.641481',
  16 + 'facebook' => 'https://www.facebook.com/ArtWeb.ua/',
  17 + 'vk' => 'https://vk.com/artwebua',
  18 + 'ok' => 'https://ok.ru/artwebua',
  19 + 'google' => 'https://plus.google.com/+ArtwebUaAgency',
  20 + 'twitter' => 'https://twitter.com/ArtWeb_ua',
  21 + 'name' => 'Artweb',
  22 + 'logo' => '11',
  23 + 'about' => 'Строим бизнес в онлайне',
24 24 'analytics_key' => '119240817',
25   - 'robots' => 'User-agent: Google
  25 + 'robots' => 'User-agent: Google
26 26 Disallow:
27 27 ',
28   - 'ga_code' => '796967',
29   - 'ya_code' => '08908908',
30   - 'tag_manager' => '',
31   - 'id' => 1,
  28 + 'ga_code' => '796967',
  29 + 'ya_code' => '08908908',
  30 + 'tag_manager' => '',
  31 + 'id' => 1,
32 32 ],
33 33 ];
34 34 \ No newline at end of file
... ...
common/config/test.php 100644 → 100755
common/fixtures/User.php 100644 → 100755
common/mail/layouts/html.php 100644 → 100755
common/mail/layouts/text.php 100644 → 100755
common/mail/passwordResetToken-html.php 100644 → 100755
common/mail/passwordResetToken-text.php 100644 → 100755
common/models/LoginForm.php 100644 → 100755
common/models/SitemapDynamic.php 100644 → 100755
common/models/SitemapStatic.php 100644 → 100755
common/tests/_bootstrap.php 100644 → 100755
common/tests/_data/user.php 100644 → 100755
common/tests/_output/.gitignore 100644 → 100755
common/tests/_support/.gitignore 100644 → 100755
common/tests/_support/UnitTester.php 100644 → 100755
common/tests/unit.suite.yml 100644 → 100755
common/tests/unit/models/LoginFormTest.php 100644 → 100755
common/widgets/Alert.php 100644 → 100755
composer.json 100644 → 100755
composer.lock 100644 → 100755
console/config/.gitignore 100644 → 100755
console/config/bootstrap.php 100644 → 100755
console/config/main.php 100644 → 100755
console/config/params.php 100644 → 100755
console/controllers/.gitkeep 100644 → 100755
console/controllers/CheckController.php 100644 → 100755
console/controllers/CreateController.php 100644 → 100755
console/models/.gitkeep 100644 → 100755
console/runtime/.gitignore 100644 → 100755
environments/dbmysql.php 100644 → 100755
environments/dbpostgresql.php 100644 → 100755
environments/dev/backend/config/main-local.php 100644 → 100755
environments/dev/backend/config/params-local.php 100644 → 100755
environments/dev/backend/config/test-local.php 100644 → 100755
environments/dev/backend/web/index-test.php 100644 → 100755
environments/dev/backend/web/index.php 100644 → 100755
environments/dev/common/config/main-local.php 100644 → 100755
environments/dev/common/config/params-local.php 100644 → 100755
environments/dev/common/config/test-local.php 100644 → 100755
environments/dev/console/config/main-local.php 100644 → 100755
environments/dev/console/config/params-local.php 100644 → 100755
environments/dev/frontend/config/main-local.php 100644 → 100755
environments/dev/frontend/config/params-local.php 100644 → 100755
environments/dev/frontend/config/test-local.php 100644 → 100755
environments/dev/frontend/web/index-test.php 100644 → 100755
environments/dev/frontend/web/index.php 100644 → 100755
environments/dev/yii 100644 → 100755
environments/dev/yii_test 100644 → 100755
environments/dev/yii_test.bat 100644 → 100755
environments/index.php 100644 → 100755
environments/prod/backend/config/main-local.php 100644 → 100755
environments/prod/backend/config/params-local.php 100644 → 100755
environments/prod/backend/web/index.php 100644 → 100755
environments/prod/common/config/main-local.php 100644 → 100755
environments/prod/common/config/params-local.php 100644 → 100755
environments/prod/console/config/main-local.php 100644 → 100755
environments/prod/console/config/params-local.php 100644 → 100755
environments/prod/frontend/config/main-local.php 100644 → 100755
environments/prod/frontend/config/params-local.php 100644 → 100755
environments/prod/frontend/web/index.php 100644 → 100755
environments/prod/yii 100644 → 100755
frontend/assets/AppAsset.php 100644 → 100755
frontend/assets/MapAsset.php 100644 → 100755
frontend/codeception.yml 100644 → 100755
frontend/config/.gitignore 100644 → 100755
frontend/config/bootstrap.php 100644 → 100755
frontend/config/main.php 100644 → 100755