| @@ 305-326 (lines=22) @@ | ||
| 302 | * |
|
| 303 | * @return array|WP_Error |
|
| 304 | */ |
|
| 305 | public function parse_site_info_response( $service_response ) { |
|
| 306 | ||
| 307 | /** |
|
| 308 | * If the service returned an error, we pass it on. |
|
| 309 | */ |
|
| 310 | if ( is_wp_error( $service_response ) ) { |
|
| 311 | return $service_response; |
|
| 312 | } |
|
| 313 | ||
| 314 | /** |
|
| 315 | * Check if the service returned proper site information. |
|
| 316 | */ |
|
| 317 | if ( ! isset( $service_response->ID ) ) { |
|
| 318 | return new WP_Error( |
|
| 319 | 'no_site_info', |
|
| 320 | __( 'Invalid site information returned from remote.', 'jetpack' ), |
|
| 321 | 'No site ID present in the response.' |
|
| 322 | ); |
|
| 323 | } |
|
| 324 | ||
| 325 | return $service_response; |
|
| 326 | } |
|
| 327 | ||
| 328 | /** |
|
| 329 | * Fetch list of posts from the WordPress public API. |
|
| @@ 366-391 (lines=26) @@ | ||
| 363 | * |
|
| 364 | * @return array|WP_Error |
|
| 365 | */ |
|
| 366 | public function parse_posts_response( $service_response ) { |
|
| 367 | ||
| 368 | /** |
|
| 369 | * If the service returned an error, we pass it on. |
|
| 370 | */ |
|
| 371 | if ( is_wp_error( $service_response ) ) { |
|
| 372 | return $service_response; |
|
| 373 | } |
|
| 374 | ||
| 375 | /** |
|
| 376 | * Check if the service returned proper posts array. |
|
| 377 | */ |
|
| 378 | if ( ! isset( $service_response->posts ) || ! is_array( $service_response->posts ) ) { |
|
| 379 | return new WP_Error( |
|
| 380 | 'no_posts', |
|
| 381 | __( 'No posts data returned by remote.', 'jetpack' ), |
|
| 382 | 'No posts information set in the returned data.' |
|
| 383 | ); |
|
| 384 | } |
|
| 385 | ||
| 386 | /** |
|
| 387 | * Format the posts to preserve storage space. |
|
| 388 | */ |
|
| 389 | ||
| 390 | return $this->format_posts_for_storage( $service_response ); |
|
| 391 | } |
|
| 392 | ||
| 393 | /** |
|
| 394 | * Format the posts for better storage. Drop all the data that is not used. |
|