PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.7.2
Jetpack – WP Security, Backup, Speed, & Growth v13.7.2
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 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 / src / class-deprecate.php
jetpack / src Last commit date
class-deprecate.php 2 years ago class-jetpack-crm-data.php 2 years ago class-jetpack-modules-overrides.php 3 years ago class-tracking.php 2 years ago
class-deprecate.php
169 lines
1 <?php
2 /**
3 * Place to properly deprecate Jetpack features.
4 *
5 * @package automattic/jetpack
6 */
7
8 namespace Automattic\Jetpack\Plugin;
9
10 use Automattic\Jetpack\Assets;
11 use Automattic\Jetpack\Modules;
12 use Automattic\Jetpack\Redirect;
13 use Automattic\Jetpack\Status\Host;
14
15 /**
16 * Place to properly deprecate Jetpack features.
17 */
18 class Deprecate {
19
20 /**
21 * The singleton instance.
22 *
23 * @var Deprecate
24 */
25 private static $instance;
26
27 /**
28 * Initialize the class.
29 */
30 private function __construct() {
31 add_action( 'admin_notices', array( $this, 'render_admin_notices' ) );
32 add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
33 add_filter( 'my_jetpack_red_bubble_notification_slugs', array( $this, 'add_my_jetpack_red_bubbles' ) );
34 }
35
36 /**
37 * Create/get the singleton instance.
38 *
39 * @return static
40 */
41 public static function instance() {
42 if ( null === static::$instance ) {
43 static::$instance = new static();
44 }
45
46 return static::$instance;
47 }
48
49 /**
50 * Enqueue the scripts.
51 *
52 * @return void
53 */
54 public function enqueue_admin_scripts() {
55 if ( ! $this->has_notices() ) {
56 return;
57 }
58
59 if ( ! wp_script_is( 'jetpack-deprecate', 'registered' ) ) {
60 wp_register_script(
61 'jetpack-deprecate',
62 Assets::get_file_url_for_environment( '_inc/build/deprecate.min.js', '_inc/deprecate.js' ),
63 array(),
64 JETPACK__VERSION,
65 true
66 );
67 }
68
69 wp_enqueue_script( 'jetpack-deprecate' );
70 }
71
72 /**
73 * Render Google Analytics deprecation notice.
74 *
75 * @return void
76 */
77 public function render_admin_notices() {
78 if ( $this->show_ga_notice() ) {
79 $support_url = Redirect::get_url( 'jetpack-support-google-analytics' );
80
81 $this->render_notice(
82 'jetpack-ga-admin-removal-notice',
83 esc_html__( "Jetpack's Google Analytics has been removed.", 'jetpack' )
84 . ' <a href="' . $support_url . '" target="_blank">' . esc_html__( 'To keep tracking visits and more information on this change, please refer to this document', 'jetpack' ) . '</a>.'
85 );
86 }
87 }
88
89 /**
90 * Add the deprecation notices to My Jetpack.
91 *
92 * @param array $slugs Already added bubbles.
93 *
94 * @return mixed
95 */
96 public function add_my_jetpack_red_bubbles( $slugs ) {
97 if ( $this->show_ga_notice() ) {
98 $slugs['jetpack-google-analytics-deprecate-feature'] = array(
99 'data' => array(
100 'text' => __( "Jetpack's Google Analytics has been removed.", 'jetpack' ),
101 'link' => array(
102 'label' => esc_html__( 'See documentation', 'jetpack' ),
103 'url' => Redirect::get_url( 'jetpack-support-google-analytics' ),
104 ),
105 'id' => 'jetpack-ga-admin-removal-notice',
106 ),
107 );
108 }
109
110 return $slugs;
111 }
112
113 /**
114 * Render the notice.
115 *
116 * @param string $id The notice ID.
117 * @param string $text The notice text.
118 * @param array $params Additional notice params.
119 *
120 * @return void
121 */
122 private function render_notice( $id, $text, $params = array() ) {
123 if ( ! empty( $_COOKIE['jetpack_deprecate_dismissed'][ $id ] ) ) {
124 return;
125 }
126
127 $params['id'] = $id;
128
129 if ( empty( $params['type'] ) ) {
130 $params['type'] = 'warning';
131 }
132
133 if ( empty( $params['dismissible'] ) ) {
134 $params['dismissible'] = true;
135 }
136
137 if ( $params['dismissible'] ) {
138 if ( empty( $params['additional_classes'] ) ) {
139 $params['additional_classes'] = array();
140 }
141
142 $params['additional_classes'][] = 'jetpack-deprecate-dismissible';
143 }
144
145 wp_admin_notice( $text, $params );
146 }
147
148 /**
149 * Check if there are any notices to be displayed, so we wouldn't load unnecessary JS.
150 *
151 * @return bool
152 */
153 private function has_notices() {
154 return $this->show_ga_notice();
155 }
156
157 /**
158 * Check if Google Analytics notice should show up.
159 *
160 * @return bool
161 */
162 private function show_ga_notice() {
163 return ( new Modules() )->is_active( 'google-analytics', false )
164 && ! is_plugin_active( 'jetpack-legacy-google-analytics/jetpack-legacy-google-analytics.php' )
165 && ! ( new Host() )->is_woa_site()
166 && empty( $_COOKIE['jetpack_deprecate_dismissed']['jetpack-ga-admin-removal-notice'] );
167 }
168 }
169