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