get('items_per_page'); // // oppure tramite helper globale (se definito): // $valuta = setting('currency_symbol'); // ───────────────────────────────────────────────────────────────────────────── return [ // ─── Valori di default ───────────────────────────────────────────────── // Usati come fallback se la chiave non esiste nella tabella DB. // Modificare questi valori richiede un deploy; per cambiamenti frequenti // usa direttamente il pannello impostazioni. 'defaults' => [ 'company_name' => 'La Mia Azienda', 'currency' => 'EUR', 'currency_symbol' => '€', 'date_format' => 'd/m/Y', 'items_per_page' => 15, 'welcome_message' => 'Benvenuto nel Portale Clienti!', 'allow_notes' => true, 'theme_color' => '#0d6efd', 'support_email' => 'supporto@example.com', 'max_file_size_mb' => 10, ], // ─── Descrizioni leggibili ───────────────────────────────────────────── // Visualizzate nel pannello impostazioni come label/tooltip. 'descriptions' => [ 'company_name' => 'Nome della tua azienda (mostrato in header e report)', 'currency' => 'Codice valuta ISO 4217 (es. EUR, USD, GBP)', 'currency_symbol' => 'Simbolo valuta visualizzato nei prezzi (es. €, $)', 'date_format' => 'Formato date (sintassi PHP: d/m/Y, Y-m-d, ecc.)', 'items_per_page' => 'Numero di righe nelle tabelle paginate', 'welcome_message' => 'Messaggio mostrato nella dashboard', 'allow_notes' => 'Abilita il campo note nelle schede cliente', 'theme_color' => 'Colore principale dell\'interfaccia (hex, es. #0d6efd)', 'support_email' => 'Email mostrata ai clienti per richieste di supporto', 'max_file_size_mb' => 'Dimensione massima upload allegati (in MB)', ], // ─── Tipi di dato ────────────────────────────────────────────────────── // Usati da SettingService per convertire i valori al tipo corretto. // La tabella DB salva tutto come stringa; il tipo definisce il cast. 'types' => [ 'company_name' => 'string', 'currency' => 'string', 'currency_symbol' => 'string', 'date_format' => 'string', 'items_per_page' => 'integer', 'welcome_message' => 'text', 'allow_notes' => 'boolean', 'theme_color' => 'string', 'support_email' => 'string', 'max_file_size_mb' => 'integer', ], // ─── Gruppi (per organizzare il pannello impostazioni) ───────────────── 'groups' => [ 'Azienda' => ['company_name', 'support_email'], 'Visualizzazione' => ['currency', 'currency_symbol', 'date_format', 'items_per_page', 'theme_color', 'welcome_message'], 'Funzionalità' => ['allow_notes', 'max_file_size_mb'], ], // ─── Cache ───────────────────────────────────────────────────────────── // Durata cache (minuti). Le impostazioni vengono lette dal DB una volta // e poi servite dalla cache per evitare query ad ogni richiesta. 'cache_ttl_minutes' => 60, ];