Completed
Push — update/security-widget-languag... ( 75ac2c...0fa1b8 )
by
unknown
126:04 queued 116:11
created

Jetpack_User_Event_Tracking   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
dl 0
loc 48
rs 10
c 0
b 0
f 0
wmc 9
lcom 1
cbo 0

7 Methods

Rating   Name   Duplication   Size   Complexity  
A disable() 0 4 1
A enable() 0 4 1
A is_enabled() 0 7 2
A has_value() 0 7 2
A is_disabled() 0 3 1
A set() 0 3 1
A default_value() 0 10 1
1
<?php
2
3
class Jetpack_User_Event_Tracking {
4
	public static $KEY = 'jetpack_event_tracking';
5
6
	static function is_enabled( $user_id ) {
7
		$user_tracking = get_user_meta( $user_id, self::$KEY, true );
8
		if ( ! is_numeric( $user_tracking ) ) {
9
			$user_tracking = self::default_value();
10
		}
11
		return (bool) $user_tracking;
12
	}
13
14
	static function has_value( $user_id ) {
15
		$user_tracking = get_user_meta( $user_id, self::$KEY, true );
16
		if ( is_numeric( $user_tracking ) ) {
17
			return true;
18
		}
19
		return false;
20
	}
21
22
	static function is_disabled( $user_id ) {
23
		return ! self::is_enabled( $user_id );
24
	}
25
26
	static function disable( $user_id ) {
27
		// user opted out
28
		return self::set( $user_id, 0 );
29
	}
30
31
	static function enable( $user_id ) {
32
		// user opted in
33
		return self::set( $user_id, 1 );
34
	}
35
36
	static private function set( $user_id, $value ) {
0 ignored issues
show
Coding Style introduced by
As per PSR2, the static declaration should come after the visibility declaration.
Loading history...
37
		return update_user_meta( $user_id, self::$KEY, $value );
38
	}
39
40
	static function default_value() {
41
		/**
42
		 * Return the default jetpack user event tracking opt out value.
43
		 *
44
		 * @since 6.0.0
45
		 *
46
		 * @param bool Default to true. (user tracking enabled)
47
		 */
48
		return apply_filters( 'jetpack_user_event_tracking', true );
49
	}
50
}
51