| 开发者 |
Picaland
popdev mirkolofio babinimazzari |
|---|---|
| 更新时间 | 2026年4月10日 14:45 |
| PHP版本: | 5.6 及以上 |
| WordPress版本: | 6.9 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
processFileBatch() now resolves the correct order provider from the stored batch payload and skips orphaned records safely, avoiding fatal errors when bulk XML data contains non-WooCommerce entries or deleted orders.From Growth badge instead of the generic paid-only label.createXMLOnProviderOrderCompleted().From %s plan badge strings in core language catalogs and regenerated compiled translations.transferee_client.personal_data.tax_id_vat.country_id and transferee_client.place.country_id now receive the customer country reliably during XML/PDF payload assembly; CreateXml initializes $transfereeCountryId before the payload is built, avoiding undefined-variable notices and empty country values in generated documents.billing_*), WordPress user metas and legacy PMPro user metas (pmpro_b*) when the MemberOrder->billing object is incomplete.wc_el_inv-after_init after plugin bootstrap, so PMPro callbacks are registered before checkout/gateway order flows emit their hooks.filtersAlways, filtersFront, filtersAdmin, and filtersAjax, preventing loss of shared inc hooks such as invoice/date assignment and fiscal-meta sync.billing_choice_type, billing_invoice_type, billing_sdi_type, billing_vat_number, billing_company, billing_tax_code) even when the success transition happens later via Stripe/webhook and the original checkout POST is no longer available.invoice instead of inheriting the receipt-oriented field default.billing_company over stale PMPro billing object values, so updated company names entered at checkout are reflected consistently in orders and generated documents.+IVA only for Italian and +VAT for all other languages.getCurrentLanguage() is now normalized and WPML-aware, using isWpmlActive() with ICL_LANGUAGE_CODE when available and otherwise falling back reliably to the current WordPress locale./wp-content/*.log URLs, reducing false 404s caused by cache, rewrite rules or WAF policies.pop_api_overquota) with shared normalization helpers, localized titles/messages/CTA labels, and admin/order persistent state stored in the global option wc_el_inv_pop_api_overquota_state.wp_die() in programmable flows; AJAX/admin and addon consumers now receive a structured payload, while _blank document generation renders a dedicated HTML fallback page.getXmlFromOrder() -> CreateXml -> popApi()), with shared detection/extraction helpers in PHP and a single SweetAlert2 renderer in assets/js/admin.js.pop_api_overquota before generic error handling and render the shared dialog instead of degrading to “invalid XML” or generic API errors.page=wc_el_inv-options-page&tab=xml) and WooCommerce order screens, dismissible per page view but automatically shown again until the global overquota state is cleared on a successful document flow.el-inv.pot, it_IT) and rebuilt the it_IT .mo file for the refined overquota titles/messages, CTA labels (Open POP, Contact support) and step label (Next step).init, restoring pmpro_format_price, pmpro_tax and pmpro_vat_by_country on checkout.init.pms_in_tax_eu_vat_enabled() is unavailable; the bridge now falls back to local tax settings when the PMS VAT helper is not loaded.pmpro-orders view page) now shows read-only POP “Invoice Fields” and “Invoice Data” sections after the main order details, so saved billing/fiscal data is visible without entering edit mode.nature_rc, ref_norm_rc, order_vies_check) more closely with the WooCommerce provider flow, including company_no_vies handling and San Marino support during order/meta persistence.stripTags() has been removed and replaced by explicit text helpers that separate HTML-to-plain-text extraction from SDI and PEPPOL normalization policies.& -> AND, % -> PCT, # -> NUM, € -> EUR) together with stronger transliteration for accented and extended Latin characters.invoice_progressive_file_number, with a new unique 5-character code reserved on each real transmission and reinvio.ProgressivoInvio generation has been removed from the plugin XML payload so SdI transmission progressives remain owned exclusively by the API.wc_el_inv_swal2 globally in admin so wc_el_inv_admin dependencies resolve correctly outside POP settings pages without forcing SweetAlert2 enqueue on every admin screen.POP Checkout Fields block visibility in the block inserter by registering pop-checkout-block-editor before register_block_type().assets/js/pop-block.js against missing wc_el_inv_admin / wc_el_inv_invoice globals by using localized fallback data for messages and field positioning.Paid only badges, while server-side save and runtime enforcement prevent unavailable features from being used on free.free while preserving stored values for paid-plan reactivation.PMPro and Cozmos can now coexist without forced mutual reset, with integration bootstrap updated to support both providers in the same installation.init, restoring correct field/provider initialization after moving wc_el_inv-after_init to the proper lifecycle point.basic, growth and pro across settings, runtime checks and integration cards, including Paid only visibility, upgrade messages, country-specific PEPPOL notices and dependency notices for Fatture in Cloud receipts/warehouse cards.basic now correctly enables credit notes, XML directory, reverse charge/VIES, POP SdI/PEPPOL automations, webhooks and activation of SdI / PEPPOL, while unsupported endpoints show the explicit upgrade message.growth and higher plans now consistently show the PEPPOL country-specific notice whenever the plan allows activation but the configured country is not eligible.Fatture in Cloud (receipts) and Fatture in Cloud (warehouse management) when the base FIC integration is not active, with localized strings across supported languages.to/* addon bootstrap hardening now covers late loading after init for Fatture in Cloud, Aruba, SdI PEC, FIC Receipts and FIC Stock, including immediate execution of internal init jobs registered via addon loaders.init addon loader behavior and test bootstrap action stubs; full local suite passing.payAccountID mappings and re-validates payment account data after filters before building the API payload.safeJsonDecode and prefixNativeFlowMessage to centralize robust JSON parsing and channel-prefixed diagnostics.SDI: / PEPPOL:) with simplified messages, while technical detail remains in logs/payload fields.InvoiceApi::createAndSendInvoice) response handling is now hardened for invalid/malformed JSON and missing properties, with safer UUID extraction and no contract-breaking output changes.PeppolApi::createAndSendUblInvoice) response handling is now hardened for invalid/malformed JSON and mixed response shapes, including guarded access to nested data fields.PeppolApi::stateInvoice) now safely parses mixed response bodies and falls back gracefully when body is not valid JSON.CloudApi JSON parser helper (parsePopApiJsonBody) for internal no-breaking normalization and decode-error tracking.CloudApi error path now returns consistent JSON-safe fallback payloads when upstream body is not valid JSON (error, status_code, decode_error, raw) without changing successful v2 response formats.CloudApi integration JSON handling now validates shape before reading xml_string, avoiding silent/fatal failures on unexpected payloads.assets/js/admin.js) now uses robust fetch parsing with response.text() fallback when response is not JSON, preventing generic JSON parse crashes and preserving actionable toasts.safeJsonDecode, prefixNativeFlowMessage) and for CloudApi parser behavior on valid/invalid/non-string inputs..mo).[pms-register]) instead of relying only on query params.PMS_IN_Tax_Extra_Fields instantiations in Cozmos filters callbacks.wc_el_inv-next_number_last_assigned_candidate_for_series.class_exists conditions.getNormalizedShopCountry, isUblCountry, isSdiCountryContext, isPeppolCountryContext, isSdiContext, isPeppolContext) and replaced duplicated context checks across WC, PMPro, Cozmos, admin filters, and order list actions.billing_sdi_type) is now consistently hidden in checkout/profile/admin areas (WC, PMPro, Cozmos), including label/description visibility where applicable.La PEC o il Codice Destinatario ...) now runs only in SDI context and is skipped in PEPPOL context for WC/PMPro/Cozmos checkout flows.pageSettingsFields.php) and to support robust UBL-country detection.color #636363, border #e5e5e5, padding 12px).classList operations, preventing runtime errors during invoice-type transitions.isset checks when forcing SDI field hidden state in Cozmos billing fields to avoid PHP warnings/notices in filtered edge cases.billing_tax_code) is now consistently hidden across WooCommerce/PMPro/Cozmos checkout-profile-admin-order views, aligned with SDI absence rules.Disable Fiscal Code, Verify Tax Code, Disable PEC/SDI) to avoid misleading configuration paths.disable_pec_sdi=on, disable_cf=on, active_js_cf_check=off) for consistent frontend behavior.assets/js/cf/codice-fiscale.js is now enqueued only when invoice_active_js_cf_check=on and SDI context is active (WooCommerce, PMPro, Cozmos).billing_invoice_type is no longer dropped when VAT/Tax Code are empty, ensuring "Customer type" remains persisted and correctly visible in order details.billing_company when customer type is switched to private in PEPPOL context, preventing stale company value carry-over.billing_company for PEPPOL + billing_invoice_type=private (checkout and renewal sync), keeping order/user meta aligned with latest customer selection.config/environments/dev.php is missing (admin notice + early return), preventing unintended fallback to production config.fill_missing, overwrite) before persisting order metas.billing_*.profile.php, user-edit.php), duplicated WC/PMPro POP fields are now forced read-only via disabled state while keeping the centralized global POP block editable.