WC_REST_WCCOM_Site_Installer_Controller::check_permission( WP_REST_Request $request )

Check permissions.


Description Description


Parameters Parameters

$request

(Required) Full details about the request.


Top ↑

Return Return

(bool|WP_Error)


Top ↑

Source Source

File: includes/wccom-site/rest-api/endpoints/class-wc-rest-wccom-site-installer-controller.php

	public function check_permission( $request ) {
		$current_user = wp_get_current_user();

		if ( empty( $current_user ) || ( $current_user instanceof WP_User && ! $current_user->exists() ) ) {
			return apply_filters(
				WC_WCCOM_Site::AUTH_ERROR_FILTER_NAME,
				new WP_Error(
					WC_REST_WCCOM_Site_Installer_Errors::NOT_AUTHENTICATED_CODE,
					WC_REST_WCCOM_Site_Installer_Errors::NOT_AUTHENTICATED_MESSAGE,
					array( 'status' => WC_REST_WCCOM_Site_Installer_Errors::NOT_AUTHENTICATED_HTTP_CODE )
				)
			);
		}

		if ( ! user_can( $current_user, 'install_plugins' ) || ! user_can( $current_user, 'install_themes' ) ) {
			return new WP_Error(
				WC_REST_WCCOM_Site_Installer_Errors::NO_PERMISSION_CODE,
				WC_REST_WCCOM_Site_Installer_Errors::NO_PERMISSION_MESSAGE,
				array( 'status' => WC_REST_WCCOM_Site_Installer_Errors::NO_PERMISSION_HTTP_CODE )
			);
		}

		return true;
	}

Top ↑

Changelog Changelog

Changelog
Version Description
3.7.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.