| 1 |
<?php |
| 2 |
if ( ! defined( 'ABSPATH' ) ) { |
| 3 |
exit; // Exit if accessed directly |
| 4 |
} |
| 5 |
|
| 6 |
global $current_user, $wpdb; |
| 7 |
|
| 8 |
if ( |
| 9 |
check_ajax_referer('set_add_status', '_ajax_nonce', false) != 1 |
| 10 |
) wp_send_json_error('Unauthorised request!', 400); |
| 11 |
|
| 12 |
if (!($current_user->ID && $current_user->has_cap('manage_options'))) {exit;} |
| 13 |
|
| 14 |
$status_name = isset($_POST) && isset($_POST['status_name']) ? sanitize_text_field($_POST['status_name']) : ''; |
| 15 |
if (!$status_name) {exit;} |
| 16 |
|
| 17 |
$status_color = isset($_POST) && isset($_POST['status_color']) ? sanitize_text_field($_POST['status_color']) : ''; |
| 18 |
if (!$status_color) {exit;} |
| 19 |
|
| 20 |
$status_bg_color = isset($_POST) && isset($_POST['status_bg_color']) ? sanitize_text_field($_POST['status_bg_color']) : ''; |
| 21 |
if (!$status_bg_color) {exit;} |
| 22 |
|
| 23 |
if ($status_color==$status_bg_color) { |
| 24 |
echo '{ "sucess_status":"0","messege":"'.__('Status color and background color should not be same.','supportcandy').'" }'; |
| 25 |
die(); |
| 26 |
} |
| 27 |
|
| 28 |
$term = wp_insert_term( $status_name, 'wpsc_statuses' ); |
| 29 |
if (!is_wp_error($term) && isset($term['term_id'])) { |
| 30 |
$load_order = $wpdb->get_var("select max(meta_value) as load_order from {$wpdb->prefix}termmeta WHERE meta_key='wpsc_status_load_order'"); |
| 31 |
add_term_meta ($term['term_id'], 'wpsc_status_load_order', ++$load_order); |
| 32 |
add_term_meta ($term['term_id'], 'wpsc_status_color', $status_color); |
| 33 |
add_term_meta ($term['term_id'], 'wpsc_status_background_color', $status_bg_color); |
| 34 |
|
| 35 |
$wpsc_custom_status_localize = get_option('wpsc_custom_status_localize'); |
| 36 |
if(!$wpsc_custom_status_localize){ |
| 37 |
$wpsc_custom_status_localize = array(); |
| 38 |
} |
| 39 |
$wpsc_custom_status_localize['custom_status_'.$term['term_id']] = stripslashes($status_name); |
| 40 |
update_option('wpsc_custom_status_localize', $wpsc_custom_status_localize); |
| 41 |
|
| 42 |
do_action('wpsc_set_add_status',$term['term_id']); |
| 43 |
echo '{ "sucess_status":"1","messege":"'.__('Status added successfully.','supportcandy').'" }'; |
| 44 |
} else { |
| 45 |
echo '{ "sucess_status":"0","messege":"'.__('An error occured while creating status.','supportcandy').'" }'; |
| 46 |
} |
| 47 |
|