plugin-billing
Changelog — Hostwebo Billing
Changelog — Hostwebo Billing Sistema billing custom che ha sostituito Upmind nel maggio 2026. Tieni questo file aggiornato a ogni cambiamento di rilievo (no patch micro-fix). Per la roadmap delle fasi (stato avanzamento …
Aggiornato 18 Mag 2026
— min di lettura
# Changelog — Hostwebo Billing
Sistema billing custom che ha sostituito Upmind nel maggio 2026.
Tieni questo file aggiornato a ogni cambiamento di rilievo (no patch micro-fix).
Per la **roadmap delle fasi** (stato avanzamento + prossimi step) vedi
[`docs/PROGRESS.md`](./PROGRESS.md).
## 2026-05 — Fase 13 (parte 4/4) · hostwebo-toolkit-pro admin → hwbi-* harmonized · **FASE 13 COMPLETA**
### Step Fase13-d · hostwebo-toolkit-pro admin adopts the unified palette
– 🎨 **Diagnosi**: toolkit-pro è il più “esotico” — usa **Tailwind Play CDN**
+ utility classes (`bg-wp-blue`, `text-wp-success`, `grid-cols-4`, ecc.) +
custom `.wp-postbox` semantica. Sotto Tailwind però la **palette è già
identica** a `hwbi-*` (entrambi usano `#2271b1` / `#1d2327` / `#f0f0f1`
WordPress-native).
– 🎯 **Strategia “harmonization not rewrite”**:
– **Keep Tailwind CDN** → strappare 1559 LOC di utility classes sarebbe
una settimana di lavoro per zero guadagno visivo.
– **Co-load `hwbi-admin`** prima di Tailwind → la pagina eredita anche
le hwbi-* convenzioni (background body, font tokens) per ridondanza
e branding consistency.
– **Body class** `hwbi-page hwtk-admin-body` → ulteriore consistency
con gli altri 3 plugin Hostwebo backend.
– **Cleanup emoji content** (8 occorrenze inline `🩺🔧📝📊🤖💻✍️🎨💳🖼` ecc).
– 🛠 **`HWTKAdminAdminPage::enqueue_assets`**:
– Aggiunto `wp_enqueue_style(‘hwbi-admin’)` BEFORE Tailwind enqueue.
– Su customer-side (dove billing plugin NON è installato), il check
`wp_style_is(‘hwbi-admin’, ‘registered’)` fallisce gracefully →
Tailwind continua a funzionare standalone.
– Aggiunto `add_filter(‘admin_body_class’)` → `hwbi-page hwtk-admin-body`.
– 🎨 **Emoji cleanup** in `render()` method:
– `🩺` (health notice + accordion item) → ``
– `🔧` (wrench list item) → ``
– `📝` (file-pen list item) → ``
– `📊` (supporto remoto) → ``
– `✦` (gradient AI button) → ``
– `⏱` (scan throttle string) → rimosso (testo già esplicito)
– 8 agenti AI badge (`🤖💻🔧✍️🎨📊💳🖼`) → SVG FA per ognuno con palette
indigo coerente.
– 🛠 **HWTK_VERSION → 1.8.1-fase13d-hwbi**.
### Fase 13 totale (4 step, ~10k LOC)
| Step | Plugin/Theme | LOC scope | Strategia | Status |
|—|—|—|—|—|
| 13-a | hostwebo-dashboard | 1778 | PHP wrap manuale postbox | ✅ |
| 13-b | hostwebo theme | 1032 | CSS bridge `.hostwebo-card` → `.hwbi-postbox` | ✅ |
| 13-c | hostwebo-ai | 5671 | Hybrid (body class + opt-in classes + emoji bulk) | ✅ |
| 13-d | hostwebo-toolkit-pro | 1559 | Co-load + body class + emoji cleanup | ✅ |
**Identità visiva uniforme su TUTTO il backend Hostwebo: raggiunta.**
Pattern di migrazione documentato in `PROGRESS.md` per future espansioni
(nuovi plugin Hostwebo).
## 2026-05 — Fase 13 (parte 3/4) · hostwebo-ai admin → hwbi-* design system
### Step Fase13-c · hostwebo-ai admin pages adopt the unified design (HARD)
– 🎨 **Scope**: 5671 LOC × 11 submenu pages + 9 admin classes. Pattern misto:
WP-native `
` con **216 inline `style=”…”` attributes** +
emoji ovunque (`📊` `🤖` `⚠️` ecc).
– 🎨 **Strategia ibrida**:
– **Bridge CSS**: nuovo file `assets/css/hwai-admin.css` (250 LOC) con classi
opt-in (`.hwai-card`, `.hwai-alert-*`, `.hwai-pill-*`, `.hwai-stat-grid`)
che gli inline-styled markup possono adottare progressivamente.
– **Body class** + enqueue automatico di `hwbi-admin` + `hwbi-fontawesome` →
full-bleed wrap, palette `#f0f0f1`, font Segoe UI, polish form-table,
`widefat striped` arrotondati.
– **Palette dedicata AI**: accent fuchsia/purple gradient (`#6b3eb5 → #d946ef`)
per differenziare visivamente da dashboard plugin (indigo) e billing (blu).
– 🛠 **`HWAIAdminAdminMenu::enqueue_assets`**:
– Enqueue `hwbi-admin` + `hwbi-fontawesome` (registered by billing).
– Enqueue local `hwai-admin.css` con dep `hwbi-admin`.
– `admin_body_class` filter → `hwbi-page hwai-admin-body`.
– 🎨 **Page renderers refactorati**:
– `render_dashboard()` (main entry `?page=hwai`): h1 con pill versione,
icona FA chart-line in accent purple-fuchsia gradient.
– `render_perf_alerts_widget()`: inline 2px-border card + `⚠️` emoji →
`.hwai-card.is-warning` con icona `fa-triangle-exclamation`. Severity
badges colorate inline → `.hwai-pill.is-{danger/warning/info}`.
– `render_analytics()`: emoji `📈` su h1 → icona FA `fa-chart-line`.
– 🧹 **Emoji cleanup MASSIVO** (delegato a sub-agent, ~70 sostituzioni):
– `class-admin-menu.php`: `📊` `🤖` `⚠️` `🖨️` `📈` ecc. (8 ridotti a SVG FA)
– `class-admin-packages.php`: 30+ tool icons (`🔍` `📊` `💾` `⚡` `📁` `📄`
`✏️` `🎨` `✍️` `⏰` `🏷` `📧` `🔒` `🌐` `🤖`)
– `class-user-meta-box.php`: 14 emojis (idem ai tool icons + `🔌`)
– `class-admin-monitoring.php`: 14 (`✅×3` `❌` `⏳` `⌛` `⚠️` `🚫` `🛑` `🔐`)
– `class-admin-ts-monitoring.php`: 12 (`📦` `✅` `⚙` `❌` `🛒` `💶` `💰` `📈`
`💸` `🗂` `🏆` `📒`)
– `class-admin-theme-studio.php`: 8 (`⚡` `💾` `🔄` `⚠` `🔍` `💡` `⭐×3` `▶`)
– `class-admin-maintenance.php`: 5 (`⚠` `↻` `▶` `✅` `❌`)
– 🛡 **`wp_kses`** introdotto sui renderer che ora servono HTML in label
arrays (`role_label`, `tool_labels`) — `` allowed
con classi/style sicuri.
– 🛠 **HWAI_VERSION → 1.0.0-alpha.71-fase13c-hwbi**.
### Roadmap Fase 13 (resto)
– 🟡 **Fase 13-d**: hostwebo-toolkit-pro (Tailwind CDN → hwbi-*, full rewrite)
## 2026-05 — Fase 13 (parte 2/4) · hostwebo theme admin → hwbi-* design system
### Step Fase13-b · hostwebo theme admin pages adopt the unified design
– 🎨 **Strategia “CSS bridge”**: il theme ha 9 page renderer (~1032 LOC) tutti
costruiti sul pattern ``.
Invece di riscrivere i 9 file PHP, ho **riscritto SOLO `assets/css/admin.css`**
per far sì che `.hostwebo-card` venga renderizzata come `.hwbi-postbox`.
– 🛠 **`hostwebo/inc/admin/admin-init.php`**:
– Enqueue `hwbi-admin` + `hwbi-fontawesome` come deps del `hostwebo-admin`
locale.
– Nuovo `admin_body_class` filter → aggiunge `hwbi-page hostwebo-admin-body`
quando lo screen ID contiene “hostwebo”.
– Pulito inline `style=”…”` su `.hostwebo-plan-item` / `-plan-header` /
`-plan-body` (3 attributi inline rimossi, ora gestiti via CSS).
– 🎨 **`hostwebo/assets/css/admin.css`** riscritto (245 → 318 LOC):
– **Bridge `.hostwebo-card` → `.hwbi-postbox` look**: bg bianco, bordo
`#c3c4c7`, border-top accent indigo `#2271b1` 4px, shadow soft,
border-radius 3px. Animazione `hwbiFadeIn` per ingresso elegante.
– **`.hostwebo-card > h2`** → header gray `#f6f7f7` con border-bottom +
icona FA tramite `::before` (font-awesome content `f0d8`).
– **Form-table inside card**: padding/border/focus harmonized to hwbi-page
style (focus → border indigo + glow 1px).
– **Buttons**: `.button:not(.button-primary)` → outline indigo style come
`.hwbi-btn-secondary`.
– **Repeater items**: bg `#fafbfc`, bordo `#e0e1e2`, hover border-darker.
`.hostwebo-remove-item` styled rosso danger.
– **Plan items**: header gray, borders allineati alla palette.
– **Matrix selector/table**: bordi tondi, header uppercase 11px, font-size
coerente.
– **`.hostwebo-switch`** (page-status toggle): completamente restyled per
matchare `.hwbi-toggle` (48×24px, indigo `#2271b1` quando checked, knob
20px con shadow).
– **Variant accent colors**: `.is-success` / `.is-warning` / `.is-danger`
/ `.is-purple` su `.hostwebo-card` per accent-top differenziato
(opt-in, non breaking).
– 🛠 **Zero modifiche ai 9 page renderer** (general/home/cloud-eco/wordpress/
ecommerce/advanced-deploy/about/contact/seo) — il markup esistente è già
perfetto, il CSS fa tutto il lavoro.
– 🛠 **HOSTWEBO_VERSION → 1.3.0-fase13b-hwbi-admin** (cache-bust + signal).
– ⏱ Cache-bust automatico via `hostwebo_asset_ver()` (filemtime) — esistente.
## 2026-05 — Fase 13 (parte 1/4) · hostwebo-dashboard admin → hwbi-* design system
### Step Fase13-a · hostwebo-dashboard admin pages migrate to hwbi-* unified design
– 🎨 **Strategia**: il design system `hwbi-*` (1402 LOC, definito in
`hostwebo-billing/assets/css/hwbi-admin.css`) diventa il **linguaggio
visivo unico** per tutti i plugin Hostwebo. Niente più WP-native sciolto
o markup inline `style=”…”` random.
– 🛠 **`HWBillingAdminAdminMenu`** refactor:
– Aggiunto metodo pubblico `register_admin_styles()` hooked on
`admin_enqueue_scripts` priority 5 — registra (NON enqueueing) i due
handle `hwbi-admin` + `hwbi-fontawesome` su OGNI admin pageload.
– `enqueue_admin_assets()` (priority 10) ora solo enqueueing condizionale
sulle pagine `hwbi-*` del billing.
– Altri plugin chiamano semplicemente `wp_enqueue_style(‘hwbi-admin’)`
nei loro callback — la dependency è già registrata da billing.
– 🎨 **`hostwebo-dashboard/includes/admin/class-admin.php`** migrato:
– `enqueue_admin()` ora enqueueing `hwbi-admin` + `hwbi-fontawesome`
come dipendenze prima del `hwdash-admin` locale.
– `admin_body_class` filter aggiunge `hwbi-page hwdash-admin` → tutta la
pagina admin di hostwebo-dashboard eredita la palette/font/full-bleed
del design system.
– **`page_settings()`** (260 righe) refactorato:
– `` wrappate in
`.hwbi-postbox accent-top` con icone colorate (Plesk/server,
WP Toolkit/wordpress purple, Generale/sliders, PayPal/paypal blue,
Email/envelope, Sicurezza/shield danger).
– Rimossi 5 `