Completed
Push — add/wpcom-v2-delete-transient-... ( 7a7987...6ef09e )
by
unknown
374:29 queued 364:27
created

Jetpack_Backup::plugin_settings_page()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Primary class file for the Jetpack Backup plugin.
4
 *
5
 * @package automattic/jetpack-backup
6
 */
7
8
if ( ! defined( 'ABSPATH' ) ) {
9
	exit;
10
}
11
12
/**
13
 * Class Jetpack_Backup
14
 */
15
class Jetpack_Backup {
16
	/**
17
	 * Constructor.
18
	 */
19
	public function __construct() {
20
		self::admin_init();
21
	}
22
23
	/**
24
	 * Initialize the admin resources.
25
	 */
26
	private function admin_init() {
27
		if ( ! is_admin() ) {
28
			return;
29
		}
30
31
		add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
32
		add_action( 'admin_menu', array( $this, 'admin_menu' ) );
33
	}
34
35
	/**
36
	 * Enqueue plugin admin scripts.
37
	 */
38
	public function enqueue_admin_scripts() {
39
		$build_assets = require_once JETPACK_BACKUP_PLUGIN_DIR . '/build/index.asset.php';
40
		wp_register_script(
41
			'jetpack-backup-main-js',
42
			plugins_url( 'build/index.js', JETPACK_BACKUP_PLUGIN_ROOT_FILE ),
43
			$build_assets['dependencies'],
44
			$build_assets['version'],
45
			true
46
		);
47
		wp_enqueue_script( 'jetpack-backup-main-js' );
48
	}
49
50
	/**
51
	 * Plugin admin menu setup.
52
	 */
53
	public function admin_menu() {
54
		add_menu_page(
55
			__( 'Jetpack Backup', 'jetpack-backup' ),
56
			__( 'Backup', 'jetpack-backup' ),
57
			'manage_options',
58
			'jetpack-backup-menu',
59
			array( $this, 'plugin_settings_page' ),
60
			'dashicons-superhero',
61
			99
62
		);
63
	}
64
65
	/**
66
	 * Main plugin settings page.
67
	 */
68
	public function plugin_settings_page() {
69
		?>
70
			<div id="jetpack-backup-root"></div>
71
		<?php
72
	}
73
}
74