PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 8.6.1
Jetpack – WP Security, Backup, Speed, & Growth v8.6.1
15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / 3rd-party / domain-mapping.php
jetpack / 3rd-party Last commit date
debug-bar 7 years ago 3rd-party.php 6 years ago bbpress.php 6 years ago beaverbuilder.php 8 years ago bitly.php 9 years ago buddypress.php 10 years ago class-jetpack-bbpress-rest-api.php 6 years ago class.jetpack-amp-support.php 6 years ago class.jetpack-modules-overrides.php 8 years ago debug-bar.php 8 years ago domain-mapping.php 6 years ago polldaddy.php 9 years ago qtranslate-x.php 8 years ago vaultpress.php 6 years ago woocommerce-services.php 6 years ago woocommerce.php 6 years ago wpml.php 8 years ago
domain-mapping.php
116 lines
1 <?php
2
3 use Automattic\Jetpack\Constants;
4
5 /**
6 * Class Jetpack_3rd_Party_Domain_Mapping
7 *
8 * This class contains methods that are used to provide compatibility between Jetpack sync and domain mapping plugins.
9 */
10 class Jetpack_3rd_Party_Domain_Mapping {
11
12 /**
13 * @var Jetpack_3rd_Party_Domain_Mapping
14 **/
15 private static $instance = null;
16
17 /**
18 * An array of methods that are used to hook the Jetpack sync filters for home_url and site_url to a mapping plugin.
19 *
20 * @var array
21 */
22 static $test_methods = array(
23 'hook_wordpress_mu_domain_mapping',
24 'hook_wpmu_dev_domain_mapping'
25 );
26
27 static function init() {
28 if ( is_null( self::$instance ) ) {
29 self::$instance = new Jetpack_3rd_Party_Domain_Mapping;
30 }
31
32 return self::$instance;
33 }
34
35 private function __construct() {
36 add_action( 'plugins_loaded', array( $this, 'attempt_to_hook_domain_mapping_plugins' ) );
37 }
38
39 /**
40 * This function is called on the plugins_loaded action and will loop through the $test_methods
41 * to try and hook a domain mapping plugin to the Jetpack sync filters for the home_url and site_url callables.
42 */
43 function attempt_to_hook_domain_mapping_plugins() {
44 if ( ! Constants::is_defined( 'SUNRISE' ) ) {
45 return;
46 }
47
48 $hooked = false;
49 $count = count( self::$test_methods );
50 for ( $i = 0; $i < $count && ! $hooked; $i++ ) {
51 $hooked = call_user_func( array( $this, self::$test_methods[ $i ] ) );
52 }
53 }
54
55 /**
56 * This method will test for a constant and function that are known to be used with Donncha's WordPress MU
57 * Domain Mapping plugin. If conditions are met, we hook the domain_mapping_siteurl() function to Jetpack sync
58 * filters for home_url and site_url callables.
59 *
60 * @return bool
61 */
62 function hook_wordpress_mu_domain_mapping() {
63 if ( ! Constants::is_defined( 'SUNRISE_LOADED' ) || ! $this->function_exists( 'domain_mapping_siteurl' ) ) {
64 return false;
65 }
66
67 add_filter( 'jetpack_sync_home_url', 'domain_mapping_siteurl' );
68 add_filter( 'jetpack_sync_site_url', 'domain_mapping_siteurl' );
69
70 return true;
71 }
72
73 /**
74 * This method will test for a class and method known to be used in WPMU Dev's domain mapping plugin. If the
75 * method exists, then we'll hook the swap_to_mapped_url() to our Jetpack sync filters for home_url and site_url.
76 *
77 * @return bool
78 */
79 function hook_wpmu_dev_domain_mapping() {
80 if ( ! $this->class_exists( 'domain_map' ) || ! $this->method_exists( 'domain_map', 'utils' ) ) {
81 return false;
82 }
83
84 $utils = $this->get_domain_mapping_utils_instance();
85 add_filter( 'jetpack_sync_home_url', array( $utils, 'swap_to_mapped_url' ) );
86 add_filter( 'jetpack_sync_site_url', array( $utils, 'swap_to_mapped_url' ) );
87
88 return true;
89 }
90
91 /*
92 * Utility Methods
93 *
94 * These methods are very minimal, and in most cases, simply pass on arguments. Why create them you ask?
95 * So that we can test.
96 */
97
98 public function method_exists( $class, $method ) {
99 return method_exists( $class, $method );
100 }
101
102 public function class_exists( $class ) {
103 return class_exists( $class );
104 }
105
106 public function function_exists( $function ) {
107 return function_exists( $function );
108 }
109
110 public function get_domain_mapping_utils_instance() {
111 return domain_map::utils();
112 }
113 }
114
115 Jetpack_3rd_Party_Domain_Mapping::init();
116