Code Duplication    Length = 40-41 lines in 2 locations

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

@@ 2788-2827 (lines=40) @@
2785
	 * }
2786
	 * @return true|IXR_Error True, if success.
2787
	 */
2788
	public function wp_deletePage( $args ) {
2789
		$this->escape( $args );
2790
2791
		$username = $args[1];
2792
		$password = $args[2];
2793
		$page_id  = (int) $args[3];
2794
2795
		if ( !$user = $this->login($username, $password) )
2796
			return $this->error;
2797
2798
		/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
2799
		do_action( 'xmlrpc_call', 'wp.deletePage' );
2800
2801
		// Get the current page based on the page_id and
2802
		// make sure it is a page and not a post.
2803
		$actual_page = get_post($page_id, ARRAY_A);
2804
		if ( !$actual_page || ($actual_page['post_type'] != 'page') )
2805
			return new IXR_Error( 404, __( 'Sorry, no such page.' ) );
2806
2807
		// Make sure the user can delete pages.
2808
		if ( !current_user_can('delete_page', $page_id) )
2809
			return new IXR_Error( 401, __( 'Sorry, you are not allowed to delete this page.' ) );
2810
2811
		// Attempt to delete the page.
2812
		$result = wp_delete_post($page_id);
2813
		if ( !$result )
2814
			return new IXR_Error( 500, __( 'Failed to delete the page.' ) );
2815
2816
		/**
2817
		 * Fires after a page has been successfully deleted via XML-RPC.
2818
		 *
2819
		 * @since 3.4.0
2820
		 *
2821
		 * @param int   $page_id ID of the deleted page.
2822
		 * @param array $args    An array of arguments to delete the page.
2823
		 */
2824
		do_action( 'xmlrpc_call_success_wp_deletePage', $page_id, $args );
2825
2826
		return true;
2827
	}
2828
2829
	/**
2830
	 * Edit page.
@@ 4743-4783 (lines=41) @@
4740
	 * }
4741
	 * @return true|IXR_Error True when post is deleted.
4742
	 */
4743
	public function blogger_deletePost( $args ) {
4744
		$this->escape( $args );
4745
4746
		$post_ID  = (int) $args[1];
4747
		$username = $args[2];
4748
		$password = $args[3];
4749
4750
		if ( !$user = $this->login($username, $password) )
4751
			return $this->error;
4752
4753
		/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
4754
		do_action( 'xmlrpc_call', 'blogger.deletePost' );
4755
4756
		$actual_post = get_post( $post_ID, ARRAY_A );
4757
4758
		if ( ! $actual_post || $actual_post['post_type'] != 'post' ) {
4759
			return new IXR_Error( 404, __( 'Sorry, no such post.' ) );
4760
		}
4761
4762
		if ( ! current_user_can( 'delete_post', $post_ID ) ) {
4763
			return new IXR_Error( 401, __( 'Sorry, you are not allowed to delete this post.' ) );
4764
		}
4765
4766
		$result = wp_delete_post( $post_ID );
4767
4768
		if ( ! $result ) {
4769
			return new IXR_Error( 500, __( 'The post cannot be deleted.' ) );
4770
		}
4771
4772
		/**
4773
		 * Fires after a post has been successfully deleted via the XML-RPC Blogger API.
4774
		 *
4775
		 * @since 3.4.0
4776
		 *
4777
		 * @param int   $post_ID ID of the deleted post.
4778
		 * @param array $args    An array of arguments to delete the post.
4779
		 */
4780
		do_action( 'xmlrpc_call_success_blogger_deletePost', $post_ID, $args );
4781
4782
		return true;
4783
	}
4784
4785
	/* MetaWeblog API functions
4786
	 * specs on wherever Dave Winer wants them to be