=== Romanian billing fields ===
Contributors: robertutzu
Donate link: https://paypal.me/gheorghiucezarrobert
Tags: factura, facturare, persoana juridica, billing romania, persoana fizica
Requires at least: 4.3.0
Requires PHP: 7.4
Tested up to: 7.0
WC requires at least: 7.0.0
WC tested up to: 9.9
Stable tag: 2.1.0
WC HPOS compatible: yes
License: GPL v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html

Adaugă automat câmpuri de facturare în limba română la WooCommerce Checkout.

== Description ==

Acest plugin adaugă câmpuri de facturare în limba română la WooCommerce Checkout.

Adaugă câmpuri personalizate pentru legislația română:

PF (Persoană Fizică):
* CNP — validat cu cifra de control

PJ (Persoană Juridică):
* CIF/CUI — validat cu cifra de control (acceptă și prefixul RO)
* Număr de înregistrare la Registrul Comerțului
* Numărul contului bancar (IBAN)
* Numele băncii

La checkout utilizatorul alege mai întâi tipul de facturare (PF sau PJ), după care sunt afișate doar câmpurile relevante. Câmpurile obligatorii sunt validate atât în browser (JavaScript) cât și pe server, inclusiv algoritmic (cifra de control pentru CNP și CIF).

Câmpurile sunt afișate în adresa de facturare sub Numele companiei — pe pagina checkout, pagina de mulțumire, comenzile din admin și e-mailuri. Tipul de facturare (PF/PJ) este afișat și în adminul comenzii.

Puteți modifica aceste câmpuri ca administrator prin comenzi sau ca utilizator din pagina Contul meu → Adrese.

Notă: pluginul funcționează cu checkout-ul clasic (shortcode `[woocommerce_checkout]`). Checkout-ul pe blocuri (Checkout block) nu este suportat momentan — incompatibilitatea este declarată explicit către WooCommerce.

Demo:
https://tastewp.com/new?pre-installed-plugin-slug=woocommerce%2Cromanian-billing-fields&redirect=plugins.php&ni=true

== Installation ==

Consultați:
http://codex.wordpress.org/Managing_Plugins#Installing_Plugins

După instalare și activare nu este necesară nicio configurare — câmpurile apar automat în checkout.

== Changelog ==

** 2.1.0 **
- Adăugat: label explicit „Nume firma" și placeholder pentru câmpul de companie (înlocuiește label-ul default WooCommerce)
- Adăugat: placeholdere pentru toate câmpurile custom (CIF, Nr.Reg.Com., Cont/IBAN, Banca, CNP)
- Fix: câmpurile CIF, Nr.Reg.Com. și Compania nu mai sunt obligatorii în afara checkout-ului — persoanele fizice își pot salva acum adresa din Contul meu → Adrese fără a completa date de firmă
- Fix: câmpul Compania nu mai este obligatoriu pe adresa de livrare (required se propaga din câmpurile default și pe shipping)
- Fix: selectul „tip de facturare" își păstrează valoarea după o eroare de validare la checkout (nu se mai resetează la gol)
- Adăugat: validare algoritmică CNP (13 cifre + cifra de control) și CIF/CUI (cifra de control, cu sau fără prefixul RO) pe server
- Adăugat: tipul de facturare (PF/PJ) este afișat în adminul comenzii, lângă adresa de facturare
- Adăugat: declarată explicit incompatibilitatea cu Checkout block (`cart_checkout_blocks` = false) — utilizatorii nu mai rămân fără câmpuri fără avertisment
- Îmbunătățit: JS-ul de toggle este acum atașat de scriptul `wc-checkout` prin `wp_add_inline_script` și se re-aplică la `updated_checkout` și după re-randarea formularului
- Îmbunătățit: text domain propriu (`grc-romanian-billing-fields`) pentru toate stringurile — traducerile se pot încărca corect
- Îmbunătățit: `wp_unslash()` înainte de `wc_clean()` la toate citirile din $_POST, plus adnotări PHPCS pentru Plugin Check
- Îmbunătățit: hook-urile se înregistrează pe `plugins_loaded` cu verificare `class_exists('WooCommerce')` — funcționează corect și pe multisite cu WooCommerce activat la nivel de rețea
- Adăugat header `Requires Plugins: woocommerce` (WordPress 6.5+)

** 2.0.0 **
- Versiune majoră — refactorizare completă a codului
- Fix critic: eliminat `apply_filters('woocommerce_default_address_fields')` din `woocommerce_admin_billing_fields` care putea crea o buclă recursivă; câmpurile custom sunt acum adăugate direct în filtrul de admin
- Fix: mutat accesul la `$_POST['persoana']` din `woocommerce_default_address_fields` (context generic) în `woocommerce_checkout_fields` (apelat doar la checkout), eliminând warning-uri PHP în admin și în alte contexte
- Adăugat validare server-side prin `woocommerce_checkout_process` — câmpul „tip de facturare" este acum verificat și pe server, nu doar în browser
- Salvare explicită a câmpurilor custom prin `woocommerce_checkout_order_created` folosind `$order->update_meta_data()` și `$order->save()` — compatibil complet HPOS
- Îmbunătățit JS: selectorii jQuery sunt acum cacheați în variabile, nu recreați la fiecare apel de funcție
- Adăugat case `else hideAll()` în JS pentru situația în care utilizatorul revine la opțiunea goală din select
- Actualizat versiune PHP minimă la 7.4 și WC minimă la 7.0.0

** 1.9.7 **
- Fix major compatibilitate WooCommerce: eliminat accesul direct la meta `_billing_*`
- Înlocuit `get_meta()` cu getters oficiali WooCommerce (`get_billing_*`)
- Elimină erorile `is_internal_meta_key was called incorrectly`
- Compatibilitate mai bună cu WooCommerce 8+ și HPOS
- Îmbunătățiri minore validare input (`wc_clean`)

** 1.9.6 **
- Diverse îmbunătățiri vizuale
- Suport HPOS

** 1.7.0 **
- Changed from radio buttons to select input PF/PJ

** 1.6.3 **
- Support check

** 1.6.2 **
- Support check

** 1.6.1 **
- Support check

** 1.6 **
- Support check

** 1.5 **
- Fixed admin field show

** 1.4 **
- Fixed input save

** 1.3 **
- Fixed tags

** 1.2 **
- Fixed compatibility with WooCommerce 4.*

** 1.1 **
- Fixed error of get_order

** 1.0 **
- Initial release
