|
@@ 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. |