WP Manifestindependent plugin directory
manifest / ecommerce / awooc-product-options

AWOOC Product Options WP Registry grade C-. High-severity findings · 1 findingWP RegistryHigh-severity findings · 1 findingOpen the reportC-

Дополнение к плагину Art WooCommerce Order One Click. Поддержка плагинов Advanced Product Fields for WooCommerce, Simple Product Options for WooCommerce, Extra product options For WooCommerce

★ 4stars
27release downloads
1.1.3latest · 1 year ago

Install

Download awooc-product-options.zip From the 1.1.3 release on GitHub, Jan 30, 2025

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/artikus11/awooc-product-options/releases/download/1.1.3/awooc-product-options.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Дополнение к плагину Art WooCommerce Order One Click (3.0.0).

Описание

Поддержка плагинов дополнительных опций товаров:

Внимание! Плагин тестировался только с бесплатными версиями плагинов. Передаются все необходимые данные (название, значение, цена). Если поддерживаемый плаин не поддерживает вывод цены опции, то она выводитья не будет.

Для корректной работы требуется в настройках плагина Art WooCommerce Order One Click включить вывод Опций. Дальше плагин будет автоматически определять данные из поддерживаемого плагина и ввыводить во всплывающем окне, письме, заказе.

Примечание: Нельзя использовать все плагины из списка поддерживаемых одновременно, при активации одного из них, другие будут отключены.

Как добавлять поддежку

  1. В файле src/PluginsManager.php в константу SUPPORT_PLUGINS добавить путь к основному файлу плагина в виде plugin-directory/plugin-file.php
  2. В папке src/Handlers создать новый класс, например NewPluginOptionsProduct
  3. В методе init_classes основного класса Main через проверку подключить объект класса
  4. Во вновь созданном классе написать нужнй функционал

Changelog

[Unreleased]

[1.1.3] - 2025-01-23

Added

  • Добавлено:

Changed

  • Изменено:

Fixed

  • Исправлено: исправлдение подключения обработчика события

Releases

6 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
1.1.3 latest
Jan 30, 2025 1 year ago
awooc-product-options.zip
12
Jan 21, 2025 1 year ago
awooc-product-options.zip
7
Jan 18, 2025 1 year ago
awooc-product-options.zip
0
Jan 18, 2025 1 year ago
awooc-product-options.zip
0
Jan 18, 2025 1 year ago
awooc-product-options.zip
4
Nov 30, 2023 2 years ago
awooc-product-options.zip
4
C- grade

Security

AWOOC Product Options 1.1.3 · audited by WP Registry

High-severity findings.

1 high
Audited release
1.1.3
Findings
1
Worst severity
high
Content hash
b79aa29a8843d24e1d5d8904…

Findings

  • high Client-controlled awooc_options JSON sets WooCommerce order totals and item meta on one-click submit

    unsafe_input

    The plugin's only state-changing path is Handler::add_option_in_order on awooc_create_order, fired by required parent Art WooCommerce Order One Click after CF7 successfully posts the one-click form (wpcf7_before_send_mail) when woocommerce_awooc_created_order is enabled. extract_options json_decodes posted_data['awooc_options'] with no signature, no product-option ID lookup, and no server-side price recompute. That hidden input is added via awooc_added_hidden_fields and filled by inline JS from event.detail.data.toOrder.options, so a guest can replace it with arbitrary JSON before submit. YithWoocommerceProductAddOns, SimpleProductOptions, ArtWoocommerceProductOptions, and AdvancedProductFields process_options then do $options_total += $option['price'] (APF: $price['value'] on an array), $item->set_total(($options_total + $product->get_price()) * qty), and $order->set_total(). PHP empty(-999) is false, so a large negative price collapses the pending-payment order total that WooCommerce invoices, order-pay, reports, and gateways consume. The same JSON's label/value are written with $item->update_meta_data onto every line item (ExtraProductOptions is meta-only). added_options() already knows how to resolve posted option IDs against each vendor plugin's stored prices during the popup AJAX; that logic is not reused at order time.

    src/Handler.php:31-58,64-78

    Recommendation

    Treat awooc_options as a list of selected option identifiers/raw values only. On awooc_create_order, re-run the same server-side resolution already used in added_options() (look up each ID in the active option plugin, take stored label and price, ignore client price). Do not call set_total/set_subtotal from request JSON. Sanitize meta keys/values (sanitize_text_field) before update_meta_data. Optionally HMAC the AJAX toOrder payload and verify it at order time.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.