💰

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.', 'abp-rentalforge')], 403); } if (!current_user_can('manage_options')) { wp_send_json_error(['msg' => __('Insufficient permissions.', 'abp-rentalforge')], 403); } $additional_services = $this->get_additional_array(); update_option('abprf_additional', $additional_services); wp_send_json_success(['msg' => __('Additional services Configuration Saved Successfully ..... !! ', 'abp-rentalforge')]); } public function get_additional_array(array $additional_services = []): array { $has_post_nonce = isset($_POST['abprf_post_nonce']) && wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['abprf_post_nonce'])), 'abprf_post_nonce'); $has_ajax_nonce = check_ajax_referer('abprf_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'); $name = $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($additional_ids)) { foreach ($additional_ids as $key => $additional_id) { $service_name = $name[$key] ?? ''; if (!empty($service_name)) { $final_id = isset($additional_services[$additional_id]) ? uniqid() : $additional_id; $additional_services[$final_id] = [ 'icon' => $icon[$key] ?? '', 'name' => $service_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(): void { if (!check_ajax_referer('abprf_admin_ajax_nonce', 'nonce', false)) { wp_send_json_error(['html' => '', 'msg' => __('Invalid security token.', 'abp-rentalforge')], 403); } if (!current_user_can('manage_options')) { wp_send_json_error(['html' => '', 'msg' => __('Insufficient permissions.', 'abp-rentalforge')], 403); } $additional_services = ABPRF_Function::get_option('abprf_additional', ABPRF_Static::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 ImportedSuccessfully ..... !! ', 'abp-rentalforge')]); } } new ABPRF_Additional(); }