Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
Jetpack_JSON_API_Updates_Status
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
42
0.00% covered (danger)
0.00%
0 / 1
 result
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
42
1<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2
3if ( ! defined( 'ABSPATH' ) ) {
4    exit( 0 );
5}
6
7/**
8 * Updates status class.
9 *
10 * GET /sites/%s/updates
11 *
12 * @phan-constructor-used-for-side-effects
13 */
14class Jetpack_JSON_API_Updates_Status extends Jetpack_JSON_API_Endpoint {
15    /**
16     * Needed capabilities.
17     *
18     * @var string
19     */
20    protected $needed_capabilities = 'manage_options';
21
22    /**
23     * Endpoint callback.
24     *
25     * @return array|WP_Error
26     */
27    protected function result() {
28
29        wp_update_themes();
30        wp_update_plugins();
31
32        $update_data = wp_get_update_data();
33        if ( ! isset( $update_data['counts'] ) ) {
34            return new WP_Error( 'get_update_data_error', __( 'There was an error while getting the update data for this site.', 'jetpack' ), 500 );
35        }
36
37        $result = $update_data['counts'];
38
39        include ABSPATH . WPINC . '/version.php'; // $wp_version;
40        // @phan-suppress-next-line PhanImpossibleCondition -- $wp_version is defined in the included version.php file above
41        $result['wp_version'] = isset( $wp_version ) ? $wp_version : null; // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
42
43        if ( ! empty( $result['wordpress'] ) ) {
44            $cur = get_preferred_from_update_core();
45            if ( isset( $cur->response ) && $cur->response === 'upgrade' ) {
46                $result['wp_update_version'] = $cur->current;
47            }
48        }
49
50        $result['jp_version'] = JETPACK__VERSION;
51
52        return $result;
53    }
54}