Completed
Push — branch-4.1 ( 1541d4...3fb9ba )
by Jeremy
09:38
created

Jetpack_Sync_Functions::is_version_controlled()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 5
c 1
b 0
f 0
nc 2
nop 0
dl 0
loc 8
rs 9.4285
1
<?php
2
3
/*
4
 * Utility functions to generate data synced to wpcom
5
 */
6
7
class Jetpack_Sync_Functions {
8
9
	public static function get_modules() {
10
		require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-admin.php' );
11
		return Jetpack_Admin::init()->get_modules();
12
	}
13
14
	public static function get_taxonomies() {
15
		global $wp_taxonomies;
16
17
		return $wp_taxonomies;
18
	}
19
20
	public static function get_post_types() {
21
		global $wp_post_types;
22
23
		return $wp_post_types;
24
	}
25
26
	/**
27
	 * Finds out if a site is using a version control system.
28
	 * @return bool
29
	 **/
30
	public static function is_version_controlled() {
31
32
		if ( ! class_exists( 'WP_Automatic_Updater' ) ) {
33
			require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
34
		}
35
		$updater               = new WP_Automatic_Updater();
36
		return (bool) strval( $updater->is_vcs_checkout( $context = ABSPATH ) );
37
	}
38
39
	/**
40
	 * Returns true if the site has file write access false otherwise.
41
	 * @return bool
42
	 **/
43
	public static function file_system_write_access() {
44
		if ( ! function_exists( 'get_filesystem_method' ) ) {
45
			require_once( ABSPATH . 'wp-admin/includes/file.php' );
46
		}
47
48
		require_once( ABSPATH . 'wp-admin/includes/template.php' );
49
50
		$filesystem_method = get_filesystem_method();
51
		if ( $filesystem_method === 'direct' ) {
52
			return true;
53
		}
54
55
		ob_start();
56
		$filesystem_credentials_are_stored = request_filesystem_credentials( self_admin_url() );
57
		ob_end_clean();
58
		if ( $filesystem_credentials_are_stored ) {
59
			return true;
60
		}
61
62
		return false;
63
	}
64
65
	public static function wp_version() {
66
		global $wp_version;
67
		return $wp_version;
68
	}
69
}