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 / modules / masterbar / inline-help / class-inline-help.php
jetpack / modules / masterbar / inline-help Last commit date
class-inline-help.php 2 years ago gridicon-help.svg 5 years ago inline-help-template.php 2 years ago inline-help.css 5 years ago
class-inline-help.php
116 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
9 */
10
11 namespace Automattic\Jetpack\Dashboard_Customizations;
12
13 /**
14 * Class Inline_Help.
15 */
16 class Inline_Help {
17
18 /**
19 * Inline_Help constructor.
20 */
21 public function __construct() {
22 add_action( 'current_screen', array( $this, 'register_actions' ) );
23 }
24
25 /**
26 * Registers actions.
27 *
28 * @param object $current_screen Current screen object.
29 * @return void
30 */
31 public function register_actions( $current_screen ) {
32 // phpcs:disable WordPress.Security.NonceVerification.Recommended
33 // Do not inject the FAB icon on embedded screens since the parent window may already contain a FAB icon.
34 $is_framed = ! empty( $_GET['frame-nonce'] );
35
36 // Do not inject the FAB icon on Yoast screens to avoid overlap with the Yoast help icon.
37 $is_yoast = ! empty( $current_screen->base ) && str_contains( $current_screen->base, '_page_wpseo_' );
38
39 if ( $is_framed || $is_yoast ) {
40 return;
41 }
42 // phpcs:enable WordPress.Security.NonceVerification.Recommended
43
44 add_action( 'admin_footer', array( $this, 'add_fab_icon' ) );
45
46 add_action( 'admin_enqueue_scripts', array( $this, 'add_fab_styles' ) );
47 }
48
49 /**
50 * Outputs "FAB" icon markup and SVG.
51 *
52 * @return void|string the HTML markup for the FAB or early exit.
53 */
54 public function add_fab_icon() {
55
56 if ( wp_doing_ajax() ) {
57 return;
58 }
59
60 $svg_allowed = array(
61 'svg' => array(
62 'id' => true,
63 'class' => true,
64 'aria-hidden' => true,
65 'aria-labelledby' => true,
66 'role' => true,
67 'xmlns' => true,
68 'width' => true,
69 'height' => true,
70 'viewbox' => true, // <= Must be lower case!
71 ),
72 'g' => array( 'fill' => true ),
73 'title' => array( 'title' => true ),
74 'path' => array(
75 'd' => true,
76 'fill' => true,
77 ),
78 );
79
80 $gridicon_help = file_get_contents( __DIR__ . '/gridicon-help.svg', true );
81
82 // Add tracking data to link to be picked up by Calypso for GA and Tracks usage.
83 $tracking_href = add_query_arg(
84 array(
85 'utm_source' => 'wp_admin',
86 'utm_medium' => 'other',
87 'utm_content' => 'jetpack_masterbar_inline_help_click',
88 'flags' => 'a8c-analytics.on',
89 ),
90 'https://wordpress.com/help'
91 );
92
93 // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
94 // We trust that output in the template has been escaped.
95 echo load_template(
96 __DIR__ . '/inline-help-template.php',
97 true,
98 array(
99 'href' => $tracking_href,
100 'icon' => $gridicon_help,
101 'svg_allowed' => $svg_allowed,
102 )
103 );
104 // phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped
105 }
106
107 /**
108 * Enqueues FAB CSS styles.
109 *
110 * @return void
111 */
112 public function add_fab_styles() {
113 wp_enqueue_style( 'a8c-faux-inline-help', plugins_url( 'inline-help.css', __FILE__ ), array(), JETPACK__VERSION );
114 }
115 }
116