コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
ファイル: Meta.php プロジェクト: aaronfrey/PepperLillie-GSP
 /**
  * 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;
 }
コード例 #3
0
 /**
  * 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;
 }
コード例 #4
0
 /**
  * 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;
 }
コード例 #5
0
 /**
  * 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;
 }
コード例 #6
0
 /**
  * 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);
 }
コード例 #7
-3
 /**
  * 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;
 }