///////////////////////// ////////////////////////////////////////// //////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// add_action('wp_ajax_submit_ali_request', 'handle_ali_request_submission'); function handle_ali_request_submission() { if (!is_user_logged_in()) { wp_send_json_error(['message' => 'User not logged in']); } $user_id = get_current_user_id(); $email = wp_get_current_user()->user_email; $product_link = sanitize_text_field($_POST['product_link'] ?? ''); $product_name = sanitize_text_field($_POST['product_name'] ?? ''); $quantity = sanitize_text_field($_POST['quantity'] ?? ''); $phone = sanitize_text_field($_POST['phone'] ?? ''); $description = sanitize_textarea_field($_POST['description'] ?? ''); update_user_meta($user_id, 'ali_user_phone', $phone); $uploaded_files = []; $allowed_types = ['image/jpeg', 'image/png', 'application/pdf', 'text/csv', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']; $total_size = 0; if (!empty($_FILES['attachments'])) { $files = $_FILES['attachments']; for ($i = 0; $i < count($files['name']); $i++) { if ($i >= 3) break; $file_type = $files['type'][$i]; $file_size = $files['size'][$i]; $tmp_name = $files['tmp_name'][$i]; if (!in_array($file_type, $allowed_types)) continue; $total_size += $file_size; if ($total_size > 10 * 1024 * 1024) break; $upload = wp_upload_bits($files['name'][$i], null, file_get_contents($tmp_name)); if (!$upload['error']) { $uploaded_files[] = esc_url_raw($upload['url']); } } } // ✅ Add Request ID $request_id = 'SJN' . mt_rand(1000000000, 9999999999); global $wpdb; $wpdb->insert($wpdb->prefix . 'ali_requests', [ 'user_id' => $user_id, 'email' => $email, 'phone' => $phone, 'product_name' => $product_name, 'product_link' => $product_link, 'quantity' => $quantity, 'description' => $description, 'attachments' => maybe_serialize($uploaded_files), 'status' => 'pending', 'request_id' => $request_id, // ✅ Add this line 'created_at' => current_time('mysql'), ]); wp_send_json_success(['message' => 'Request submitted']); }