/** * Adds EE metadata to the index * @param WP_REST_Response $rest_response_obj * @return WP_REST_Response */ public static function filter_ee_metadata_into_index($rest_response_obj) { $response_data = $rest_response_obj->get_data(); $addons = array(); foreach (\EE_Registry::instance()->addons as $addon) { $addon_json = array('name' => $addon->name(), 'version' => $addon->version()); $addons[$addon_json['name']] = $addon_json; } $response_data['ee'] = array('version' => \EEM_System_Status::instance()->get_ee_version(), 'addons' => $addons, 'maintenance_mode' => \EE_Maintenance_Mode::instance()->real_level(), 'served_core_versions' => array_keys(\EED_Core_Rest_Api::versions_served())); $rest_response_obj->set_data($response_data); return $rest_response_obj; }
/** * Adds EE metadata to the index * @param \WP_REST_Response $rest_response_obj * @return \WP_REST_Response */ public static function filter_ee_metadata_into_index(\WP_REST_Response $rest_response_obj) { $response_data = $rest_response_obj->get_data(); $addons = array(); foreach (\EE_Registry::instance()->addons as $addon) { $addon_json = array('name' => $addon->name(), 'version' => $addon->version()); $addons[$addon_json['name']] = $addon_json; } $response_data['ee'] = array('version' => \EEM_System_Status::instance()->get_ee_version(), 'documentation_url' => 'https://github.com/eventespresso/event-espresso-core/tree/master/docs/C--REST-API', 'addons' => $addons, 'maintenance_mode' => \EE_Maintenance_Mode::instance()->real_level(), 'served_core_versions' => array_keys(\EED_Core_Rest_Api::versions_served())); $rest_response_obj->set_data($response_data); return $rest_response_obj; }
/** * Converts a response to data to send. * * @since 4.4.0 * @access public * * @param WP_REST_Response $response Response object. * @param bool $embed Whether links should be embedded. * @return array { * Data with sub-requests embedded. * * @type array [$_links] Links. * @type array [$_embedded] Embeddeds. * } */ public function response_to_data($response, $embed) { $data = $response->get_data(); $links = $this->get_compact_response_links($response); if (!empty($links)) { // Convert links to part of the data. $data['_links'] = $links; } if ($embed) { // Determine if this is a numeric array. if (wp_is_numeric_array($data)) { $data = array_map(array($this, 'embed_links'), $data); } else { $data = $this->embed_links($data); } } return $data; }
/** * Prepare a response for inserting into a collection. * * @param WP_REST_Response $response Response object. * @return array Response data, ready for insertion into collection data. */ public function prepare_response_for_collection($response) { if (!$response instanceof WP_REST_Response) { return $response; } $data = (array) $response->get_data(); $links = WP_REST_Server::get_response_links($response); if (!empty($links)) { $data['_links'] = $links; } return $data; }
/** * Convert a response to data to send * * @param WP_REST_Response $response Response object * @param boolean $embed Should we embed links? * @return array */ public function response_to_data($response, $embed) { $data = $this->prepare_response($response->get_data()); $links = $this->get_response_links($response); if (!empty($links)) { // Convert links to part of the data $data['_links'] = $links; } if ($embed) { // Is this a numeric array? if (rest_is_list($data)) { $data = array_map(array($this, 'embed_links'), $data); } else { $data = $this->embed_links($data); } } return $data; }
/** * Check response data. * * @since 4.4.0 * * @param array $data * @param WP_REST_Response $response */ protected function assertResponseData($data, $response) { $response_data = $response->get_data(); $tested_data = array(); foreach ($data as $key => $value) { if (isset($response_data[$key])) { $tested_data[$key] = $response_data[$key]; } else { $tested_data[$key] = null; } } $this->assertEquals($data, $tested_data); }
/** * Prepare a response for inserting into a collection. * * @param WP_REST_Response $response Response object. * @return array Response data, ready for insertion into collection data. */ public function prepare_response_for_collection($response) { if (!$response instanceof WP_REST_Response) { return $response; } $data = (array) $response->get_data(); $server = rest_get_server(); if (method_exists($server, 'get_compact_response_links')) { $links = call_user_func(array($server, 'get_compact_response_links'), $response); } else { $links = call_user_func(array($server, 'get_response_links'), $response); } if (!empty($links)) { $data['_links'] = $links; } return $data; }