VRP - Censimento delle utilities (piattaforma contro servizi)

Misurato il 2026-08-06 su /srv/http/lab. Chiesto da vitti: "verifichiamo che

utilities fornisce la piattaforma e usiamo quelle in tutti i servizi; rileggiamo

i codici dei servizi e mettiamo nella piattaforma tutte le utilities che possono

essere utilizzate".

Regola che ne esce, e che vale da qui in avanti:

**la doc generata e' il riferimento. Se nel codice c'e' qualcosa di diverso, e'

il codice a essere sbagliato.** La doc si rigenera con php docs/genera_doc.php.


1. Stato della documentazione (misurato, non ricordato)

ramofunzioni PHPcon commento /** */in VRP_API_lib.md
piattaforma (platform/lib)111110 (99%)110 = tutte
wizard (public/wiz_foto)8939 (44%)38
VRV (public/vv/lib + inc)24955 (22%)51

La piattaforma e' a posto: quello che offre e' scritto. Il VRV no: **quattro

funzioni su cinque non hanno il commento**, quindi non entrano nella doc e

nessuno sa che esistono - per questo si riscrivono in casa.

Rigenerata il 06/08: nessuna funzione nuova, nessun fantasma (il diff dei titoli

e' vuoto). Backup della precedente in quarantena_bak/20260806_passo1/.


2. Cosa offre gia' la piattaforma (le vrp_*, ~50)

VRP_CHANNEL, VRP_BASE_URL, VRP_DEBUG, VRP_HOST, VRP_TZ, VRP_LOG_LEVEL,

VRP_LOG_FILE, VRP_SESSION_TTL, VRP_SHARED_DIR, VRP_MEDIA_ROOT, VRP_MEDIA_URL,

VRP_DB_CREDS, VRP_SERVICES.

vrp_role_top, vrp_role_icon, vrp_login, vrp_logout, vrp_session_check,

vrp_guard_request, vrp_csrf_token, vrp_csrf_check, vrp_visit_check.

vrp_load_json, vrp_is_lan, vrp_client_ip.

(immagini servite al volo), vrp_services, vrp_service_config.


3. I mestieri rifatti in casa (i doppioni veri)

mestierepiattaformail VRV/VRW fa invecenumeri
escape HTMLvrp_h()h() definita 5 volte (lib/helper, core/3_2_1_Go, lib/header_badge, + 5 nel wizard)123 usi di h(), 172 htmlspecialchars a mano, 148 vrp_h
logvrp_log_*log_info/warn/error/trace/debug definite due volte (functions.php e 3_2_1_Go.php)217 usi nel VRV contro 16 di vrp_log
databasevrp_db + run/val/row/all/insertlib/db_utilities.php (11) + lib/db_polyfills.php (6), con db_exec/db_insert/db_select_row doppie2 connessioni PDO separate
ambientevrp_defines.phplib/core/meta.php (ripulito il 06/08)33 costanti in doppio

Regola pratica da qui in avanti: prima di scrivere una funzione, cercarla in

VRP_API_lib.md. Se serve a piu' di un servizio, nasce in platform/lib col

prefisso vrp_ e col commento /** @desc @param @return */.


4. Candidate a SALIRE in piattaforma (oggi sono di un servizio solo)

Vivono in platform/lib/vrs.php o vrw.php (lib di servizio) ma il mestiere e'

di tutti:

(riconoscimento tipo file: **oggi sono due famiglie che rispondono alla stessa

domanda**)


5. Il VRV: quanto codice e' davvero vivo

di una volta). Attenzione: il conto a occhio col grep ne dava 329, ma dentro i

PHP c'e' anche il JavaScript - vedi sotto.

scratchpad/vrv_mai_chiamate.txt). Fra queste: vv_selftest, vv_meta_debug,

vv_compile_version, draft_get/draft_delete, can_edit_post e i suoi due

gemelli, puo'_visualizzare_post (col nome accentato).

NON cancellare a scatola chiusa: alcune sono attrezzi da riga di comando.

auth.php, guard_admin.php, ridimensiona_funziona.php, ridimensiona_lib.php

(IDENTICI) e colors.php, db_utilities.php, footer.php,

header_badge_mini.php, trad_widget.php (DIVERSI: quale vince dipende da

chi fa il require).

JavaScript dentro i PHP

Domanda di vitti: "ma non stavano in file dentro js/?". Misurato:

quasi la meta' del JavaScript del VRV non sta in un file .js.

I piu' pesanti: lib/caricaTinyMCE.php (1.590 righe di JS, 49 funzioni),

media_popup.php (323), diario_lista_admin.php (215),

lib/header_badge.php (205), visualizza_post_draft.php (171).

Conseguenze pratiche: quel codice non e' documentabile (la sezione JavaScript

della doc pesca solo dai .js), non si mette in cache, e non si puo' provare da

solo. Candidati allo scorporo, in quest'ordine: caricaTinyMCE, media_popup,

header_badge.