Automattic\WooCommerce\Admin\API

OnboardingPlugins::get_jetpack_authorization_urlpublicWC 1.0

Return Jetpack authorization URL.

Method of the class: OnboardingPlugins{}

No Hooks.

Returns

Array.

Usage

$OnboardingPlugins = new OnboardingPlugins();
$OnboardingPlugins->get_jetpack_authorization_url( $request );
$request(WP_REST_Request) (required)
WP_REST_Request object.

OnboardingPlugins::get_jetpack_authorization_url() code WC 9.8.5

public function get_jetpack_authorization_url( WP_REST_Request $request ) {
	$manager = new Manager( 'woocommerce' );
	$errors  = new WP_Error();

	// Register the site to wp.com.
	if ( ! $manager->is_connected() ) {
		$result = $manager->try_registration();
		if ( is_wp_error( $result ) ) {
			$errors->add( $result->get_error_code(), $result->get_error_message() );
		}
	}

	$redirect_url = $request->get_param( 'redirect_url' );
	$calypso_env  = defined( 'WOOCOMMERCE_CALYPSO_ENVIRONMENT' ) && in_array( WOOCOMMERCE_CALYPSO_ENVIRONMENT, array( 'development', 'wpcalypso', 'horizon', 'stage' ), true ) ? WOOCOMMERCE_CALYPSO_ENVIRONMENT : 'production';

	$authorization_url = $manager->get_authorization_url( null, $redirect_url );
	$authorization_url = add_query_arg( 'locale', $this->get_wpcom_locale(), $authorization_url );

	if ( Features::is_enabled( 'use-wp-horizon' ) ) {
		$calypso_env = 'horizon';
	}

	$color_scheme = get_user_option( 'admin_color', get_current_user_id() );
	if ( ! $color_scheme ) {
		$color_scheme = 'default';
	}

	return array(
		'success'      => ! $errors->has_errors(),
		'errors'       => $errors->get_error_messages(),
		'color_scheme' => 'fresh' === $color_scheme ? 'default' : $color_scheme,
		'url'          => add_query_arg(
			array(
				'from'        => $request->get_param( 'from' ),
				'calypso_env' => $calypso_env,
			),
			$authorization_url,
		),
	);
}