PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.6.2
Jetpack – WP Security, Backup, Speed, & Growth v13.6.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
167 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-notice',
83 esc_html__( "Jetpack's Google Analytics feature will be removed on August 6, 2024.", 'jetpack' )
84 . ' <a href="' . $support_url . '" target="_blank">' . esc_html__( 'Read this document for details and how to keep tracking visits with Google Analytics', '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 feature will be removed on August 6, 2024. Read the documentation for details and how to keep tracking visits with Google Analytics.", 'jetpack' ),
101 'link' => array(
102 'label' => esc_html__( 'See documentation', 'jetpack' ),
103 'url' => Redirect::get_url( 'jetpack-support-google-analytics' ),
104 ),
105 ),
106 );
107 }
108
109 return $slugs;
110 }
111
112 /**
113 * Render the notice.
114 *
115 * @param string $id The notice ID.
116 * @param string $text The notice text.
117 * @param array $params Additional notice params.
118 *
119 * @return void
120 */
121 private function render_notice( $id, $text, $params = array() ) {
122 if ( ! empty( $_COOKIE['jetpack_deprecate_dismissed'][ $id ] ) ) {
123 return;
124 }
125
126 $params['id'] = $id;
127
128 if ( empty( $params['type'] ) ) {
129 $params['type'] = 'warning';
130 }
131
132 if ( empty( $params['dismissible'] ) ) {
133 $params['dismissible'] = true;
134 }
135
136 if ( $params['dismissible'] ) {
137 if ( empty( $params['additional_classes'] ) ) {
138 $params['additional_classes'] = array();
139 }
140
141 $params['additional_classes'][] = 'jetpack-deprecate-dismissible';
142 }
143
144 wp_admin_notice( $text, $params );
145 }
146
147 /**
148 * Check if there are any notices to be displayed, so we wouldn't load unnecessary JS.
149 *
150 * @return bool
151 */
152 private function has_notices() {
153 return $this->show_ga_notice();
154 }
155
156 /**
157 * Check if Google Analytics notice should show up.
158 *
159 * @return bool
160 */
161 private function show_ga_notice() {
162 return ( new Modules() )->is_active( 'google-analytics', false )
163 && ! is_plugin_active( 'jetpack-legacy-google-analytics/jetpack-legacy-google-analytics.php' )
164 && ! ( new Host() )->is_woa_site();
165 }
166 }
167