|
@@ 2353-2392 (lines=40) @@
|
| 2350 |
|
* } |
| 2351 |
|
* @return array|IXR_Error An array of taxonomy data on success, IXR_Error instance otherwise. |
| 2352 |
|
*/ |
| 2353 |
|
public function wp_getTaxonomy( $args ) { |
| 2354 |
|
if ( ! $this->minimum_args( $args, 4 ) ) |
| 2355 |
|
return $this->error; |
| 2356 |
|
|
| 2357 |
|
$this->escape( $args ); |
| 2358 |
|
|
| 2359 |
|
$username = $args[1]; |
| 2360 |
|
$password = $args[2]; |
| 2361 |
|
$taxonomy = $args[3]; |
| 2362 |
|
|
| 2363 |
|
if ( isset( $args[4] ) ) { |
| 2364 |
|
$fields = $args[4]; |
| 2365 |
|
} else { |
| 2366 |
|
/** |
| 2367 |
|
* Filters the taxonomy query fields used by the given XML-RPC method. |
| 2368 |
|
* |
| 2369 |
|
* @since 3.4.0 |
| 2370 |
|
* |
| 2371 |
|
* @param array $fields An array of taxonomy fields to retrieve. |
| 2372 |
|
* @param string $method The method name. |
| 2373 |
|
*/ |
| 2374 |
|
$fields = apply_filters( 'xmlrpc_default_taxonomy_fields', array( 'labels', 'cap', 'object_type' ), 'wp.getTaxonomy' ); |
| 2375 |
|
} |
| 2376 |
|
|
| 2377 |
|
if ( ! $user = $this->login( $username, $password ) ) |
| 2378 |
|
return $this->error; |
| 2379 |
|
|
| 2380 |
|
/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */ |
| 2381 |
|
do_action( 'xmlrpc_call', 'wp.getTaxonomy' ); |
| 2382 |
|
|
| 2383 |
|
if ( ! taxonomy_exists( $taxonomy ) ) |
| 2384 |
|
return new IXR_Error( 403, __( 'Invalid taxonomy.' ) ); |
| 2385 |
|
|
| 2386 |
|
$taxonomy = get_taxonomy( $taxonomy ); |
| 2387 |
|
|
| 2388 |
|
if ( ! current_user_can( $taxonomy->cap->assign_terms ) ) |
| 2389 |
|
return new IXR_Error( 401, __( 'Sorry, you are not allowed to assign terms in this taxonomy.' ) ); |
| 2390 |
|
|
| 2391 |
|
return $this->_prepare_taxonomy( $taxonomy, $fields ); |
| 2392 |
|
} |
| 2393 |
|
|
| 2394 |
|
/** |
| 2395 |
|
* Retrieve all taxonomies. |
|
@@ 4182-4221 (lines=40) @@
|
| 4179 |
|
* - 'taxonomies' |
| 4180 |
|
* - 'supports' |
| 4181 |
|
*/ |
| 4182 |
|
public function wp_getPostType( $args ) { |
| 4183 |
|
if ( ! $this->minimum_args( $args, 4 ) ) |
| 4184 |
|
return $this->error; |
| 4185 |
|
|
| 4186 |
|
$this->escape( $args ); |
| 4187 |
|
|
| 4188 |
|
$username = $args[1]; |
| 4189 |
|
$password = $args[2]; |
| 4190 |
|
$post_type_name = $args[3]; |
| 4191 |
|
|
| 4192 |
|
if ( isset( $args[4] ) ) { |
| 4193 |
|
$fields = $args[4]; |
| 4194 |
|
} else { |
| 4195 |
|
/** |
| 4196 |
|
* Filters the default query fields used by the given XML-RPC method. |
| 4197 |
|
* |
| 4198 |
|
* @since 3.4.0 |
| 4199 |
|
* |
| 4200 |
|
* @param array $fields An array of post type query fields for the given method. |
| 4201 |
|
* @param string $method The method name. |
| 4202 |
|
*/ |
| 4203 |
|
$fields = apply_filters( 'xmlrpc_default_posttype_fields', array( 'labels', 'cap', 'taxonomies' ), 'wp.getPostType' ); |
| 4204 |
|
} |
| 4205 |
|
|
| 4206 |
|
if ( !$user = $this->login( $username, $password ) ) |
| 4207 |
|
return $this->error; |
| 4208 |
|
|
| 4209 |
|
/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */ |
| 4210 |
|
do_action( 'xmlrpc_call', 'wp.getPostType' ); |
| 4211 |
|
|
| 4212 |
|
if ( ! post_type_exists( $post_type_name ) ) |
| 4213 |
|
return new IXR_Error( 403, __( 'Invalid post type.' ) ); |
| 4214 |
|
|
| 4215 |
|
$post_type = get_post_type_object( $post_type_name ); |
| 4216 |
|
|
| 4217 |
|
if ( ! current_user_can( $post_type->cap->edit_posts ) ) |
| 4218 |
|
return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit posts in this post type.' ) ); |
| 4219 |
|
|
| 4220 |
|
return $this->_prepare_post_type( $post_type, $fields ); |
| 4221 |
|
} |
| 4222 |
|
|
| 4223 |
|
/** |
| 4224 |
|
* Retrieves a post types |