blog_id = $blog_id; // if blog_id is set and scope is not global, limit to that blog. $this->user_id = $user_id; $this->client_id = $client_id; $this->scope = $scope; $this->external_user_id = $external_user_id; $this->external_user_code = $external_user_code; $this->auth_type = $auth_type; } /** * Checks if the scope is 'global'. * * @return bool */ public function is_global() { return $this->scope === 'global'; } /** * This function is used to create a SAL_Token instance with only a user id, if a token doesn't already exist. * * @return SAL_Token */ public static function for_anonymous_user() { return new SAL_Token( null, get_current_user_id(), null, // there's only ever one scope in our current API implementation, auth or global. null, null, null, null ); } /** * If a user token exists, the information is used to construct a SAL_Token with the correct parameters. * * @param array $token An array of details relevant to the connected user (may be empty). * * @return SAL_Token */ public static function from_rest_token( $token ) { $user_id = isset( $token['user_id'] ) ? $token['user_id'] : get_current_user_id(); $scope = isset( $token['scope'][0] ) ? $token['scope'][0] : null; $client_id = isset( $token['client_id'] ) ? $token['client_id'] : null; $external_user_id = isset( $token['external_user_id'] ) ? $token['external_user_id'] : null; $external_user_code = isset( $token['external_user_code'] ) ? $token['external_user_code'] : null; $auth = isset( $token['auth'] ) ? $token['auth'] : null; $blog_id = isset( $token['blog_id'] ) ? $token['blog_id'] : null; return new SAL_Token( $blog_id, $user_id, $scope, // there's only ever one scope in our current API implementation, auth or global. $client_id, $external_user_id, $external_user_code, $auth ); } }