BSF_Analytics_Helper
BSF analytics stat class.
Description
Source
File: admin/bsf-analytics/classes/class-bsf-analytics-helper.php
class BSF_Analytics_Helper { /** * Check is error in the received response. * * @param object $response Received API Response. * @return array $result Error result. */ public static function is_api_error( $response ) { $result = array( 'error' => false, 'error_message' => __( 'Oops! Something went wrong. Please refresh the page and try again.', 'astra-addon' ), 'error_code' => 0, ); if ( is_wp_error( $response ) ) { $result['error'] = true; $result['error_message'] = $response->get_error_message(); $result['error_code'] = $response->get_error_code(); } elseif ( ! empty( wp_remote_retrieve_response_code( $response ) ) && ! in_array( wp_remote_retrieve_response_code( $response ), array( 200, 201, 204 ), true ) ) { $result['error'] = true; $result['error_message'] = wp_remote_retrieve_response_message( $response ); $result['error_code'] = wp_remote_retrieve_response_code( $response ); } return $result; } /** * Get API headers * * @since 1.1.6 * @return array<string, string> */ public static function get_api_headers() { return array( 'Content-Type' => 'application/json', 'Accept' => 'application/json', ); } /** * Get API URL for sending analytics. * * @return string API URL. * @since 1.0.0 */ public static function get_api_url() { return defined( 'BSF_ANALYTICS_API_BASE_URL' ) ? BSF_ANALYTICS_API_BASE_URL : 'https://analytics.brainstormforce.com/'; } /** * Check if the current screen is allowed for the survey. * * This function checks if the current screen is one of the allowed screens for displaying the survey. * It uses the `get_current_screen` function to get the current screen information and compares it with the list of allowed screens. * * @since 1.1.6 * @return bool True if the current screen is allowed, false otherwise. */ public static function is_allowed_screen() { // This filter allows to dynamically modify the list of allowed screens for the survey. $allowed_screens = apply_filters( 'uds_survey_allowed_screens', array( 'plugins' ) ); $current_screen = get_current_screen(); // Check if $current_screen is a valid object before accessing its properties. if ( ! is_object( $current_screen ) ) { return false; // Return false if current screen is not valid. } $screen_id = $current_screen->id; if ( ! empty( $screen_id ) && in_array( $screen_id, $allowed_screens, true ) ) { return true; } return false; } }
Expand full source code Collapse full source code View on Trac
Methods
- get_api_headers — Get API headers
- get_api_url — Get API URL for sending analytics.
- is_allowed_screen — Check if the current screen is allowed for the survey.
- is_api_error — Check is error in the received response.