Blame view

common/models/Settings.php 2.79 KB
2f3cd090   Yarik   Setting migrate
1
2
3
4
5
6
7
8
  <?php
      namespace common\models;
      
      use yii2tech\filedb\ActiveRecord;
      use Yii;
      
      /**
       * Class Settings
2f3cd090   Yarik   Setting migrate
9
       *
3e16e218   Yarik   Admin fixes
10
       * @package artbox\core\models
2f3cd090   Yarik   Setting migrate
11
12
13
       * @property string $name
       * @property string $id
       * @property string $description
3cae1b75   Alexey Boroda   -Analytics almost...
14
       * @property string $analytics_key
3e16e218   Yarik   Admin fixes
15
       * @property string $robots
15b8e84d   Yarik   Different Seo tasks
16
17
18
       * @property string $ga_code
       * @property string $ya_code
       * @property string $tag_manager
2f3cd090   Yarik   Setting migrate
19
20
21
       */
      class Settings extends ActiveRecord
      {
3e16e218   Yarik   Admin fixes
22
          const SCENARIO_ROBOTS = 'robots';
15b8e84d   Yarik   Different Seo tasks
23
          const SCENARIO_CODES = 'codes';
3e16e218   Yarik   Admin fixes
24
          
3cae1b75   Alexey Boroda   -Analytics almost...
25
26
          private static $instance;
          
2f3cd090   Yarik   Setting migrate
27
28
29
          /**
           * @inheritdoc
           */
3e16e218   Yarik   Admin fixes
30
31
32
33
34
35
          public function scenarios()
          {
              return array_merge(
                  parent::scenarios(),
                  [
                      self::SCENARIO_ROBOTS => [ 'robots' ],
15b8e84d   Yarik   Different Seo tasks
36
37
38
39
40
                      self::SCENARIO_CODES  => [
                          'ga_code',
                          'ya_code',
                          'tag_manager',
                      ],
3e16e218   Yarik   Admin fixes
41
42
43
44
45
46
47
                  ]
              );
          }
      
          /**
           * @inheritdoc
           */
2f3cd090   Yarik   Setting migrate
48
49
50
51
52
53
54
55
          public function rules()
          {
              return [
                  [
                      [
                          'name',
                          'description',
                          'id',
3cae1b75   Alexey Boroda   -Analytics almost...
56
                          'analytics_key',
3e16e218   Yarik   Admin fixes
57
                          'robots',
15b8e84d   Yarik   Different Seo tasks
58
59
60
                          'ga_code',
                          'ya_code',
                          'tag_manager',
2f3cd090   Yarik   Setting migrate
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
                      ],
                      'string',
                  ],
              ];
          }
          
          /**
           * @inheritdoc
           */
          public static function fileName()
          {
              return 'settings';
          }
          
          /**
           * @inheritdoc
           */
          public function attributeLabels()
          {
              return [
3e16e218   Yarik   Admin fixes
81
82
83
                  'id'            => Yii::t('core', 'ID'),
                  'name'          => Yii::t('core', 'Name'),
                  'description'   => Yii::t('core', 'Description'),
3cae1b75   Alexey Boroda   -Analytics almost...
84
                  'analytics_key' => Yii::t('core', 'Google Analytics Key'),
3e16e218   Yarik   Admin fixes
85
                  'robots'        => Yii::t('core', 'Robots'),
15b8e84d   Yarik   Different Seo tasks
86
87
88
                  'ga_code'       => Yii::t('core', 'Google analytics code'),
                  'ya_code'       => Yii::t('core', 'Yandex metrics code'),
                  'tag_manager'   => Yii::t('core', 'Tag Manager code'),
2f3cd090   Yarik   Setting migrate
89
90
91
92
93
94
95
96
97
98
              ];
          }
          
          /**
           * Get Settings model instance
           *
           * @return Settings
           */
          public static function getInstance()
          {
3e16e218   Yarik   Admin fixes
99
              if (empty( self::$instance )) {
3cae1b75   Alexey Boroda   -Analytics almost...
100
101
102
103
104
                  self::$instance = self::findOne([ 'id' => 1 ]);
                  return self::$instance;
              }
      
              return self::$instance;
2f3cd090   Yarik   Setting migrate
105
106
107
          }
      }