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
|
}
}
|