Server IP : 209.38.156.173 / Your IP : 216.73.216.122 [ Web Server : Apache/2.4.52 (Ubuntu) System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.1.2-1ubuntu2.22 Disable Function : NONE Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/jetpack/_inc/lib/ |
Upload File : |
<?php /** * Google Drive helper. * * @deprecated 13.4 Use automattic/jetpack-forms * @package automattic/jetpack */ use Automattic\Jetpack\Connection\Client; use Automattic\Jetpack\Connection\Manager; use Automattic\Jetpack\Status\Visitor; /** * Class Jetpack_Google_Drive_Helper * * @deprecated 13.4 Use Automattic\Jetpack\Forms\Service\Google_Drive_Helper */ class Jetpack_Google_Drive_Helper { /** * Checks if the user has a valid connection to Google Drive * * @deprecated 13.4 Use Automattic\Jetpack\Forms\Service\Google_Drive_Helper->has_valid_connection * @param int $user_id The user ID. * @return array Array with single 'valid' (bool) entry. */ public static function has_valid_connection( $user_id ) { _deprecated_function( __METHOD__, 'jetpack-13.4', 'Automattic\Jetpack\Forms\Service\Google_Drive_Helper->has_valid_connection' ); $site_id = Manager::get_site_id(); if ( is_wp_error( $site_id ) ) { return false; } if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) { // check for gdrive helper class, call synchronously on .com require_lib( 'google-sheets-helper' ); $user_id = (int) get_current_user_id(); $token = WPCOM_Google_Sheets_helper::get_google_drive_token_for_user_id( $user_id ); return ! is_wp_error( $token ) && ! $token->is_expired(); } $request_path = sprintf( '/sites/%d/google-drive/connection', $site_id ); $wpcom_request = Client::wpcom_json_api_request_as_user( $request_path, '2', array( 'method' => 'GET', 'headers' => array( 'content-type' => 'application/json', 'X-Forwarded-For' => ( new Visitor() )->get_ip( true ), ), ) ); $response_code = wp_remote_retrieve_response_code( $wpcom_request ); if ( 200 !== $response_code ) { return new WP_Error( 'failed_to_fetch_data', esc_html__( 'Unable to fetch the requested data.', 'jetpack' ), array( 'status' => $response_code ) ); } $result = json_decode( wp_remote_retrieve_body( $wpcom_request ), true ); return ! empty( $result ) && ! empty( $result['valid'] ); } /** * Creates a Google Spreadsheet and returns some of its meta * * @deprecated 13.4 Use Automattic\Jetpack\Forms\Service\Google_Drive_Helper->create_sheet * @param int $user_id The user ID. * @param string $title The spreadsheet title. * @param array $rows Array of arrays with values. * @return array|WP_Error */ public static function create_sheet( $user_id, $title, $rows = array() ) { _deprecated_function( __METHOD__, 'jetpack-13.4', 'Automattic\Jetpack\Forms\Service\Google_Drive_Helper->create_sheet' ); $site_id = Manager::get_site_id(); if ( is_wp_error( $site_id ) ) { return false; } if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) { // check for gdrive helper class, call synchronously on .com require_lib( 'google-sheets-helper' ); $helper = WPCOM_Google_Sheets_helper::create_for_user( $user_id ); if ( is_wp_error( $helper ) ) { return $helper; } $spreadsheet = $helper->create_spreadsheet( $title, $rows ); if ( is_wp_error( $spreadsheet ) ) { return $spreadsheet; } return array( // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase -- as is on google client 'sheet_link' => $spreadsheet->spreadsheetUrl, // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase -- as is on google client 'sheet_id' => $spreadsheet->spreadsheetId, ); } $request_path = sprintf( '/sites/%d/google-drive/sheets', $site_id ); $wpcom_request = Client::wpcom_json_api_request_as_user( $request_path, '2', array( 'method' => 'POST', 'headers' => array( 'content-type' => 'application/json', 'X-Forwarded-For' => ( new Visitor() )->get_ip( true ), ), ), array( 'title' => $title, 'rows' => $rows, ) ); $response_code = wp_remote_retrieve_response_code( $wpcom_request ); if ( 200 !== $response_code ) { return new WP_Error( 'failed_to_fetch_data', esc_html__( 'Unable to fetch the requested data.', 'jetpack' ), array( 'status' => $response_code ) ); } return json_decode( wp_remote_retrieve_body( $wpcom_request ), true ); } }