Code Duplication    Length = 36-38 lines in 2 locations

src/wp-includes/class-wp-xmlrpc-server.php 2 locations

@@ 2413-2450 (lines=38) @@
2410
	 * @return array|IXR_Error An associative array of taxonomy data with returned fields determined
2411
	 *                         by `$fields`, or an IXR_Error instance on failure.
2412
	 */
2413
	public function wp_getTaxonomies( $args ) {
2414
		if ( ! $this->minimum_args( $args, 3 ) )
2415
			return $this->error;
2416
2417
		$this->escape( $args );
2418
2419
		$username = $args[1];
2420
		$password = $args[2];
2421
		$filter   = isset( $args[3] ) ? $args[3] : array( 'public' => true );
2422
2423
		if ( isset( $args[4] ) ) {
2424
			$fields = $args[4];
2425
		} else {
2426
			/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
2427
			$fields = apply_filters( 'xmlrpc_default_taxonomy_fields', array( 'labels', 'cap', 'object_type' ), 'wp.getTaxonomies' );
2428
		}
2429
2430
		if ( ! $user = $this->login( $username, $password ) )
2431
			return $this->error;
2432
2433
		/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
2434
		do_action( 'xmlrpc_call', 'wp.getTaxonomies' );
2435
2436
		$taxonomies = get_taxonomies( $filter, 'objects' );
2437
2438
		// holds all the taxonomy data
2439
		$struct = array();
2440
2441
		foreach ( $taxonomies as $taxonomy ) {
2442
			// capability check for post_types
2443
			if ( ! current_user_can( $taxonomy->cap->assign_terms ) )
2444
				continue;
2445
2446
			$struct[] = $this->_prepare_taxonomy( $taxonomy, $fields );
2447
		}
2448
2449
		return $struct;
2450
	}
2451
2452
	/**
2453
	 * Retrieve a user.
@@ 4241-4276 (lines=36) @@
4238
	 * }
4239
	 * @return array|IXR_Error
4240
	 */
4241
	public function wp_getPostTypes( $args ) {
4242
		if ( ! $this->minimum_args( $args, 3 ) )
4243
			return $this->error;
4244
4245
		$this->escape( $args );
4246
4247
		$username = $args[1];
4248
		$password = $args[2];
4249
		$filter   = isset( $args[3] ) ? $args[3] : array( 'public' => true );
4250
4251
		if ( isset( $args[4] ) ) {
4252
			$fields = $args[4];
4253
		} else {
4254
			/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
4255
			$fields = apply_filters( 'xmlrpc_default_posttype_fields', array( 'labels', 'cap', 'taxonomies' ), 'wp.getPostTypes' );
4256
		}
4257
4258
		if ( ! $user = $this->login( $username, $password ) )
4259
			return $this->error;
4260
4261
		/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
4262
		do_action( 'xmlrpc_call', 'wp.getPostTypes' );
4263
4264
		$post_types = get_post_types( $filter, 'objects' );
4265
4266
		$struct = array();
4267
4268
		foreach ( $post_types as $post_type ) {
4269
			if ( ! current_user_can( $post_type->cap->edit_posts ) )
4270
				continue;
4271
4272
			$struct[$post_type->name] = $this->_prepare_post_type( $post_type, $fields );
4273
		}
4274
4275
		return $struct;
4276
	}
4277
4278
	/**
4279
	 * Retrieve revisions for a specific post.