Completed
Push — try/em-module ( 2165cc )
by
unknown
81:45 queued 73:55
created

Jetpack_External_Media::activate_module()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php // phpcs:ignore
2
/**
3
 * Module Name: External Media
4
 * Module Description: Jetpack’s External Media integrates Google Photos and Pexels free photos into your image blocks.
5
 * Sort Order: 28
6
 * Recommendation Order: 10
7
 * First Introduced: 8.7
8
 * Requires Connection: Yes
9
 * Auto Activate: Yes
10
 * Module Tags: Recommended
11
 * Feature: Media
12
 * Additional Search Queries:
13
 */
14
15
/**
16
 * Class Jetpack_External_Media.
17
 */
18
class Jetpack_External_Media {
19
	/**
20
	 * Module slug.
21
	 *
22
	 * @var string
23
	 */
24
	public $module = 'external-media';
25
26
	/**
27
	 * Jetpack_External_Media constructor.
28
	 */
29
	public function __construct() {
30
		add_action( 'jetpack_activate_module_external-media', array( $this, 'activate_module' ) );
31
		add_action( 'jetpack_deactivate_module_external-media', array( $this, 'deactivate_module' ) );
32
		add_action( 'jetpack_register_gutenberg_extensions', array( $this, 'register_extension' ) );
33
	}
34
35
	/**
36
	 * Activates module.
37
	 */
38
	public function activate_module() {
39
		\Jetpack_Gutenberg::set_extension_available( $this->module );
40
	}
41
42
	/**
43
	 * Deactivates module.
44
	 */
45
	public function deactivate_module() {
46
		\Jetpack_Gutenberg::set_extension_unavailable( $this->module, 'missing_module' );
47
	}
48
49
	/**
50
	 * Registers extension.
51
	 */
52
	public function register_extension() {
53
		$is_wpcom = defined( 'IS_WPCOM' ) && IS_WPCOM;
54
55
		if ( $is_wpcom || Jetpack::is_module_active( $this->module ) ) {
56
			$this->activate_module();
57
		} else {
58
			$this->deactivate_module();
59
		}
60
	}
61
}
62