AnalyticsSettings   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 61
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 0
loc 61
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A groups() 0 8 1
A rules() 0 6 1
A afterSave() 0 7 1
A attributeLabels() 0 18 1
1
<?php
2
3
// See application.modules.dashboard.assets.AnalyticsSettingsBuilder.js for instructions on how to automatically generate this file
4
// Note that you'll need to remove any "undefined" variables in here via stringReplace
5
class AnalyticsSettings extends CiiSettingsModel
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
6
{
7
	protected $analyticsjs_Google__Analytics_enabled = false;
8
	protected $analyticsjs_Google__Analytics_domain = NULL;
9
	protected $analyticsjs_Google__Analytics_trackingId = NULL;
10
	protected $analyticsjs_Google__Analytics_universalClient = false;
11
	protected $analyticsjs_Google__Analytics_doubleClick = false;
12
	protected $analyticsjs_Google__Analytics_enhancedLinkAttribution = false;
13
14
	protected $analyticsjs_Pingdom_enabled = false;
15
	protected $analyticsjs_Pingdom_id = NULL;
16
17
	protected $analyticsjs_Piwik_enabled = false;
18
	protected $analyticsjs_Piwik_url = NULL;
19
	protected $analyticsjs_Piwik_siteId = NULL;
20
21
	public $form = 'application.modules.dashboard.views.analytics.form';
22
23
	public function groups()
24
	{
25
		return array(
26
			'Google Analytics' => array('analyticsjs_Google__Analytics_enabled','analyticsjs_Google__Analytics_domain', 'analyticsjs_Google__Analytics_trackingId', 'analyticsjs_Google__Analytics_universalClient', 'analyticsjs_Google__Analytics_doubleClick', 'analyticsjs_Google__Analytics_enhancedLinkAttribution'),
27
			'Pingdom' => array('analyticsjs_Pingdom_enabled', 'analyticsjs_Pingdom_id'),
28
			'Piwik' => array('analyticsjs_Piwik_enabled', 'analyticsjs_Piwik_url', 'analyticsjs_Piwik_siteId'),
29
		);
30
	}
31
32
	public function rules()
33
	{
34
		return array(
35
			array('analyticsjs_Google__Analytics_enabled, analyticsjs_Google__Analytics_universalClient, analyticsjs_Google__Analytics_doubleClick, analyticsjs_Google__Analytics_enhancedLinkAttribution, analyticsjs_Pingdom_enabled, analyticsjs_Piwik_enabled', 'boolean')
36
		);
37
	}
38
39
	public function attributeLabels()
40
	{
41
		return array(
42
			'analyticsjs_Google__Analytics_enabled' => Yii::t('ciims.models.analytics', 'Enabled'),
43
			'analyticsjs_Google__Analytics_domain' => Yii::t('ciims.models.analytics', 'Domain'),
44
			'analyticsjs_Google__Analytics_trackingId' => Yii::t('ciims.models.analytics', 'UA Tracking ID'),
45
			'analyticsjs_Google__Analytics_universalClient' => Yii::t('ciims.models.analytics', 'Use Universal Client?'),
46
			'analyticsjs_Google__Analytics_doubleClick' => Yii::t('ciims.models.analytics', 'DoubleClick'),
47
			'analyticsjs_Google__Analytics_enhancedLinkAttribution' => Yii::t('ciims.models.analytics', 'Enhanced Link Attribution'),
48
49
			'analyticsjs_Pingdom_enabled' => Yii::t('ciims.models.analytics', 'Enabled'),
50
			'analyticsjs_Pingdom_id' => Yii::t('ciims.models.analytics', 'id'),
51
52
			'analyticsjs_Piwik_enabled' => Yii::t('ciims.models.analytics', 'Enabled'),
53
			'analyticsjs_Piwik_url' => Yii::t('ciims.models.analytics', 'Piwik Host URL'),
54
			'analyticsjs_Piwik_siteId' => Yii::t('ciims.models.analytics', 'Site ID'),
55
		);
56
	}
57
58
	public function afterSave()
59
	{
60
		Yii::app()->cache->set('analyticsjs_providers', false);
61
		Yii::app()->analytics->getProviders();
62
63
		return parent::afterSave();
64
	}
65
}
66