Code Duplication    Length = 24-24 lines in 2 locations

src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php 2 locations

@@ 787-810 (lines=24) @@
784
		} else {
785
786
			// Handle saving menu items for menus that are being newly-created.
787
			if ( $value['nav_menu_term_id'] < 0 ) {
788
				$nav_menu_setting_id = sprintf( 'nav_menu[%s]', $value['nav_menu_term_id'] );
789
				$nav_menu_setting    = $this->manager->get_setting( $nav_menu_setting_id );
790
791
				if ( ! $nav_menu_setting || ! ( $nav_menu_setting instanceof WP_Customize_Nav_Menu_Setting ) ) {
792
					$this->update_status = 'error';
793
					$this->update_error  = new WP_Error( 'unexpected_nav_menu_setting' );
794
					return;
795
				}
796
797
				if ( false === $nav_menu_setting->save() ) {
798
					$this->update_status = 'error';
799
					$this->update_error  = new WP_Error( 'nav_menu_setting_failure' );
800
					return;
801
				}
802
803
				if ( $nav_menu_setting->previous_term_id !== intval( $value['nav_menu_term_id'] ) ) {
804
					$this->update_status = 'error';
805
					$this->update_error  = new WP_Error( 'unexpected_previous_term_id' );
806
					return;
807
				}
808
809
				$value['nav_menu_term_id'] = $nav_menu_setting->term_id;
810
			}
811
812
			// Handle saving a nav menu item that is a child of a nav menu item being newly-created.
813
			if ( $value['menu_item_parent'] < 0 ) {
@@ 813-836 (lines=24) @@
810
			}
811
812
			// Handle saving a nav menu item that is a child of a nav menu item being newly-created.
813
			if ( $value['menu_item_parent'] < 0 ) {
814
				$parent_nav_menu_item_setting_id = sprintf( 'nav_menu_item[%s]', $value['menu_item_parent'] );
815
				$parent_nav_menu_item_setting    = $this->manager->get_setting( $parent_nav_menu_item_setting_id );
816
817
				if ( ! $parent_nav_menu_item_setting || ! ( $parent_nav_menu_item_setting instanceof WP_Customize_Nav_Menu_Item_Setting ) ) {
818
					$this->update_status = 'error';
819
					$this->update_error  = new WP_Error( 'unexpected_nav_menu_item_setting' );
820
					return;
821
				}
822
823
				if ( false === $parent_nav_menu_item_setting->save() ) {
824
					$this->update_status = 'error';
825
					$this->update_error  = new WP_Error( 'nav_menu_item_setting_failure' );
826
					return;
827
				}
828
829
				if ( $parent_nav_menu_item_setting->previous_post_id !== intval( $value['menu_item_parent'] ) ) {
830
					$this->update_status = 'error';
831
					$this->update_error  = new WP_Error( 'unexpected_previous_post_id' );
832
					return;
833
				}
834
835
				$value['menu_item_parent'] = $parent_nav_menu_item_setting->post_id;
836
			}
837
838
			// Insert or update menu.
839
			$menu_item_data = array(