PluginProbe
CartFlows – Funnel Builder & Checkout Plugin for WooCommerce / 3.3.0
CartFlows – Funnel Builder & Checkout Plugin for WooCommerce v3.3.0
3.3.0 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.1 trunk 1.0.4 1.1.0 1.1.0.1 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 All 162 releases
cartflows / admin-core / architecture.md

architecture.md in CartFlows – Funnel Builder & Checkout Plugin for WooCommerce 3.3.0, at admin-core/architecture.md

18 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 ---
2 module: admin-core
3 ---
4
5 # admin-core
6
7 ## Responsibility
8
9 Owns the entire CartFlows 3.0 admin UI surface: the WP admin menu and pages, the React SPA bundles for the settings/editor/onboarding apps, and the two server transports those apps talk to — `wp_ajax_*` handlers under `ajax/` and `cartflows/v1` REST controllers under `api/` — plus the settings and meta field *schemas* and the shared read/write helpers.
10
11 Ownership stops at the data layer: every handler delegates domain work to plugin-root classes, and the module has no bootstrap of its own. It owns no front-end funnel rendering.
12
13 ## Why it is this way
14
15 Endpoint names, nonce actions and localized variable keys are all *derived* from method names by `init_ajax_events()`, and the chain that delivers a nonce to the browser spans include-time registration → an `add_filter` closure → `apply_filters` inside the enqueue. Nothing in any single file states that ordering, and every failure along it looks identical: "nonce validation failed".
16
17 The two transports enforce authorization through completely different, non-shared mechanisms — per-handler `check_ajax_referer` plus `current_user_can` for AJAX, per-controller `permission_callback` for REST — with an unused base-class helper that looks like it applies but does not. Combined with a four-capability matrix that does not line up with the nonce-localization gate, the cost of a wrong guess here is a silent auth gap, not a stack trace.
18