Settings.php
1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
    namespace common\models;
    
    use yii2tech\filedb\ActiveRecord;
    use Yii;
    
    /**
     * Class Settings
     
     *
*@package artbox\core\models
     * @property string $name
     * @property string $id
     * @property string $description
     * @property string $analytics
     * @property string $analytics_key
     */
    class Settings extends ActiveRecord
    {
        private static $instance;
        
        /**
         * @inheritdoc
         */
        public function rules()
        {
            return [
                [
                    [
                        'name',
                        'description',
                        'id',
                        'analytics',
                        'analytics_key',
                    ],
                    'string',
                ],
            ];
        }
        
        /**
         * @inheritdoc
         */
        public static function fileName()
        {
            return 'settings';
        }
        
        /**
         * @inheritdoc
         */
        public function attributeLabels()
        {
            return [
                'id'          => Yii::t('core', 'ID'),
                'name'        => Yii::t('core', 'Name'),
                'description' => Yii::t('core', 'Description'),
                'analytics'   => Yii::t('core', 'Google Analytics Code'),
                'analytics_key' => Yii::t('core', 'Google Analytics Key'),
            ];
        }
        
        /**
         * Get Settings model instance
         *
         * @return Settings
         */
        public static function getInstance()
        {
            if (empty(self::$instance)) {
                self::$instance = self::findOne([ 'id' => 1 ]);
                return self::$instance;
            }
    
            return self::$instance;
        }
    }
     
