VRP - API delle librerie (GENERATA)
Documento generato da docs/genera_doc.php dai commenti del codice.
Per ogni funzione: firma, descrizione, parametri, ritorno e Usato in (dove viene chiamata nel lab).
Non modificare a mano: si rigenera. Ultima generazione: 2026-07-08 16:35
vrn_foto.php
vrn_foto_search(string $q, bool $anw = false, int $limit = 500)
Cerca foto per nome o cartella nell'indice lenostre.foto.
| parametro | descrizione |
string $q | testo da cercare (LIKE, su nome e cartella) |
bool $anw | se false, ESCLUDE le foto naturiste (anw=1) |
int $limit | numero massimo di risultati |
Ritorna: array - righe: path, cartella, nome, lat, lon, scattata_il, anw
manuale: sezione: Ricerca foto
Usato in: platform/pages/search.php:22
vrp_auth.php
vrp_login(string $username, string $password)
Verifica username+password e apre la sessione. Vero se autenticato.
| parametro | descrizione |
string $username | |
string $password |
Ritorna: bool
manuale: sezione: Accesso
Usato in: platform/pages/login.php:33
vrp_current_user()
L'utente loggato (con i suoi ruoli per-servizio) o null. Memoizzato.
Ritorna: array|null - ['id','username','display_name','email','avatar','roles'=>[svc=>role]]
Usato in: platform/lib/vrp_auth.php:102, platform/lib/vrp_auth.php:112, platform/lib/vrp_auth.php:124, platform/lib/vrp_auth.php:185, platform/lib/vrp_log.php:59, platform/lib/vrp_services.php:156, platform/lib/vrs.php:45, platform/pages/accesso.php:20, platform/pages/home.php:28, platform/pages/login.php:24, platform/pages/profilo.php:22, public/index.php:78, public/index.php:95, public/share/index.php:14
vrp_logout(string $action = 'logout')
Chiude la sessione (e timbra la chiusura nel registro del portinaio).
| parametro | descrizione |
string $action | 'logout' (default) o 'timeout' |
Ritorna: void
Usato in: platform/lib/vrp_auth.php:216, platform/pages/logout.php:35
vrp_user_role(string $service)
Ruolo dell'utente corrente in un servizio, o null se non ne ha.
| parametro | descrizione |
string $service | slug del servizio (es. 'vrv') |
Ritorna: string|null
Usato in: platform/lib/vrs.php:52
vrp_is_admin()
Vero se l'utente corrente e' admin (ha ruolo 'admin' in un servizio).
Ritorna: bool
Usato in: platform/lib/vrp_auth.php:184, platform/pages/home.php:41, public/index.php:51, public/index.php:102
vrp_role_top()
Il ruolo "piu' alto" dell'utente corrente fra tutti i servizi, o null
Ritorna: string|null
Usato in: platform/lib/vrp_log.php:63, public/index.php:108
vrp_role_icon(?string $role)
Icona (entita' HTML, gia' pronta da stampare) che evidenzia un ruolo:
| parametro | descrizione | |
| `string | null $role` | ruolo (es. 'admin') o null |
Ritorna: string
Usato in: public/index.php:110
vrp_guard_request()
Guardia d'AREA per i servizi ospitati DENTRO il lab (es. wiz_foto in
Ritorna: void
Usato in: platform/boot/3_2_1_Go.php:60, platform/lib/vrp_services.php:86
vrp_session_check()
Controllo del timeout d'inattivita' (autoritativo, server-side).
Ritorna: void
Usato in: platform/boot/3_2_1_Go.php:56
vrp_db.php
vrp_db(string $nome)
PDO verso un database della piattaforma (memoizzato per richiesta).
| parametro | descrizione |
string $nome | chiave in VRP_DB_CREDS (es. 'lenostre') |
Ritorna: PDO
Usato in: platform/boot/vrp_defines.php:58, platform/lib/vrn_foto.php:6, platform/lib/vrp_db.php:5, platform/lib/vrp_db.php:61, platform/lib/vrp_db.php:72, platform/lib/vrp_db.php:83, platform/lib/vrp_db.php:94, platform/lib/vrp_db.php:105
vrp_all(string $db, string $sql, array $params = [])
Tutte le righe di una SELECT (fetchAll associativo).
| parametro | descrizione |
string $db | nome database (es. 'lenostre') |
string $sql | query con placeholder :nome |
array $params | parametri [':nome' => valore] |
Ritorna: array
Usato in: platform/lib/vrn_foto.php:36, platform/lib/vrp_auth.php:68, platform/lib/vrs.php:77, platform/lib/vrs.php:87, platform/lib/vrs.php:218, platform/pages/sessioni.php:27, platform/pages/sessioni.php:40, platform/pages/sessioni.php:62, platform/pages/users.php:175, platform/pages/users.php:179
vrp_row(string $db, string $sql, array $params = [])
Una riga (array associativo) o null se nessuna.
Ritorna: array|null
Usato in: platform/lib/vrp_auth.php:23, platform/lib/vrp_auth.php:60, platform/lib/vrs.php:69, platform/lib/vrs.php:97, platform/pages/profilo.php:102, platform/pages/users.php:155, platform/pages/users.php:186
vrp_val(string $db, string $sql, array $params = [])
Un solo valore scalare (prima colonna della prima riga).
Usato in: platform/pages/sessioni.php:49, platform/pages/users.php:70, platform/pages/users.php:171
vrp_run(string $db, string $sql, array $params = [])
Esegue INSERT/UPDATE/DELETE, ritorna il numero di righe toccate.
Ritorna: int
Usato in: platform/lib/vrp_auth.php:32, platform/lib/vrp_auth.php:33, platform/lib/vrp_auth.php:86, platform/lib/vrp_auth.php:220, platform/lib/vrs.php:200, platform/lib/vrs.php:221, platform/lib/vrs.php:223, platform/pages/profilo.php:56, platform/pages/profilo.php:63, platform/pages/profilo.php:83, platform/pages/users.php:87, platform/pages/users.php:97, platform/pages/users.php:120, platform/pages/users.php:132, platform/pages/users.php:136, platform/pages/users.php:160
vrp_insert(string $db, string $sql, array $params = [])
INSERT, ritorna l'id auto-generato.
Ritorna: string
Usato in: platform/lib/vrs.php:142, platform/lib/vrs.php:184, platform/pages/users.php:73
vrp_img.php
vrp_img_resolve(string $src, array $bases)
Risolve un web-path (es. "/leNostre/2025/foto.jpg") nel path reale sul
| parametro | descrizione |
string $src | web-path come arriva da ?src= |
array $bases | mappa web-prefix => base-filesystem |
Ritorna: string|null - path reale del file, oppure null se fuori base / inesistente
manuale: sezione: Immagini
Usato in: platform/lib/vrp_img.php:15, public/wiz_foto/nc_thumb.php:32
vrp_img_fail(int $code, string $msg)
Ferma lo script emettendo un codice HTTP e un messaggio testuale.
| parametro | descrizione |
int $code | |
string $msg |
Ritorna: void
Usato in: platform/lib/vrp_img.php:96, platform/lib/vrp_img.php:100, platform/lib/vrp_img.php:128
vrp_img_serve(string $fsPath, int $w, array $opt = [])
Ridimensiona il file $fsPath a larghezza $w e lo EMETTE come JPEG, con
| parametro | descrizione | |
string $fsPath | path reale del file, gia' risolto e autorizzato | |
int $w | larghezza richiesta (normalizzata sulla whitelist) | |
array $opt | 'cache_dir' (string | null) base cache; null = niente cache su disco |
Ritorna: void
manuale: sezione: Immagini
Usato in: platform/lib/vrp_img.php:16, public/share/anw/verboten.php:33, public/share/thumb.php:11, public/share/thumb.php:65, public/wiz_foto/nc_thumb.php:11, public/wiz_foto/nc_thumb.php:43
vrp_log.php
vrp_log_rank(string $level)
Rango numerico di un livello (999 se sconosciuto).
| parametro | descrizione | ||||
string $level | ERROR | WARN | TRACE | INFO | DEBUG |
Ritorna: int
manuale: sezione: Log
Usato in: platform/lib/vrp_log.php:48
vrp_log_enabled(string $level)
Vero se, data la soglia VRP_LOG_LEVEL, il livello va scritto.
| parametro | descrizione |
string $level |
Ritorna: bool
Usato in: platform/lib/vrp_log.php:76
vrp_log_identity()
Firma di chi sta agendo, per la riga di log: [@utente#id@ruolo].
Ritorna: string
Usato in: platform/lib/vrp_log.php:96
vrp_log_write(string $level, string $msg)
Scrive una riga di log, se il livello e' abilitato dalla soglia.
| parametro | descrizione |
string $level | |
string $msg |
Ritorna: void
Usato in: platform/lib/vrp_log.php:116, platform/lib/vrp_log.php:124, platform/lib/vrp_log.php:132, platform/lib/vrp_log.php:140, platform/lib/vrp_log.php:148
vrp_log_error(string $msg)
Logga un ERRORE serio (sempre scritto: rango minimo).
| parametro | descrizione |
string $msg | messaggio |
Ritorna: void
manuale: sezione: Log
Usato in: _(nessun uso trovato nel lab)_
vrp_log_warn(string $msg)
Logga un WARNING (situazione anomala non fatale).
| parametro | descrizione |
string $msg | messaggio |
Ritorna: void
manuale: sezione: Log
Usato in: _(nessun uso trovato nel lab)_
vrp_log_trace(string $msg)
Logga una TRACE (ingresso/uscita del flusso principale).
| parametro | descrizione |
string $msg | messaggio |
Ritorna: void
manuale: sezione: Log
Usato in: _(nessun uso trovato nel lab)_
vrp_log_info(string $msg)
Logga una INFO (decisioni e contesto operativo).
| parametro | descrizione |
string $msg | messaggio |
Ritorna: void
manuale: sezione: Log
Usato in: platform/pages/config.php:59, platform/pages/config.php:114, platform/pages/config.php:148, platform/pages/config.php:171, platform/pages/login.php:38, platform/pages/profilo.php:94, platform/pages/users.php:148, platform/pages/users.php:162
vrp_log_debug(string $msg)
Logga un DEBUG (dettaglio massimo: branch, variabili intermedie).
| parametro | descrizione |
string $msg | messaggio |
Ritorna: void
manuale: sezione: Log
Usato in: _(nessun uso trovato nel lab)_
vrp_services.php
vrp_services()
Lista dei servizi ACCESI, ognuno con la sua targa, pronta per la
Ritorna: array - slug => ['slug','label','icon','blurb','url','enabled', ...]
manuale: sezione: Servizi
Usato in: platform/lib/vrp_auth.php:168, platform/lib/vrp_services.php:95, platform/pages/home.php:31, platform/pages/users.php:35
vrp_service_config(string $slug)
Config COMPLETA di un servizio (non solo la targa), dal file puntato
| parametro | descrizione |
string $slug | chiave del servizio (es. 'vrw') |
Ritorna: array
Usato in: platform/lib/vrp_services.php:71, platform/lib/vrs.php:27, platform/lib/vrw.php:18, public/wiz_foto/nc_thumb.php:24, public/wiz_foto/nextcloud_import.php:10
vrp_load_service_libs()
Carica le librerie PHP dei servizi che ne dichiarano una (campo lib
Ritorna: void
Usato in: platform/boot/3_2_1_Go.php:53
vrp_current_service()
Il servizio ospitato nel lab dentro cui cade la richiesta corrente
Ritorna: array|null - la targa del servizio (slug + manifest) o null
Usato in: platform/lib/vrp_services.php:123, platform/lib/vrp_services.php:156
vrp_service_bg()
Dipinge le pagine HTML del servizio ospitato col suo sfondo, guidato
Ritorna: void
Usato in: platform/boot/3_2_1_Go.php:64, platform/lib/vrp_services.php:145
vrp_service_esci()
Inietta un bottone "Esci" fisso nelle pagine dei SERVIZI ospitati (che
Ritorna: void
manuale: sezione: Servizi
Usato in: platform/boot/3_2_1_Go.php:68
vrp_util.php
vrp_h($s)
Escape HTML sicuro. Tollera null e array (uniti con " & ").
| parametro | descrizione |
mixed $s |
Ritorna: string
manuale: sezione: Utility
Usato in: platform/lib/vrp_services.php:159, platform/lib/vrs.php:276, platform/lib/vrs.php:293, platform/lib/vrs.php:307, platform/lib/vrs.php:310, platform/lib/vrs.php:328, platform/lib/vrs.php:339, platform/lib/vrs.php:342, platform/lib/vrs.php:349, platform/lib/vrs.php:350, platform/lib/vrs.php:351, platform/pages/accesso.php:45, platform/pages/accesso.php:47, platform/pages/accesso.php:48, platform/pages/accesso.php:50, platform/pages/accesso.php:54, platform/pages/accesso.php:57, platform/pages/admin.php:32, platform/pages/admin.php:38, platform/pages/admin.php:39 _(+97)_
vrp_url(string $path = '/')
URL assoluto a partire dalla base di piattaforma (VRP_BASE_URL).
| parametro | descrizione |
string $path | percorso relativo (es. 'public/vrp_config.php') |
Ritorna: string
Usato in: platform/lib/vrp_auth.php:188, platform/lib/vrp_services.php:159, platform/lib/vrp_util.php:51, platform/pages/accesso.php:21, platform/pages/accesso.php:32, platform/pages/accesso.php:47, platform/pages/login.php:22, platform/pages/login.php:50, platform/pages/logout.php:30, platform/pages/logout.php:37, platform/pages/logout.php:51, platform/pages/logout.php:52, platform/pages/profilo.php:24, platform/pages/profilo.php:103, platform/pages/users.php:197, public/index.php:54, public/index.php:55, public/index.php:84, public/index.php:87, public/share/index.php:45
vrp_asset_url(string $rel)
URL di un asset con marca-tempo (?v=mtime) per bustare la cache.
| parametro | descrizione |
string $rel | percorso relativo alla piattaforma (es. 'public/css/x.css') |
Ritorna: string
Usato in: _(nessun uso trovato nel lab)_
vrp_client_ip()
IP del client, gestendo eventuali proxy; '-' se ignoto.
Ritorna: string
Usato in: platform/lib/vrp_auth.php:39
vrp_is_lan()
Vero se la richiesta arriva dalla LAN di casa o da localhost
Ritorna: bool
Usato in: platform/lib/vrp_auth.php:180, platform/pages/home.php:40, public/index.php:46, public/index.php:101, public/share/anw/verboten.php:15, public/wiz_foto/nc_thumb.php:18
vrp_csrf_token()
Token CSRF di sessione (creato una volta sola).
Ritorna: string
Usato in: platform/lib/vrs.php:310, platform/pages/config.php:199, platform/pages/login.php:41, platform/pages/profilo.php:104, platform/pages/users.php:192, public/share/index.php:78, public/share/index.php:85
vrp_csrf_check()
Verifica il token CSRF arrivato via POST.
Ritorna: bool
Usato in: platform/pages/config.php:49, platform/pages/login.php:31, platform/pages/profilo.php:40, platform/pages/users.php:48, public/share/create_dir.php:10, public/share/delete.php:11, public/share/upload.php:10
vrp_load_json(string $path)
Legge un file JSON e lo restituisce come array. Fail-loud: se il file
| parametro | descrizione |
string $path | percorso assoluto del file .json |
Ritorna: array
Usato in: platform/lib/vrp_services.php:30, platform/lib/vrp_services.php:54, platform/pages/users.php:38
vrs.php
vrs_cfg()
vrs.php - VittRos Share: libreria del servizio di condivisione file.
manuale: sezione: Share
Usato in: platform/lib/vrs.php:33, platform/lib/vrs.php:39
vrs_storage_root()
Radice fisica dello storage (cartelle numerate per dir_id).
Usato in: platform/lib/vrs.php:109
vrs_root_dir_id()
Id della cartella radice dell'albero share.
Usato in: platform/lib/vrs.php:208, platform/lib/vrs.php:285, public/share/delete.php:18, public/share/index.php:15, public/share/index.php:19
vrs_uid()
Id dell'utente di piattaforma corrente, o null.
Usato in: platform/lib/vrs.php:58, public/share/create_dir.php:17, public/share/upload.php:20
vrs_is_admin()
Vero se l'utente corrente e' admin del servizio share.
Usato in: platform/lib/vrs.php:59
vrs_can_manage(?int $ownerUserId)
Vero se l'utente corrente puo' gestire un elemento di $ownerUserId.
Usato in: platform/lib/vrs.php:196, platform/lib/vrs.php:212, platform/lib/vrs.php:302
vrs_get_dir(int $dirId)
Una cartella per id (viva), o null.
Usato in: platform/lib/vrs.php:139, platform/lib/vrs.php:152, platform/lib/vrs.php:211, platform/lib/vrs.php:274, public/share/index.php:17, public/share/index.php:20, public/share/upload.php:16
vrs_list_child_dirs(int $parentId)
Cartelle figlie (vive) di una cartella, in ordine di nome.
Usato in: platform/lib/vrs.php:215, platform/lib/vrs.php:285, platform/lib/vrs.php:325
vrs_list_files(int $dirId)
File (vivi) contenuti in una cartella, in ordine di nome.
Usato in: platform/lib/vrs.php:332
vrs_get_file(int $fileId)
Un file per id (vivo), o null.
Usato in: platform/lib/vrs.php:195, public/share/download.php:11, public/share/thumb.php:19
vrs_fs_dir(int $dirId)
Path fisico della cartella di un dir_id.
Usato in: platform/lib/vrs.php:115, platform/lib/vrs.php:125, platform/lib/vrs.php:222
vrs_ensure_fs_dir(int $dirId)
Garantisce (e ritorna) la cartella fisica di un dir_id.
Usato in: platform/lib/vrs.php:145, platform/lib/vrs.php:164
vrs_file_path(array $file)
Path fisico completo di un file (dalla sua riga share_files).
Usato in: platform/lib/vrs.php:199, platform/lib/vrs.php:219, public/share/download.php:17, public/share/thumb.php:33
vrs_create_dir(int $parentId, string $name, int $ownerUserId)
Crea una cartella figlia (DB + mkdir). Ritorna il nuovo id.
Usato in: public/share/create_dir.php:24
vrs_store_uploaded_file(int $dirId, array $file, int $ownerUserId)
Salva un file uploadato in una cartella (move + insert). Ritorna l'id.
Usato in: public/share/upload.php:41
vrs_delete_file(int $id)
Cancella un file: rimuove il file fisico e marca la riga come eliminata.
Usato in: public/share/delete.php:20
vrs_delete_dir(int $id)
Cancella una cartella (ricorsiva, hard): rimuove i file fisici e le
Usato in: platform/lib/vrs.php:216, public/share/delete.php:20
vrs_format_bytes(int $bytes)
Byte -> stringa leggibile (B/KB/MB/GB/TB).
Usato in: platform/lib/vrs.php:335
vrs_sanitize_filename(string $name)
Sanitizza il nome di un file (mantiene lettere/numeri/._- e spazi->_).
Usato in: platform/lib/vrs.php:163
vrs_sanitize_dirname(string $name)
Sanitizza il nome logico di una cartella (niente slash, spazi compressi).
Usato in: platform/lib/vrs.php:135
vrs_is_thumbable(string $filename)
Vero se il nome-file e' un'immagine servibile come thumbnail da vrp_img.
Usato in: platform/lib/vrs.php:338, public/share/thumb.php:26
vrs_is_video(string $filename)
Vero se il nome-file e' un video (anteprima = fotogramma via ffmpeg).
Usato in: platform/lib/vrs.php:340, public/share/thumb.php:27
vrs_breadcrumb(int $dirId)
Briciole di navigazione (dalla radice alla cartella corrente).
Usato in: public/share/index.php:70
vrs_render_tree(int $currentId)
Albero laterale: le cartelle di primo livello sotto la radice.
Usato in: public/share/index.php:94
vrs_delete_button(string $type, int $id, int $backDir, ?int $ownerId)
Bottoncino 🗑 (form POST a delete.php) per file/cartella, solo se l'utente
Usato in: platform/lib/vrs.php:329, platform/lib/vrs.php:353
vrs_render_dir(int $dirId)
Contenuto della cartella: sottocartelle + file (anteprima per immagini e
Usato in: public/share/index.php:98
vrw.php
vrw_base_url()
Prefisso URL della cartella del wizard (per i link fra gli step).
Ritorna: string
Usato in: platform/lib/vrw.php:48, platform/lib/vrw.php:51, public/wiz_foto/index.php:4
vrw_css_href()
URL del foglio di stile locale del wizard (theme.css).
Ritorna: string
Usato in: public/wiz_foto/export_staging_csv.php:93, public/wiz_foto/heic_to_jpg.php:249, public/wiz_foto/import.php:288, public/wiz_foto/index.php:23, public/wiz_foto/nextcloud_import.php:112, public/wiz_foto/unzip_amazon.php:257, public/wiz_foto/upload_to_staging.php:65
vrw_mkdir(string $dir)
Crea una cartella (se manca) con i permessi collaborativi del wizard.
Usato in: public/wiz_foto/unzip_amazon.php:10, public/wiz_foto/unzip_amazon.php:115, public/wiz_foto/unzip_amazon.php:154
vrw_is_jpeg(string $p)
Vero se il file e' un JPEG (per estensione).
Usato in: platform/lib/vrw.php:115, public/wiz_foto/nextcloud_import.php:33, public/wiz_foto/nextcloud_import.php:63
vrw_is_heic(string $p)
Vero se il file e' un HEIC/HEIF (per estensione).
Usato in: public/wiz_foto/heic_to_jpg.php:158, public/wiz_foto/nextcloud_import.php:34, public/wiz_foto/nextcloud_import.php:64
vrw_heic_to_jpg(string $src, string $dst)
Converte un HEIC in JPG col primo strumento disponibile
| parametro | descrizione |
string $src | file HEIC |
string $dst | jpg di destinazione (temporaneo) |
Ritorna: bool
Usato in: public/wiz_foto/nextcloud_import.php:79
vrw_exif_date(string $file)
Data/ora dagli EXIF del JPEG (DateTimeOriginal/Digitized/DateTime), o null.
Usato in: platform/lib/vrw.php:197
vrw_filename_date(string $path)
Data/ora dal nome file (IMG_AAAAMMGG_HHMMSS, AAAA-MM-GG_HH-MM-SS, ...), o null.
Usato in: platform/lib/vrw.php:198
vrw_filename_year_hint(string $path)
Solo l'anno dal nome (fallback per la cartella indecise), o null.
Usato in: platform/lib/vrw.php:204
vrw_safe_target_path(string $dstDir, string $baseName)
Percorso di destinazione senza sovrascrivere (_001, _002, ...).
Usato in: platform/lib/vrw.php:218
vrw_is_duplicate_by_size(string $dstPath, int $srcSize)
Doppione se esiste gia' un file di pari dimensione nel punto di destinazione.
Usato in: platform/lib/vrw.php:212, platform/lib/vrw.php:235
vrw_ingest(string $src, string $label, string $destBase, string $mode, bool $dryRun, bool $useMtime)
Importa UN file in leNostre. Ritorna l'esito (senza scrivere se $dryRun).
| parametro | descrizione |
string $src | file sorgente (jpeg) |
string $label | etichetta per la cartella "indecise" (es. account) |
string $destBase | radice leNostre |
string $mode | 'copy' (default sensato per Nextcloud) o 'move' |
bool $dryRun | solo anteprima, non tocca il disco |
bool $useMtime | usa la mtime se mancano EXIF e data-nel-nome |
Ritorna: array - ['status'=>imported|indecise|skipped|error,'dry'=>bool,'dst'=>..,'source'=>..,'msg'=>..]
Usato in: public/wiz_foto/nextcloud_import.php:86
vrw_fix_file(string $file)
Applica al file i permessi collaborativi del wizard.
Usato in: public/wiz_foto/unzip_amazon.php:173
vrw_fix_dir(string $dir)
Applica alla cartella i permessi collaborativi del wizard.
Usato in: _(nessun uso trovato nel lab)_
vrw_pecore_overlay(string $title, array $doneButtons, string $movie = '/vittrosviaggi_shared/movie/intervallo/intervallo_pecore.mp4')
Overlay "intervallo pecore" + barra di avanzamento: fonte UNICA per
| parametro | descrizione |
string $title | titolo mostrato sull'overlay |
array $doneButtons | bottoni di fine lavoro ([label,href]; href '#stay' = resta) |
string $movie | video di attesa (default: intervallo pecore in shared) |
Ritorna: void
Usato in: public/wiz_foto/heic_to_jpg.php:333, public/wiz_foto/import.php:375, public/wiz_foto/unzip_amazon.php:344