Blame view

common/models/Settings.php 2.29 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
14
       * @property string $name
       * @property string $id
       * @property string $description
       * @property string $analytics
3cae1b75   Alexey Boroda   -Analytics almost...
15
       * @property string $analytics_key
3e16e218   Yarik   Admin fixes
16
       * @property string $robots
2f3cd090   Yarik   Setting migrate
17
18
19
       */
      class Settings extends ActiveRecord
      {
3e16e218   Yarik   Admin fixes
20
21
          const SCENARIO_ROBOTS = 'robots';
          
3cae1b75   Alexey Boroda   -Analytics almost...
22
23
          private static $instance;
          
2f3cd090   Yarik   Setting migrate
24
25
26
          /**
           * @inheritdoc
           */
3e16e218   Yarik   Admin fixes
27
28
29
30
31
32
33
34
35
36
37
38
39
          public function scenarios()
          {
              return array_merge(
                  parent::scenarios(),
                  [
                      self::SCENARIO_ROBOTS => [ 'robots' ],
                  ]
              );
          }
      
          /**
           * @inheritdoc
           */
2f3cd090   Yarik   Setting migrate
40
41
42
43
44
45
46
47
48
          public function rules()
          {
              return [
                  [
                      [
                          'name',
                          'description',
                          'id',
                          'analytics',
3cae1b75   Alexey Boroda   -Analytics almost...
49
                          'analytics_key',
3e16e218   Yarik   Admin fixes
50
                          'robots',
2f3cd090   Yarik   Setting migrate
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
                      ],
                      'string',
                  ],
              ];
          }
          
          /**
           * @inheritdoc
           */
          public static function fileName()
          {
              return 'settings';
          }
          
          /**
           * @inheritdoc
           */
          public function attributeLabels()
          {
              return [
3e16e218   Yarik   Admin fixes
71
72
73
74
                  'id'            => Yii::t('core', 'ID'),
                  'name'          => Yii::t('core', 'Name'),
                  'description'   => Yii::t('core', 'Description'),
                  'analytics'     => Yii::t('core', 'Google Analytics Code'),
3cae1b75   Alexey Boroda   -Analytics almost...
75
                  'analytics_key' => Yii::t('core', 'Google Analytics Key'),
3e16e218   Yarik   Admin fixes
76
                  'robots'        => Yii::t('core', 'Robots'),
2f3cd090   Yarik   Setting migrate
77
78
79
80
81
82
83
84
85
86
              ];
          }
          
          /**
           * Get Settings model instance
           *
           * @return Settings
           */
          public static function getInstance()
          {
3e16e218   Yarik   Admin fixes
87
              if (empty( self::$instance )) {
3cae1b75   Alexey Boroda   -Analytics almost...
88
89
90
91
92
                  self::$instance = self::findOne([ 'id' => 1 ]);
                  return self::$instance;
              }
      
              return self::$instance;
2f3cd090   Yarik   Setting migrate
93
94
95
          }
      }