PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.1-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.1-beta
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 / jetpack_vendor / automattic / jetpack-masterbar / src / inline-help / class-inline-help.php
jetpack / jetpack_vendor / automattic / jetpack-masterbar / src / inline-help Last commit date
class-inline-help.php 9 months ago gridicon-help.svg 2 years ago inline-help-template.php 9 months ago
class-inline-help.php
127 lines
1 <?php
2 /**
3 * Inline Help.
4 *
5 * Handles providing a LiveChat icon within WPAdmin until such time
6 * as the full live chat experience can be run in a non-Calypso environment.
7 *
8 * @package automattic/jetpack-masterbar
9 */
10
11 namespace Automattic\Jetpack\Masterbar;
12
13 use Automattic\Jetpack\Assets;
14
15 /**
16 * Class Inline_Help.
17 *
18 * @phan-constructor-used-for-side-effects
19 */
20 class Inline_Help {
21
22 /**
23 * Inline_Help constructor.
24 */
25 public function __construct() {
26 add_action( 'current_screen', array( $this, 'register_actions' ) );
27 }
28
29 /**
30 * Registers actions.
31 *
32 * @param object $current_screen Current screen object.
33 * @return void
34 */
35 public function register_actions( $current_screen ) {
36 // phpcs:disable WordPress.Security.NonceVerification.Recommended
37 // Do not inject the FAB icon on embedded screens since the parent window may already contain a FAB icon.
38 $is_framed = ! empty( $_GET['frame-nonce'] );
39
40 // Do not inject the FAB icon on Yoast screens to avoid overlap with the Yoast help icon.
41 $is_yoast = ! empty( $current_screen->base ) && str_contains( $current_screen->base, '_page_wpseo_' );
42
43 if ( $is_framed || $is_yoast ) {
44 return;
45 }
46 // phpcs:enable WordPress.Security.NonceVerification.Recommended
47
48 add_action( 'admin_footer', array( $this, 'add_fab_icon' ) );
49
50 add_action( 'admin_enqueue_scripts', array( $this, 'add_fab_styles' ) );
51 }
52
53 /**
54 * Outputs "FAB" icon markup and SVG.
55 *
56 * @return void|string the HTML markup for the FAB or early exit.
57 */
58 public function add_fab_icon() {
59
60 if ( wp_doing_ajax() ) {
61 return;
62 }
63
64 $svg_allowed = array(
65 'svg' => array(
66 'id' => true,
67 'class' => true,
68 'aria-hidden' => true,
69 'aria-labelledby' => true,
70 'role' => true,
71 'xmlns' => true,
72 'width' => true,
73 'height' => true,
74 'viewbox' => true, // <= Must be lower case!
75 ),
76 'g' => array( 'fill' => true ),
77 'title' => array( 'title' => true ),
78 'path' => array(
79 'd' => true,
80 'fill' => true,
81 ),
82 );
83
84 $gridicon_help = file_get_contents( __DIR__ . '/gridicon-help.svg', true );
85
86 // Add tracking data to link to be picked up by Calypso for GA and Tracks usage.
87 $tracking_href = add_query_arg(
88 array(
89 'utm_source' => 'wp_admin',
90 'utm_medium' => 'other',
91 'utm_content' => 'jetpack_masterbar_inline_help_click',
92 'flags' => 'a8c-analytics.on',
93 ),
94 'https://wordpress.com/help'
95 );
96
97 load_template(
98 __DIR__ . '/inline-help-template.php',
99 true,
100 array(
101 'href' => $tracking_href,
102 'icon' => $gridicon_help,
103 'svg_allowed' => $svg_allowed,
104 )
105 );
106 }
107
108 /**
109 * Enqueues FAB CSS styles.
110 *
111 * @return void
112 */
113 public function add_fab_styles() {
114 $assets_base_path = '../../dist/inline-help/';
115
116 Assets::register_script(
117 'a8c-faux-inline-help',
118 $assets_base_path . 'inline-help.js',
119 __FILE__,
120 array(
121 'enqueue' => true,
122 'css_path' => $assets_base_path . 'inline-help.css',
123 )
124 );
125 }
126 }
127