You appear to be a bot. Output may be restricted
Description
Listens for the API and then processes the API requests
Usage
$void = EDD_API::process_query();
Parameters
Returns
void
Source
File name: easy-digital-downloads/includes/api/class-edd-api.php
Lines:
1 to 100 of 120
public function process_query() { global $wp_query; // Start logging how long the request takes for logging $before = microtime( true ); // Check for edd-api var. Get out if not present if ( empty( $wp_query->query_vars['edd-api'] ) ) { return; } // Determine which version was queried $this->set_queried_version(); // Determine the kind of query $this->set_query_mode(); // Check for a valid user and set errors if necessary $this->validate_request(); // Only proceed if no errors have been noted if( ! $this->is_valid_request ) { return; } if( ! defined( 'EDD_DOING_API' ) ) { define( 'EDD_DOING_API', true ); } $data = array(); $this->routes = new $this->versions[ $this->get_queried_version() ]; $this->routes->validate_request(); switch( $this->endpoint ) : case 'stats' : $data = $this->routes->get_stats( array( 'type' => isset( $wp_query->query_vars['type'] ) ? $wp_query->query_vars['type'] : null, 'product' => isset( $wp_query->query_vars['product'] ) ? $wp_query->query_vars['product'] : null, 'date' => isset( $wp_query->query_vars['date'] ) ? $wp_query->query_vars['date'] : null, 'startdate' => isset( $wp_query->query_vars['startdate'] ) ? $wp_query->query_vars['startdate'] : null, 'enddate' => isset( $wp_query->query_vars['enddate'] ) ? $wp_query->query_vars['enddate'] : null, ) ); break; case 'products' : $args = array( 'product' => isset( $wp_query->query_vars['product'] ) ? absint( $wp_query->query_vars['product'] ) : null, 'category' => isset( $wp_query->query_vars['category'] ) ? $this->sanitize_request_term( $wp_query->query_vars['category'] ) : null, 'tag' => isset( $wp_query->query_vars['tag'] ) ? $this->sanitize_request_term( $wp_query->query_vars['tag'] ) : null, 'term_relation' => isset( $wp_query->query_vars['term_relation'] ) ? $this->sanitize_request_term( $wp_query->query_vars['term_relation'] ) : null, 's' => isset( $wp_query->query_vars['s'] ) ? sanitize_text_field( $wp_query->query_vars['s'] ) : null, 'order' => isset( $wp_query->query_vars['order'] ) ? $wp_query->query_vars['order'] : 'DESC', 'orderby' => isset( $wp_query->query_vars['orderby'] ) ? $wp_query->query_vars['orderby'] : 'date', ); $data = $this->routes->get_products( $args ); break; case 'customers' : $args = array( 'customer' => isset( $wp_query->query_vars['customer'] ) ? $wp_query->query_vars['customer'] : null, 'date' => isset( $wp_query->query_vars['date'] ) ? $wp_query->query_vars['date'] : null, 'startdate' => isset( $wp_query->query_vars['startdate'] ) ? $wp_query->query_vars['startdate'] : null, 'enddate' => isset( $wp_query->query_vars['enddate'] ) ? $wp_query->query_vars['enddate'] : null, ); $data = $this->routes->get_customers( $args ); break; case 'sales' : $data = $this->routes->get_recent_sales(); break; case 'discounts' : $discount = isset( $wp_query->query_vars['discount'] ) ? $wp_query->query_vars['discount'] : null; $data = $this->routes->get_discounts( $discount ); break; case 'file-download-logs' : $customer = isset( $wp_query->query_vars['customer'] ) ? $wp_query->query_vars['customer'] : null; $data = $this->get_download_logs( $customer ); break; case 'info' :