=== Torlann ===
Contributors: stephlg, torlann
Tags: ecommerce, shop, cart, checkout, quotes
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.3
Stable tag: 2.8.52
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Lightweight WordPress ecommerce for artisans and small businesses: catalog, cart, checkout, bank transfer, quotes, and CSV tools.

== Description ==

Torlann is a complete, lightweight ecommerce plugin for WordPress. The free edition on WordPress.org is a real storefront plugin — not a locked demo.

Create products (including variants), take orders, accept bank transfer payments, manage shipping, send order emails, and handle custom quotes. Everything you need to sell online as an independent or small business is included without requiring a Torlann account or remote license activation.

= What you can do with Torlann Free =

* Product catalog with categories, attributes, and variants
* Unlimited products
* Shopping cart and checkout
* Bank transfer payments
* Orders management
* Shipping zones and rates
* Custom quotes / devis
* CSV import and export
* Essential transactional emails
* Design presets for your storefront
* Guided setup assistant and admin help

= Need more? =

Torlann Pro (sold separately on [torlann.com](https://www.torlann.com)) adds optional advanced features such as Stripe and PayPal checkout, coupons, advanced store design, custom CSS, content AI helpers, and multi-site agency tools. The free Core remains fully usable without Pro.

== Installation ==

1. Install the plugin from Plugins → Add New, or upload the `torlann` folder to `/wp-content/plugins/`.
2. Activate Torlann through the Plugins screen.
3. Open Torlann in the admin menu and follow the setup assistant.
4. Add products, configure bank transfer details, and publish your shop pages.

== Configuration ==

* Company identity and legal details: Torlann → Configuration
* Payments: enable bank transfer and enter your IBAN / instructions
* Shipping: define zones and rates
* Quotes: enable the quote form if you sell custom work
* Design: choose a preset (system fonts by default; Google Fonts optional on the storefront when selected)
* Emails (optional): uses WordPress `wp_mail()` (configure an SMTP plugin on your host if needed)

No Torlann license key is required to use the free Core.

== Frequently Asked Questions ==

= Do I need a Torlann license to sell with the free plugin? =

No. The WordPress.org edition includes the Core storefront features without a Torlann license. Selling with bank transfer, catalog, cart, checkout, orders, shipping, quotes, and essential emails works with no Torlann account.

= Can I accept card payments in Free? =

Card payments via Stripe or PayPal are part of Torlann Pro. Free supports bank transfer checkout.

= Will upgrading to Pro keep my data? =

Yes. Pro uses the same plugin slug. Replacing the free package with the Pro package keeps products, orders, and settings.

= Does Torlann phone home? =

No mandatory telemetry, license checks, or proprietary update calls in Free. By default, transactional emails use WordPress `wp_mail()` (your host or an SMTP plugin). Optional services contact external servers only when you enable or use them — see External services below.

= What is the optional Torlann mail service? =

The WordPress.org package uses WordPress `wp_mail()` only (no Torlann mail API). Packages from torlann.com may offer an optional relay for shared hosts; that feature is documented separately on torlann.com and is not part of this directory build.

== Free vs Pro ==

Free (this package): catalog, variants, cart, checkout, bank transfer, orders, shipping, quotes, CSV, essential emails, design presets. Fully functional without a Torlann license.

Pro (torlann.com): Stripe, PayPal, coupons, advanced store design / custom CSS, marketing tools, content AI providers, agency / multi-site tools, and proprietary updates when licensed.

== External services ==

Torlann Free may contact the following services only when the related feature is used or explicitly enabled:

* French company lookup (SIRET): `https://recherche-entreprises.api.gouv.fr/` when an administrator searches for a company. Terms: [api.gouv.fr](https://api.gouv.fr/les-api/api-recherche-entreprises). Privacy: [data.gouv.fr](https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/).
* Google Fonts (storefront, optional): stylesheet requests to `fonts.googleapis.com` only when a non-system Google font is selected in Design settings. Default fonts are system stacks — no Google request on a fresh install. Terms: [Google Fonts FAQ](https://fonts.google.com/faq). Privacy: [Google Privacy Policy](https://policies.google.com/privacy).
* Google reCAPTCHA: only if you enable reCAPTCHA on quote forms and provide your own site keys. Terms: [reCAPTCHA ToS](https://www.google.com/intl/en/policies/terms/). Privacy: [Google Privacy Policy](https://policies.google.com/privacy).
* Remote product images: only when an administrator provides image URLs during catalog import (sideload).
* Torlann mail relay: **not included** in the WordPress.org package. The optional mail API is available only in packages distributed from torlann.com.

Stripe, PayPal, and remote AI providers are Pro features and are not included in this free package (no Stripe/PayPal API calls from Free).

== Privacy ==

* No Torlann telemetry or mandatory phone-home in the free edition.
* Optional external requests are triggered by admin actions or explicit settings (SIRET lookup, storefront Google Fonts, reCAPTCHA, image URLs).
* Order and customer data stay on your WordPress site.
* Review your privacy policy if you enable Google Fonts, reCAPTCHA, or collect customer checkout data.

== Credits / Third-party libraries ==

This free package ships Torlann’s own PHP/JS/CSS assets under GPL-2.0-or-later (see `LICENSE`). No Composer `vendor/` tree is bundled in the WordPress.org ZIP.

Bundled third-party libraries (see `assets/vendor/README.txt`):

* [Tabler Icons](https://tabler.io/icons) (MIT) — admin / front icon webfont
* [Swiper](https://swiperjs.com/) (MIT) — product gallery
* [Chart.js](https://www.chartjs.org/) (MIT) — quotes dashboard charts
* [canvas-confetti](https://github.com/catdad/canvas-confetti) (ISC) — setup assistant celebration

WordPress core provides jQuery / jQuery UI. Google Fonts may load on the storefront when a non-system font is selected (see External services). The Torlann admin UI uses system font stacks only.

Optional PDF generation via Dompdf and its dependencies may be used when a `vendor/` tree is present (not included in this free ZIP).

== Changelog ==

= 2.8.52 =
* Catalog photos step: prefer local sample images, shorter remote timeouts, faster async ticks
* Quote form: account email prefilled but editable
* Includes socle security hardening from 2.8.47–2.8.51 (payments, nonces, sanitize)

= 2.8.51 =
* Security: clear remaining Plugin Check Missing/Unslash on save handlers, IPN Monetico, cart/account/agent inputs

= 2.8.50 =
* Security (Plugin Check triage): re-verify nonces inside save handlers; sanitize product/quote POST at point of use; devis_id absint before nonce action

= 2.8.49 =
* Fresh install: skip schema ALTER when tables are not created yet; fgetcsv escape argument for PHP 8.4+

= 2.8.48 =
* WordPress.org: enqueue admin shell / admin-bar CSS; no executable inline script/style in admin or public quote/payment views
* Quote forms (legacy/full), facture, paiement, client dashboard: assets via wp_enqueue_*; Dompdf CSS loaded from file
* Redirect fallbacks use meta refresh + link (no inline window.location script)

= 2.8.47 =
* Security: Monetico browser return no longer marks quotes paid; IPN requires MAC (hash_equals), amount and reference checks; no raw POST logging
* Security: Stripe return verifies session via Stripe API (cs_ prefix, metadata, payment_status, amount) before marking paid
* SQL: conversion stats use $wpdb->prepare(); Chart.js constant aligned to bundled 4.5.1
* Remove display_errors ini_set; client login CSS via wp_enqueue_style; sanitize email input before escape

= 2.8.45 =
* Plugin Check i18n: no variable msgids (Torlann_I18n literal switch), ordered placeholders, translators comments
* Escaping hardening on admin/front views flagged by Plugin Check

= 2.8.36 =
* WordPress.org Free light: unlock shipped features (Guideline 5), remove teases/mail relay/copilot from .org ZIP
* Custom CSS disabled for .org; Chart.js 4.5.1; uploads under uploads/torlann/; wp_handle_upload for catalog imports
* Escaping / sanitization / shortcode prefix hardening from Plugin Directory review

= 2.8.35 =
* Product list: Type column (plain text, no quote badge)

= 2.8.34 =
* Product list Mode column only when quotes (devis) catalog mode is enabled

= 2.8.33 =
* Product list: dedicated Mode column (On quote / Online purchase)

= 2.8.32 =
* Product list: quote-only products show an “On quote” status badge and price label

= 2.8.31 =
* Release sync: Pro download, Free tease, demo and Alexandre aligned on the same socle

= 2.8.30 =
* Gutenberg blocks: product catalog, single product, cart, quote form, checkout
* Blocks reuse existing shortcodes; editor category “Torlann”

= 2.8.29 =
* WordPress.org Free: Pro pitches without locked UI teases (Guideline 5)
* Copilot chat disabled in the WordPress.org Free package
* Coupons / discounts pitch copy refresh
* Admin sidebar brand: horizontal Torlann logo, no “Shop” tagline
* Stable tag aligned with plugin version 2.8.29

= 2.8.5 =
* Free Design: same surface as Pro — advanced panels browsable with license lock; presets remain free to save
* Align Design tease with Réassurance / quotes / email models (visible + locked, not removed)

= 2.8.4 =
* WordPress.org compliance: no remote calls on activation; admin uses system fonts; default storefront fonts are system stacks
* Free Core: store design controls fully usable; custom CSS removed from Free; copilote quota unlimited
* Readme: Contributors stephlg; External services updated (no admin Google Fonts)

= 2.8.3 =
* Trashed shop pages (shop, cart, checkout, account, payment) stay in the trash — they are no longer restored on every admin load
* WordPress.org Stable tag aligned with plugin version 2.8.3
* Readme: document optional Torlann mail relay (wp-config opt-in, off by default) and admin Google Fonts for guideline 7 accuracy

= 2.8.1 =
* Rigorous i18n pass: English source msgids, 15 locale packs re-synced and compiled
* Quote/order email footer editor moved below the template list (layout fix)
* Spanish and other admin UI strings fully translated (settings, payments, design, emails)

= 2.8.0 =
* English source language — no French/English mix in the plugin UI
* 15 locale packs: EN, FR, ES, DE, IT, PT, NL, TR, DA, NO, FI, CS, HU, RO
* Free transactional email defaults to WordPress wp_mail; optional Torlann mail relay via wp-config (`TORLANN_MAIL_RELAY`)

= 2.7.6 =
* Free / Pro packaging for WordPress.org distribution
* Free Core available without Torlann license activation
* Matrix-based feature gates for Pro-only capabilities
* Third-party JS/CSS bundled locally (Tabler Icons, Swiper, Chart.js, canvas-confetti)
* Setup assistant: sample catalog template or CSV/Excel import (two catalog paths)
* Improved transactional email deliverability without requiring an SMTP plugin
* Pro-only settings toggles stay disabled until licensed (Stripe, PayPal, reassurance blocks)
* Copilote IA help and optional content AI providers (Pro)

== Upgrade Notice ==

= 2.8.29 =
WordPress.org Free packaging: no locked Pro teases, copilot off, Stable tag matches 2.8.29.

= 2.8.5 =
Free Design is limited to ready-made presets. Advanced catalog/product/typography controls remain Pro.

= 2.8.4 =
WordPress.org Free compliance: design saves without a license; no phone-home on activation; system fonts by default.

= 2.8.3 =
Shop pages moved to trash are no longer auto-restored. Restore them from trash if you still need the storefront.

= 2.8.1 =
Complete translations refresh and email footer editor layout fix.

= 2.8.0 =

= 2.7.6 =
Free Core works without a Torlann license. Pro features remain optional upgrades.
