Code Duplication    Length = 12-14 lines in 2 locations

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

@@ 5025-5036 (lines=12) @@
5022
5023
		// If an author id was provided then use it instead.
5024
		if ( isset( $content_struct['wp_author_id'] ) && ( $user->ID != $content_struct['wp_author_id'] ) ) {
5025
			switch ( $post_type ) {
5026
				case "post":
5027
					if ( !current_user_can( 'edit_others_posts' ) )
5028
						return new IXR_Error( 401, __( 'Sorry, you are not allowed to create posts as this user.' ) );
5029
					break;
5030
				case "page":
5031
					if ( !current_user_can( 'edit_others_pages' ) )
5032
						return new IXR_Error( 401, __( 'Sorry, you are not allowed to create pages as this user.' ) );
5033
					break;
5034
				default:
5035
					return new IXR_Error( 401, __( 'Invalid post type.' ) );
5036
			}
5037
			$author = get_userdata( $content_struct['wp_author_id'] );
5038
			if ( ! $author )
5039
				return new IXR_Error( 404, __( 'Invalid author ID.' ) );
@@ 5365-5378 (lines=14) @@
5362
		if ( isset( $content_struct['wp_author_id'] ) ) {
5363
			// Check permissions if attempting to switch author to or from another user.
5364
			if ( $user->ID != $content_struct['wp_author_id'] || $user->ID != $post_author ) {
5365
				switch ( $post_type ) {
5366
					case 'post':
5367
						if ( ! current_user_can( 'edit_others_posts' ) ) {
5368
							return new IXR_Error( 401, __( 'Sorry, you are not allowed to change the post author as this user.' ) );
5369
						}
5370
						break;
5371
					case 'page':
5372
						if ( ! current_user_can( 'edit_others_pages' ) ) {
5373
							return new IXR_Error( 401, __( 'Sorry, you are not allowed to change the page author as this user.' ) );
5374
						}
5375
						break;
5376
					default:
5377
						return new IXR_Error( 401, __( 'Invalid post type.' ) );
5378
				}
5379
				$post_author = $content_struct['wp_author_id'];
5380
			}
5381
		}