PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.2
Jetpack – WP Security, Backup, Speed, & Growth v16.2
16.2 16.2-beta 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 All 502 releases
jetpack / _inc / lib / debugger / debug-functions.php

debug-functions.php in Jetpack – WP Security, Backup, Speed, & Growth 16.2, at _inc/lib/debugger/debug-functions.php

126 lines 4.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WP Site Health debugging functions.
4 *
5 * @deprecated 15.9 Site Health integration is now handled by the connection package.
6 * @package automattic/jetpack
7 */
8
9 /**
10 * Test runner for Core's Site Health module.
11 *
12 * @since 7.3.0
13 * @deprecated 15.9 Use Automattic\Jetpack\Connection\Site_Health instead.
14 */
15 function jetpack_debugger_ajax_local_testing_suite() {
16 _deprecated_function( __FUNCTION__, 'jetpack-15.9' );
17 check_ajax_referer( 'health-check-site-status' );
18 if ( ! current_user_can( 'jetpack_manage_modules' ) ) {
19 // @phan-suppress-next-line PhanTypeMismatchArgumentProbablyReal -- It takes null, but its phpdoc only says int.
20 wp_send_json_error( null, null, JSON_UNESCAPED_SLASHES );
21 }
22 $tests = new Automattic\Jetpack\Connection\Connection_Health_Tests();
23 // @phan-suppress-next-line PhanTypeMismatchArgumentProbablyReal -- It takes null, but its phpdoc only says int.
24 wp_send_json_success( $tests->output_results_for_core_async_site_health(), null, JSON_UNESCAPED_SLASHES );
25 }
26 /**
27 * Adds the Jetpack Local Testing Suite to the Core Site Health system.
28 *
29 * @since 7.3.0
30 * @deprecated 15.9 Use Automattic\Jetpack\Connection\Site_Health instead.
31 *
32 * @param array $core_tests Array of tests from Core's Site Health.
33 *
34 * @return array $core_tests Array of tests for Core's Site Health.
35 */
36 function jetpack_debugger_site_status_tests( $core_tests ) {
37 _deprecated_function( __FUNCTION__, 'jetpack-15.9' );
38 $cxn_tests = new Automattic\Jetpack\Connection\Connection_Health_Tests();
39 $tests = $cxn_tests->list_tests( 'direct' );
40 foreach ( $tests as $test ) {
41
42 $core_tests['direct'][ $test['name'] ] = array(
43 'label' => __( 'Jetpack: ', 'jetpack' ) . $test['name'],
44 /**
45 * Callable for Core's Site Health system to execute.
46 *
47 * @var array $test A Jetpack Testing Suite test array.
48 * @var Automattic\Jetpack\Connection\Connection_Health_Tests $cxn_tests An instance of the connection test suite.
49 *
50 * @return array {
51 * A results array to match the format expected by WordPress Core.
52 *
53 * @type string $label Name for the test.
54 * @type string $status 'critical', 'recommended', or 'good'.
55 * @type array $badge Array for Site Health status. Keys label and color.
56 * @type string $description Description of the test result.
57 * @type string $action HTML to a link to resolve issue.
58 * @type string $test Unique test identifier.
59 * }
60 */
61 'test' => function () use ( $test, $cxn_tests ) {
62 $results = $cxn_tests->run_test( $test['name'] );
63 if ( is_wp_error( $results ) ) {
64 return;
65 }
66
67 $label = $results['label'] ?
68 $results['label'] :
69 ucwords(
70 str_replace(
71 '_',
72 ' ',
73 str_replace( 'test__', '', $test['name'] )
74 )
75 );
76 if ( $results['long_description'] ) {
77 $description = $results['long_description'];
78 } elseif ( $results['short_description'] ) {
79 $description = sprintf(
80 '<p>%s</p>',
81 $results['short_description']
82 );
83 } else {
84 $description = sprintf(
85 '<p>%s</p>',
86 __( 'This test successfully passed!', 'jetpack' )
87 );
88 }
89
90 $return = array(
91 'label' => $label,
92 'status' => 'good',
93 'badge' => array(
94 'label' => __( 'Jetpack', 'jetpack' ),
95 'color' => 'green',
96 ),
97 'description' => $description,
98 'actions' => '',
99 'test' => 'jetpack_' . $test['name'],
100 );
101
102 if ( false === $results['pass'] ) {
103 $return['status'] = $results['severity'];
104 if ( ! empty( $results['action'] ) ) {
105 $return['actions'] = sprintf(
106 '<a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s <span class="screen-reader-text">%3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>',
107 esc_url( $results['action'] ),
108 $results['action_label'],
109 /* translators: accessibility text */
110 __( '(opens in a new tab)', 'jetpack' )
111 );
112 }
113 }
114
115 return $return;
116 },
117 );
118 }
119 $core_tests['async']['jetpack_test_suite'] = array(
120 'label' => __( 'Jetpack Tests', 'jetpack' ),
121 'test' => 'jetpack_local_testing_suite',
122 );
123
124 return $core_tests;
125 }
126