additional_config(); ?>

💰

additional_service($additional_services, true); ?>

💰

additional_service($additional_services); ?>
0) { foreach ($services as $key => $service) { $this->service_item($key, $service); } } ?>
*
service_item(); ?>
__('Invalid security token or Insufficient permissions.', 'abp-event-ticket'), 'type' => 'warn'], 403); } $additional_services = $this->get_additional_array(); update_option('abpet_additional', $additional_services); ob_start(); $this->additional_config(); $html = ob_get_clean(); wp_send_json_success([ 'html' => $html, 'msg' => __('Additional services Configuration Saved Successfully ..... !!', 'abp-event-ticket'), 'type' => 'success' ]); } public function get_additional_array(array $additional_services = []): array { $has_post_nonce = isset($_POST['abpet_post_nonce']) && wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['abpet_post_nonce'])), 'abpet_post_nonce'); $has_ajax_nonce = check_ajax_referer('abpet_admin_ajax_nonce', 'nonce', false); if (($has_post_nonce || $has_ajax_nonce) && current_user_can('manage_options')) { $post_array = fn($key) => (isset($_POST[$key]) && is_array($_POST[$key])) ? array_map('sanitize_text_field', wp_unslash($_POST[$key])) : []; $post_textarea_array = fn($key) => (isset($_POST[$key]) && is_array($_POST[$key])) ? array_map('sanitize_textarea_field', wp_unslash($_POST[$key])) : []; $additional_ids = $post_array('additional_id'); $icon = $post_array('additional_icon'); $names = $post_array('additional_name'); $qty = $post_array('additional_qty'); $max_qty = $post_array('additional_max_qty'); $returnable = $post_array('additional_returnable'); $price = $post_array('additional_price'); $description = $post_textarea_array('additional_description'); if (!empty($names)) { foreach ($names as $key => $name) { if (!empty($name)) { $id = $additional_ids[$key] ?? ''; $id = empty($id) ?uniqid():$id; $additional_services[$id] = [ 'icon' => $icon[$key] ?? '', 'name' => $name, 'qty' => $qty[$key] ?? '', 'max_qty' => $max_qty[$key] ?? '', 'price' => $price[$key] ?? '', 'returnable' => $returnable[$key] ?? '', 'description' => $description[$key] ?? '', ]; } } } } return $additional_services; } public function import_additional_content(): void { if (!check_ajax_referer('abpet_admin_ajax_nonce', 'nonce', false) || !current_user_can('manage_options')) { wp_send_json_error(['msg' => __('Invalid security token or Insufficient permissions.', 'abp-event-ticket'), 'type' => 'warn'], 403); } $additional_services = ABPET_Function::get_option('abpet_additional', ABPET_Static::additional()); $additional_services = is_array($additional_services) ? $additional_services : []; ob_start(); $this->additional_service($additional_services); $html_content = ob_get_clean(); wp_send_json_success(['html' => $html_content, 'msg' => __('Additional services Imported Successfully ..... !! ', 'abp-event-ticket'), 'type' => 'success']); } } new ABPET_Additional(); }