|
1
|
|
|
<?php |
|
2
|
|
|
/** |
|
3
|
|
|
* HitCounterModel |
|
4
|
|
|
*/ |
|
5
|
|
|
namespace coderius\hitCounter\models; |
|
6
|
|
|
|
|
7
|
|
|
use Yii; |
|
8
|
|
|
use yii\base\Model; |
|
9
|
|
|
use coderius\hitCounter\Module; |
|
10
|
|
|
|
|
11
|
|
|
class HitCounterModel extends Model{ |
|
12
|
|
|
// const SCENARIO_CREATE = 'create'; |
|
13
|
|
|
// const SCENARIO_UPDATE = 'update'; |
|
14
|
|
|
|
|
15
|
|
|
public $counter_id; |
|
16
|
|
|
public $cookie_mark; |
|
17
|
|
|
public $js_cookei_enabled; |
|
18
|
|
|
public $js_java_enabled; |
|
19
|
|
|
public $js_timezone_offset; |
|
20
|
|
|
public $js_timezone; |
|
21
|
|
|
public $js_connection; |
|
22
|
|
|
public $js_current_url; |
|
23
|
|
|
public $js_referer_url; |
|
24
|
|
|
public $js_screen_width; |
|
25
|
|
|
public $js_screen_height; |
|
26
|
|
|
public $js_color_depth; |
|
27
|
|
|
public $js_browser_language; |
|
28
|
|
|
public $js_history_length; |
|
29
|
|
|
public $js_is_toutch_device; |
|
30
|
|
|
public $js_processor_ram; |
|
31
|
|
|
public $serv_ip; |
|
32
|
|
|
public $serv_user_agent; |
|
33
|
|
|
public $serv_referer_url; |
|
34
|
|
|
public $serv_server_name; |
|
35
|
|
|
public $serv_auth_user_id; |
|
36
|
|
|
public $serv_port; |
|
37
|
|
|
public $serv_cookies; |
|
38
|
|
|
public $serv_os; |
|
39
|
|
|
public $serv_client; |
|
40
|
|
|
public $serv_device; |
|
41
|
|
|
public $serv_brand; |
|
42
|
|
|
public $serv_model; |
|
43
|
|
|
public $serv_bot; |
|
44
|
|
|
public $serv_host_by_ip; |
|
45
|
|
|
public $serv_is_proxy_or_vpn; |
|
46
|
|
|
|
|
47
|
|
|
// public function init() |
|
48
|
|
|
// { |
|
49
|
|
|
// parent::init(); |
|
50
|
|
|
// if ($this->getScenario() === self::SCENARIO_CREATE) { |
|
51
|
|
|
// $this->setAttributes([ |
|
52
|
|
|
// 'status' => $this->status === null ? CommentEnum::STATUS_ACTIVE : $this->status, |
|
53
|
|
|
// ], false); |
|
54
|
|
|
// } |
|
55
|
|
|
// } |
|
56
|
|
|
|
|
57
|
|
|
/** |
|
58
|
|
|
* {@inheritdoc} |
|
59
|
|
|
*/ |
|
60
|
21 |
|
public function rules() |
|
61
|
|
|
{ |
|
62
|
|
|
return [ |
|
63
|
21 |
|
[['counter_id'], 'required'], |
|
64
|
|
|
[['js_cookei_enabled', 'js_java_enabled', 'js_timezone_offset', 'js_screen_width', 'js_screen_height', 'js_color_depth', 'js_history_length', 'js_is_toutch_device', 'js_processor_ram', 'serv_auth_user_id', 'serv_is_proxy_or_vpn', 'serv_port'], 'integer'], |
|
65
|
|
|
[['serv_cookies','js_current_url', 'js_referer_url','serv_referer_url','serv_user_agent'], 'string'], |
|
66
|
|
|
[['counter_id', 'js_timezone', 'js_connection', 'js_browser_language', 'serv_server_name', 'serv_os', 'serv_client', 'serv_device', 'serv_brand', 'serv_model', 'serv_bot', 'serv_host_by_ip'], 'string', 'max' => 255], |
|
67
|
|
|
[['cookie_mark'], 'string', 'max' => 32], |
|
68
|
|
|
[['serv_ip'], 'string', 'max' => 20], |
|
69
|
21 |
|
[['serv_auth_user_id'], 'exist', 'skipOnError' => true, 'targetClass' => Module::getInstance()->userIdentityClass, 'targetAttribute' => ['serv_auth_user_id' => 'id']], |
|
70
|
|
|
[['cookie_mark', 'js_current_url', 'serv_ip', 'js_timezone_offset','js_timezone', 'js_connection','js_referer_url','js_screen_width','js_screen_height','js_color_depth','js_browser_language','js_history_length','js_processor_ram','serv_user_agent','serv_referer_url','serv_server_name','serv_auth_user_id','serv_port','serv_cookies','serv_os','serv_client','serv_device','serv_brand','serv_model','serv_bot','serv_host_by_ip'], 'default', 'value' => null], |
|
71
|
|
|
]; |
|
72
|
|
|
} |
|
73
|
|
|
|
|
74
|
|
|
// public function scenarios() |
|
75
|
|
|
// { |
|
76
|
|
|
// $scenarios = parent::scenarios(); |
|
77
|
|
|
// $scenarios[self::SCENARIO_CREATE] = ['entity', 'entity_id', 'content', 'parentId', 'status', 'guest_name']; |
|
78
|
|
|
// // $scenarios[self::SCENARIO_UPDATE] = ['entity', 'entity_id', 'content', 'parentId']; |
|
79
|
|
|
// return $scenarios; |
|
80
|
|
|
// } |
|
81
|
|
|
|
|
82
|
|
|
|
|
83
|
|
|
} |
|
84
|
|
|
|
|
85
|
|
|
|