Code Duplication    Length = 27-27 lines in 2 locations

includes/class-wc-ajax.php 2 locations

@@ 3145-3171 (lines=27) @@
3142
	/**
3143
	 * Handle submissions from assets/js/wc-shipping-zone-methods.js Backbone model.
3144
	 */
3145
	public static function shipping_zone_add_method() {
3146
		if ( ! isset( $_POST['wc_shipping_zones_nonce'], $_POST['zone_id'], $_POST['method_id'] ) ) {
3147
			wp_send_json_error( 'missing_fields' );
3148
			exit;
3149
		}
3150
3151
		if ( ! wp_verify_nonce( $_POST['wc_shipping_zones_nonce'], 'wc_shipping_zones_nonce' ) ) {
3152
			wp_send_json_error( 'bad_nonce' );
3153
			exit;
3154
		}
3155
3156
		// Check User Caps
3157
		if ( ! current_user_can( 'manage_woocommerce' ) ) {
3158
			wp_send_json_error( 'missing_capabilities' );
3159
			exit;
3160
		}
3161
3162
		$zone_id     = absint( $_POST['zone_id'] );
3163
		$zone        = WC_Shipping_Zones::get_zone( $zone_id );
3164
		$instance_id = $zone->add_shipping_method( wc_clean( $_POST['method_id'] ) );
3165
3166
		wp_send_json_success( array(
3167
			'instance_id' => $instance_id,
3168
			'zone_id'     => $zone_id,
3169
			'methods'     => $zone->get_shipping_methods()
3170
		) );
3171
	}
3172
3173
	/**
3174
	 * Handle submissions from assets/js/wc-shipping-zone-methods.js Backbone model.
@@ 3233-3259 (lines=27) @@
3230
	/**
3231
	 * Save method settings
3232
	 */
3233
	public static function shipping_zone_methods_save_settings() {
3234
		if ( ! isset( $_POST['wc_shipping_zones_nonce'], $_POST['instance_id'], $_POST['data'] ) ) {
3235
			wp_send_json_error( 'missing_fields' );
3236
			exit;
3237
		}
3238
3239
		if ( ! wp_verify_nonce( $_POST['wc_shipping_zones_nonce'], 'wc_shipping_zones_nonce' ) ) {
3240
			wp_send_json_error( 'bad_nonce' );
3241
			exit;
3242
		}
3243
3244
		if ( ! current_user_can( 'manage_woocommerce' ) ) {
3245
			wp_send_json_error( 'missing_capabilities' );
3246
			exit;
3247
		}
3248
3249
		$instance_id     = absint( $_POST['instance_id'] );
3250
		$zone            = WC_Shipping_Zones::get_zone_by( 'instance_id', $instance_id );
3251
		$shipping_method = WC_Shipping_Zones::get_shipping_method( $instance_id );
3252
		$shipping_method->set_post_data( $_POST['data'] );
3253
		$shipping_method->process_admin_options();
3254
3255
		wp_send_json_success( array(
3256
			'methods' => $zone->get_shipping_methods(),
3257
			'errors'  => $shipping_method->get_errors(),
3258
		) );
3259
	}
3260
3261
	/**
3262
	 * Handle submissions from assets/js/wc-shipping-classes.js Backbone model.