openstamanager/update/2_5.php

607 lines
37 KiB
PHP

<?php
use Symfony\Component\Filesystem\Filesystem as SymfonyFilesystem;
include __DIR__.'/../config.inc.php';
// File e cartelle deprecate
$files = [
'assets/src/js/wacom/sigCaptDialog/libs/',
'modules/impianti/plugins/',
'modules/voci_servizio/'
];
foreach ($files as $key => $value) {
$files[$key] = realpath(base_dir().'/'.$value);
}
delete($files);
/* Fix per file sql di update aggiornato dopo rilascio 2.4.35 */
$has_column = null;
$col_righe = $database->fetchArray('SHOW COLUMNS FROM `zz_groups`');
$has_column = array_search('id_module_start', array_column($col_righe, 'Field'));
if (empty($has_column)) {
$database->query('ALTER TABLE `zz_groups` ADD `id_module_start` INT NULL AFTER `editable`');
}
if ($backup_dir){
/* Rinomino i file zip all'interno della cartella di backup, aggiungendo "FULL" alla fine del nome*/
$filesystem = new SymfonyFilesystem();
//glob viene utilizzata per ottenere la lista dei file zip all'interno della cartella $backup_dir.
$files = glob($backup_dir . '/*.zip');
foreach ($files as $file) {
$fileName = basename($file);
if (strpos($fileName, 'FULL') === false) {
$newFileName = pathinfo($fileName, PATHINFO_FILENAME) . ' FULL.zip';
$newFilePath = $backup_dir . '/' . $newFileName;
$filesystem->rename($file, $newFilePath);
}
}
}else{
echo "Impossibile completare l'aggiornamento. Variabile <b>$backup_dir</b> non impostata.\n";
}
// Aggiunta record per lingua inglese
$tables = [
'an_provenienze_lang',
'an_relazioni_lang',
'an_settori_lang',
'an_tipianagrafiche_lang',
'co_iva_lang',
'co_pagamenti_lang',
'co_staticontratti_lang',
'co_statidocumento_lang',
'co_statipreventivi_lang',
'co_tipidocumento_lang',
'co_tipi_scadenze_lang',
'do_categorie_lang',
'dt_aspettobeni_lang',
'dt_causalet_lang',
'dt_porto_lang',
'dt_spedizione_lang',
'dt_statiddt_lang',
'dt_tipiddt_lang',
'em_lists_lang',
'em_templates_lang',
'in_fasceorarie_lang',
'in_statiintervento_lang',
'in_tipiintervento_lang',
'mg_articoli_lang',
'mg_attributi_lang',
'mg_categorie_lang',
'mg_causali_movimenti_lang',
'mg_combinazioni_lang',
'or_statiordine_lang',
'or_tipiordine_lang',
'zz_cache_lang',
'zz_currencies_lang',
'zz_groups_lang',
'zz_group_module_lang',
'zz_hooks_lang',
'zz_imports_lang',
'zz_modules_lang',
'zz_plugins_lang',
'zz_prints_lang',
'zz_segments_lang',
'zz_settings_lang',
'zz_tasks_lang',
'zz_views_lang',
'zz_widgets_lang',
];
foreach ($tables as $table) {
$database->query('CREATE TEMPORARY TABLE `tmp` SELECT * FROM '.$table);
$database->query('ALTER TABLE `tmp` DROP `id`');
$database->query('UPDATE `tmp` SET `id_lang` = 2');
$database->query('INSERT INTO '.$table.' SELECT NULL,tmp. * FROM tmp');
$database->query('DROP TEMPORARY TABLE tmp');
}
$traduzioni = [
// traduzione moduli
['zz_modules_lang', 'Entities', 'Anagrafiche'],
['zz_modules_lang', 'Tasks', 'Interventi'],
['zz_modules_lang', 'Updates', 'Aggiornamenti'],
['zz_modules_lang', 'Type of entities', 'Tipi di anagrafiche'],
['zz_modules_lang', 'Type of Tasks', 'Tipi di intervento'],
['zz_modules_lang', 'Tasks states', 'Stati di intervento'],
['zz_modules_lang', 'Accounting', 'Contabilità'],
['zz_modules_lang', 'Quotes', 'Preventivi'],
['zz_modules_lang', 'Sales invoices', 'Fatture di vendita'],
['zz_modules_lang', 'Purchase invoices', 'Fatture di acquisto'],
['zz_modules_lang', 'Scheduled payments', 'Scadenzario'],
['zz_modules_lang', 'Storage', 'Magazzino'],
['zz_modules_lang', 'Pricing lists', 'Listini'],
['zz_modules_lang', 'Customer orders', 'Ordini cliente'],
['zz_modules_lang', 'Supplier orders', 'Ordini fornitore'],
['zz_modules_lang', 'Sales delivery document', 'Ddt di vendita'],
['zz_modules_lang', 'Suppliers delivery document', 'Ddt di acquisto'],
['zz_modules_lang', 'Area', 'Zone'],
['zz_modules_lang', 'Technicians rates', 'Tecnici e tariffe'],
['zz_modules_lang', 'Balances', 'Piano dei conti'],
['zz_modules_lang', 'Products', 'Articoli'],
['zz_modules_lang', 'Discounts and Surcharges', 'Piani di sconto/maggiorazione'],
['zz_modules_lang', 'Plants', 'Impianti'],
['zz_modules_lang', 'Contracts', 'Contratti'],
['zz_modules_lang', 'Sales', 'Vendite'],
['zz_modules_lang', 'Purchases', 'Acquisti'],
['zz_modules_lang', 'Tools', 'Strumenti'],
['zz_modules_lang', 'Views', 'Viste'],
['zz_modules_lang', 'Users and permissions', 'Utenti e permessi'],
['zz_modules_lang', 'Settings', 'Impostazioni'],
['zz_modules_lang', 'Tables', 'Tabelle'],
['zz_modules_lang', 'VAT', 'IVA'],
['zz_modules_lang', 'Causals', 'Causali'],
['zz_modules_lang', 'Goods appearances', 'Aspetto beni'],
['zz_modules_lang', 'Units of measure', 'Unità di misura'],
['zz_modules_lang', 'Payments', 'Pagamenti'],
['zz_modules_lang', 'Products categories', 'Categorie articoli'],
['zz_modules_lang', 'Movements', 'Movimenti'],
['zz_modules_lang', 'Charts', 'Statistiche'],
['zz_modules_lang', 'Email accounts', 'Account email'],
['zz_modules_lang', 'Email templates', 'Template email'],
['zz_modules_lang', 'Email managements', 'Gestione email'],
['zz_modules_lang', 'Segments', 'Segmenti'],
['zz_modules_lang', 'Banks', 'Banche'],
['zz_modules_lang', 'Custom fields', 'Campi personalizzati'],
['zz_modules_lang', 'Documents management', 'Gestione documentale'],
['zz_modules_lang', 'Document categories', 'Categorie documenti'],
['zz_modules_lang', 'Types of shipping', 'Tipi di spedizione'],
['zz_modules_lang', 'Plants categories', 'Categorie impianti'],
['zz_modules_lang', 'Quote statuses', 'Stati dei preventivi'],
['zz_modules_lang', 'Contract statuses', 'Stati dei contratti'],
['zz_modules_lang', 'Services status', 'Stato dei servizi'],
['zz_modules_lang', 'Type of deadlines', 'Tipi scadenze'],
['zz_modules_lang', 'Email statuses', 'Coda di invio'],
['zz_modules_lang', 'Lists', 'Liste'],
['zz_modules_lang', 'Relations', 'Relazioni'],
['zz_modules_lang', 'Prints', 'Stampe'],
['zz_modules_lang', 'Movements causes', 'Causali movimenti'],
['zz_modules_lang', 'Stock locations', 'Giacenze sedi'],
['zz_modules_lang', 'Types of document', 'Tipi documento'],
['zz_modules_lang', 'Combination attributes', 'Attributi combinazioni'],
['zz_modules_lang', 'Combinations', 'Combinazioni'],
['zz_modules_lang', 'Contact roles', 'Mansioni referenti'],
['zz_modules_lang', 'Time slots', 'Fasce orarie'],
['zz_modules_lang', 'Events', 'Eventi'],
['zz_modules_lang', 'Customers origins', 'Provenienze clienti'],
['zz_modules_lang', 'Product sectors', 'Settori merceologici'],
['zz_modules_lang', 'Maps', 'Mappa'],
['zz_modules_lang', 'Customers price lists', 'Listini cliente'],
['zz_modules_lang', 'Orders statuses', 'Stati degli ordini'],
['zz_modules_lang', 'Invoices statuses', 'Stati fatture'],
['zz_modules_lang', 'Internal tasks management', 'Gestione task'],
['zz_modules_lang', 'Vehicles', 'Automezzi'],
['zz_modules_lang', 'OAuth access', 'Accesso con OAuth'],
['zz_modules_lang', 'Storage connectors', 'Adattatori di archiviazione'],
['zz_modules_lang', 'test', 'test'],
// traduzione plugins
['zz_plugins_lang', 'Client plants', 'Impianti del cliente'],
['zz_plugins_lang', 'Plants', 'Impianti'],
['zz_plugins_lang', 'Contacts', 'Referenti'],
['zz_plugins_lang', 'Locations', 'Sedi'],
['zz_plugins_lang', 'Statistics', 'Statistiche'],
['zz_plugins_lang', 'Performed tasks', 'Interventi svolti'],
['zz_plugins_lang', 'Movements', 'Movimenti'],
['zz_plugins_lang', 'Serial', 'Serial'],
['zz_plugins_lang', 'Final', 'Consuntivo'],
['zz_plugins_lang', 'Tasks schedulation', 'Pianificazione attività'],
['zz_plugins_lang', 'Customer sales delivery document', 'Ddt del cliente'],
['zz_plugins_lang', 'Electronic invoicing', 'Fatturazione elettronica'],
['zz_plugins_lang', 'Revisions', 'Revisioni'],
['zz_plugins_lang', 'Electronic invoices receipts', 'Ricevute FE'],
['zz_plugins_lang', 'Stocks', 'Giacenze'],
['zz_plugins_lang', 'Renewals', 'Rinnovi'],
['zz_plugins_lang', 'Statistics', 'Statistiche'],
['zz_plugins_lang', 'Intent declarations', 'Dichiarazioni d\'intento'],
['zz_plugins_lang', 'Billing scheduling', 'Pianificazione fatturazione'],
['zz_plugins_lang', 'Net customers', 'Netto clienti'],
['zz_plugins_lang', 'Tasks history', 'Storico attività'],
['zz_plugins_lang', 'Attachments', 'Allegati'],
['zz_plugins_lang', 'Components', 'Componenti'],
['zz_plugins_lang', 'Supplier price list', 'Listino fornitori'],
['zz_plugins_lang', 'Discount/surcharge plans', 'Piani di sconto/maggiorazione'],
['zz_plugins_lang', 'Article variants', 'Varianti articolo'],
['zz_plugins_lang', 'Customer contracts', 'Contratti del cliente'],
['zz_plugins_lang', 'Accounting movements', 'Movimenti contabili'],
['zz_plugins_lang', 'Bank presentations', 'Presentazioni bancarie'],
['zz_plugins_lang', 'Payment rules', 'Regole pagamenti'],
['zz_plugins_lang', 'Registrations', 'Registrazioni'],
['zz_plugins_lang', 'Commissions', 'Provvigioni'],
['zz_plugins_lang', 'Sales statistics', 'Statistiche vendita'],
// traduzione settings
['zz_settings_lang', 'Activate beta-versions download', 'Abilita canale pre-release per aggiornamenti'],
['zz_settings_lang', 'Enable export to Excel and PDF', 'Abilita esportazione Excel e PDF'],
['zz_settings_lang', 'Enable modification of other technicians', 'Abilita la modifica di altri tecnici'],
['zz_settings_lang', 'Charge stamp duty to the customer', 'Addebita marca da bollo al cliente'],
['zz_settings_lang', 'Update purchase info', 'Aggiorna info di acquisto'],
['zz_settings_lang', 'Add line notes between documents', 'Aggiungi le note delle righe tra documenti'],
['zz_settings_lang', 'Add document reference', 'Aggiungi riferimento tra documenti'],
['zz_settings_lang', 'Technician occupation alert', 'Alert occupazione tecnici'],
['zz_settings_lang', 'Attach business invoice printing', 'Allega stampa per fattura verso Aziende'],
['zz_settings_lang', 'Attach PA invoice printing', 'Allega stampa per fattura verso PA'],
['zz_settings_lang', 'Attach private invoice printing', 'Allega stampa per fattura verso Privati'],
['zz_settings_lang', 'apilayer API key for VAT number', 'apilayer API key for VAT number'],
['zz_settings_lang', 'Enable updates', 'Attiva aggiornamenti'],
['zz_settings_lang', 'Enable user presence notification on record', 'Attiva notifica di presenza utenti sul record'],
['zz_settings_lang', 'Enable keyboard shortcuts', 'Attiva scorciatoie da tastiera'],
['zz_settings_lang', 'Authorization ID Indice PA', 'Authorization ID Indice PA'],
['zz_settings_lang', 'Form autocompletion', 'Autocompletamento form'],
['zz_settings_lang', 'Default company', 'Azienda predefinita'],
['zz_settings_lang', 'Automatic backup', 'Backup automatico'],
['zz_settings_lang', 'Block prices lower than sales minimum', 'Bloccare i prezzi inferiori al minimo di vendita'],
['zz_settings_lang', 'Automatically change the status of fatturati ddt', 'Cambia automaticamente stato ddt fatturati'],
['zz_settings_lang', 'Automatically change the status of fatturati orders', 'Cambia automaticamente stato ordini fatturati'],
['zz_settings_lang', 'Default provident fund cash', 'Cassa previdenziale predefinita'],
['zz_settings_lang', 'Advance payment reason', 'Causale ritenuta d\'acconto'],
['zz_settings_lang', 'Decimal places for amounts', 'Cifre decimali per importi'],
['zz_settings_lang', 'Decimal places for amounts in printing', 'Cifre decimali per importi in stampa'],
['zz_settings_lang', 'Decimal places for quantities', 'Cifre decimali per quantità'],
['zz_settings_lang', 'Decimal places for quantities in printing', 'Cifre decimali per quantità in stampa'],
['zz_settings_lang', 'Decimal places for totals in printing', 'Cifre decimali per totali in stampa'],
['zz_settings_lang', 'General supply contract terms', 'Condizioni generali di fornitura contratti'],
['zz_settings_lang', 'General supply quotation terms', 'Condizioni generali di fornitura preventivi'],
['zz_settings_lang', 'Automatically confirm quantities in customer orders', 'Conferma automaticamente le quantità negli ordini cliente'],
['zz_settings_lang', 'Automatically confirm quantities in supplier orders', 'Conferma automaticamente le quantità negli ordini fornitore'],
['zz_settings_lang', 'Automatically confirm quantities in quotations', 'Conferma automaticamente le quantità nei preventivi'],
['zz_settings_lang', 'Customer advance account', 'Conto anticipo clienti'],
['zz_settings_lang', 'Supplier advance account', 'Conto anticipo fornitori'],
['zz_settings_lang', 'Default company account', 'Conto aziendale predefinito'],
['zz_settings_lang', 'Second-level account for customer credits', 'Conto di secondo livello per i crediti clienti'],
['zz_settings_lang', 'Second-level account for supplier debts', 'Conto di secondo livello per i debiti fornitori'],
['zz_settings_lang', 'Account for opening balance sheet accounts', 'Conto per Apertura conti patrimoniali'],
['zz_settings_lang', 'Account for self-billing', 'Conto per autofattura'],
['zz_settings_lang', 'Account for closing balance sheet accounts', 'Conto per Chiusura conti patrimoniali'],
['zz_settings_lang', 'Account for tax authority with enasarco', 'Conto per Erario c/enasarco'],
['zz_settings_lang', 'Account for tax authority with INPS', 'Conto per Erario c/INPS'],
['zz_settings_lang', 'Account for tax authority with withholding tax', 'Conto per Erario c/ritenute d\'acconto'],
['zz_settings_lang', 'Account for non-deductible VAT', 'Conto per Iva indetraibile'],
['zz_settings_lang', 'Account for VAT on purchases', 'Conto per Iva su acquisti'],
['zz_settings_lang', 'Account for VAT on sales', 'Conto per Iva su vendite'],
['zz_settings_lang', 'Fixed invoice label', 'Dicitura fissa fattura'],
['zz_settings_lang', 'Default widget size', 'Dimensione widget predefinita'],
['zz_settings_lang', 'Expand the "Additional Details" section automatically', 'Espandi automaticamente la sezione "Dettagli aggiuntivi"'],
['zz_settings_lang', 'Watermark prints', 'Filigrana stampe'],
['zz_settings_lang', 'End of calendar period', 'Fine periodo calendario'],
['zz_settings_lang', 'Format of tax code', 'Formato codice anagrafica'],
['zz_settings_lang', 'Printing time format', 'Formato ore in stampa'],
['zz_settings_lang', 'Default advance notice days', 'Giorni di preavviso di default'],
['zz_settings_lang', 'Working days', 'Giorni lavorativi'],
['zz_settings_lang', 'Google Maps API key for Technicians', 'Google Maps API key per Tecnici'],
['zz_settings_lang', 'Stamp duty amount', 'Importo marca da bollo'],
['zz_settings_lang', 'Start of calendar period', 'Inizio periodo calendario'],
['zz_settings_lang', 'Automatic request sending', 'Invio solleciti in automatico'],
['zz_settings_lang', 'VAT for letters of intent', 'Iva per lettere d\'intento'],
['zz_settings_lang', 'Default VAT', 'Iva predefinita'],
['zz_settings_lang', 'Wacom SDK license - Key', 'Licenza Wacom SDK - Key'],
['zz_settings_lang', 'Wacom SDK license - Secret', 'Licenza Wacom SDK - Secret'],
['zz_settings_lang', 'Language', 'Lingua'],
['zz_settings_lang', 'VAT settlement', 'Liquidazione iva'],
['zz_settings_lang', 'Default customer price list', 'Listino cliente predefinito'],
['zz_settings_lang', 'Print logo', 'Logo stampe'],
['zz_settings_lang', 'Wacom signature brightness', 'Luminosità firma Wacom'],
['zz_settings_lang', 'Page length of Datatables buffer', 'Lunghezza in pagine del buffer Datatables'],
['zz_settings_lang', 'Page length for API', 'Lunghezza pagine per API'],
['zz_settings_lang', 'Warehouse assets', 'Magazzino cespiti'],
['zz_settings_lang', 'Maintain references across all linked documents', 'Mantieni riferimenti tra tutti i documenti collegati'],
['zz_settings_lang', 'Months for Activity history', 'Mesi per lo storico delle Attività'],
['zz_settings_lang', 'Default calculation methodology for withholding tax', 'Metodologia calcolo ritenuta d\'acconto predefinito'],
['zz_settings_lang', 'Modify default views', 'Modifica Viste di default'],
['zz_settings_lang', 'Show prices to technicians', 'Mostra i prezzi al tecnico'],
['zz_settings_lang', 'Show prices', 'Mostra prezzi'],
['zz_settings_lang', 'Move warehouse during insertion or deletion of lots/serial numbers', 'Movimenta il magazzino durante l\'inserimento o eliminazione dei lotti/serial number'],
['zz_settings_lang', 'Move warehouse from purchase invoices', 'Movimenta magazzino da fatture di acquisto'],
['zz_settings_lang', 'Hide default plugin bar', 'Nascondere la barra dei plugin di default'],
['zz_settings_lang', 'Hide default left bar', 'Nascondere la barra sinistra di default'],
['zz_settings_lang', 'Notify technician of session addition to activity', 'Notifica al tecnico l\'aggiunta della sessione nell\'attività'],
['zz_settings_lang', 'Notify technician of assignment to activity', 'Notifica al tecnico l\'assegnazione all\'attività'],
['zz_settings_lang', 'Notify technician of assignment removal from activity', 'Notifica al tecnico la rimozione dell\'assegnazione dall\'attività'],
['zz_settings_lang', 'Notify technician of session removal from activity', 'Notifica al tecnico la rimozione della sessione dall\'attività'],
['zz_settings_lang', 'Number of backups to keep', 'Numero di backup da mantenere'],
['zz_settings_lang', 'Number of days to maintain send queue', 'Numero di giorni mantenimento coda di invio'],
['zz_settings_lang', 'Number of minutes for activity session advancement', 'Numero di minuti di avanzamento delle sessioni delle attività'],
['zz_settings_lang', 'Number of emails to send concurrently per account', 'Numero email da inviare in contemporanea per account'],
['zz_settings_lang', 'Maximum number of attempts', 'Numero massimo di tentativi'],
['zz_settings_lang', 'End time on the calendar', 'Ora fine sul calendario'],
['zz_settings_lang', 'Start time on the calendar', 'Ora inizio sul calendario'],
['zz_settings_lang', 'OSMCloud Services API Token', 'OSMCloud Services API Token'],
['zz_settings_lang', 'OSMCloud Services API URL', 'OSMCloud Services API URL'],
['zz_settings_lang', 'OSMCloud Services API Version', 'OSMCloud Services API Version'],
['zz_settings_lang', 'Allow billing of activities linked to contracts', 'Permetti fatturazione delle attività collegate a contratti'],
['zz_settings_lang', 'Allow billing of activities linked to orders', 'Permetti fatturazione delle attività collegate a ordini'],
['zz_settings_lang', 'Allow billing of activities linked to quotes', 'Permetti fatturazione delle attività collegate a preventivi'],
['zz_settings_lang', 'Allow restoration of backup from external files', 'Permetti il ripristino di backup da file esterni'],
['zz_settings_lang', 'Allow exceeding the quantity threshold of source documents', 'Permetti il superamento della soglia quantità dei documenti di origine'],
['zz_settings_lang', 'Allow insertion of sessions by other technicians', 'Permetti inserimento sessioni degli altri tecnici'],
['zz_settings_lang', 'Allow access to administrators', 'Permetti l\'accesso agli amministratori'],
['zz_settings_lang', 'Allow selection of items with quantity less than or equal to zero in Sales Documents', 'Permetti selezione articoli con quantità minore o uguale a zero in Documenti di Vendita'],
['zz_settings_lang', 'Currency symbol position', 'Posizione del simbolo valuta'],
['zz_settings_lang', 'First page', 'Prima pagina'],
['zz_settings_lang', 'Tax regime', 'Regime Fiscale'],
['zz_settings_lang', 'Document reference in Electronic Invoice', 'Riferimento dei documenti in Fattura Elettronica'],
['zz_settings_lang', 'Remove foreign invoice warning', 'Rimuovi avviso fatture estere'],
['zz_settings_lang', 'Delay in days since last email sent for payment reminder', 'Ritardo in giorni dall\'ultima email per invio sollecito pagamento'],
['zz_settings_lang', 'Delay in days since invoice due date for payment reminder', 'Ritardo in giorni della scadenza della fattura per invio solleitto pagamento'],
['zz_settings_lang', 'Default withholding tax', 'Ritenuta d\'acconto predefinita'],
['zz_settings_lang', 'Previdencial withholding tax', 'Ritenuta previdenziale predefinita'],
['zz_settings_lang', 'Second timeout Wacom tablet', 'Secondi timeout tavoletta Wacom'],
['zz_settings_lang', 'Enable serial number by default', 'Serial number abilitato di default'],
['zz_settings_lang', 'Purchase invoice section', 'Sezionario per autofatture di acquisto'],
['zz_settings_lang', 'Sale invoice section', 'Sezionario per autofatture di vendita'],
['zz_settings_lang', 'Wacom tablet background', 'Sfondo firma tavoletta Wacom'],
['zz_settings_lang', 'Sync only customers worked by technician in the past', 'Sincronizza solo i Clienti per cui il Tecnico ha lavorato in passato'],
['zz_settings_lang', 'Signature system', 'Sistema di firma'],
['zz_settings_lang', 'Soft quota', 'Soft quota'],
['zz_settings_lang', 'Minimum threshold for stamp application', 'Soglia minima per l\'applicazione della marca da bollo'],
['zz_settings_lang', 'Print preview and sign', 'Stampa per anteprima e firma'],
['zz_settings_lang', 'Close activity status', 'Stato dell\'attività alla chiusura'],
['zz_settings_lang', 'Signed activity status', 'Stato dell\'attività dopo la firma'],
['zz_settings_lang', 'Default activity status', 'Stato predefinito dell\'attività'],
['zz_settings_lang', 'Default activity status from Dashboard', 'Stato predefinito dell\'attività da Dashboard'],
['zz_settings_lang', 'Reminder email template', 'Template email invio sollecito']
['zz_settings_lang', 'Search time delay (seconds)', 'Tempo di attesa ricerche in secondi'],
['zz_settings_lang', 'Default snap activity status on calendar', 'Tempo predefinito di snap attività sul calendario'],
['zz_settings_lang', 'Intermediary', 'Terzo intermediario'],
['zz_settings_lang', 'OpenStreetMap tile server', 'Tile server OpenStreetMap'],
['zz_settings_lang', 'Presence notification timeout (minutes)', 'Timeout notifica di presenza (minuti)'],
['zz_settings_lang', 'Previdencial box type', 'Tipo Cassa Previdenziale'],
['zz_settings_lang', 'Default payment type', 'Tipo di pagamento predefinito'],
['zz_settings_lang', 'Default discount type', 'Tipo di sconto predefinito'],
['zz_settings_lang', 'Total tables restricted to selection', 'Totali delle tabelle ristretti alla selezione'],
['zz_settings_lang', 'Use sales prices inclusive of VAT', 'Utilizza prezzi di vendita comprensivi di IVA'],
['zz_settings_lang', 'Use tooltips on the calendar', 'Utilizzare i tooltip sul calendario'],
['zz_settings_lang', 'Currency', 'Valuta'],
['zz_settings_lang', 'Check intervention number', 'Verifica numero intervento'],
['zz_settings_lang', 'Dashboard view', 'Vista dashboard'],
['zz_settings_lang', 'Show additional information on the calendar', 'Visualizza informazioni aggiuntive sul calendario'],
['zz_settings_lang', 'Show reminders', 'Visualizza promemoria'],
['zz_settings_lang', 'Show reference on each line in print', 'Visualizza riferimento su ogni riga in stampa'],
['zz_settings_lang', 'Show only assigned reminders', 'Visualizza solo promemoria assegnati'],
['zz_settings_lang', 'Display Sunday on the calendar', 'Visualizzare la domenica sul calendario'],
['zz_settings_lang', 'Session color display', 'Visualizzazione colori sessioni'],
['zz_settings_lang', 'Group activities by type on invoice', 'Raggruppa attività per tipologia in fattura'],
['zz_settings_lang', 'Days validity of discarded invoice', 'Giorni validità fattura scartata'],
];
foreach ($traduzioni as $traduzione) {
$database->query('UPDATE '.$traduzione[0].' SET `title` = "'.$traduzione[1].'" WHERE `name` = "'.$traduzione[2].'" AND `id_lang` = 2');
}
$traduzioni = [
// Traduzione widget
['zz_widgets_lang', 'Customers number', 'Numero di clienti'],
['zz_widgets_lang', 'Technicians number', 'Numero di tecnici'],
['zz_widgets_lang', 'Supplier number', 'Numero di fornitori'],
['zz_widgets_lang', 'Agents number', 'Numero di Agenti'],
['zz_widgets_lang', 'Reminders for contracts to plan', 'Promemoria contratti da pianificare'],
['zz_widgets_lang', 'Deadlines', 'Scadenze'],
['zz_widgets_lang', 'Products running out', 'Articoli in esaurimento'],
['zz_widgets_lang', 'Quotations in process', 'Preventivi in lavorazione'],
['zz_widgets_lang', 'Contracts due for renewal', 'Contratti in scadenza'],
['zz_widgets_lang', 'Contractual rates', 'Rate contrattuali'],
['zz_widgets_lang', 'Inventory printout', 'Stampa inventario'],
['zz_widgets_lang', 'Sales revenue', 'Fatturato'],
['zz_widgets_lang', 'Purchases', 'Acquisti'],
['zz_widgets_lang', 'Customer credit balances', 'Crediti da clienti'],
['zz_widgets_lang', 'Bills due', 'Debiti verso fornitori'],
['zz_widgets_lang', 'Number of carriers', 'Numero di vettori'],
['zz_widgets_lang', 'All entities records', 'Tutte le anagrafiche'],
['zz_widgets_lang', 'Inventory value', 'Valore magazzino'],
['zz_widgets_lang', 'Items in stock', 'Articoli in magazzino'],
['zz_widgets_lang', 'Print calendar', 'Stampa calendario'],
['zz_widgets_lang', 'Planned tasks', 'Attività da pianificare'],
['zz_widgets_lang', 'Tasks to be scheduled', 'Attività nello stato da programmare'],
['zz_widgets_lang', 'Confirmed tasks', 'Attività confermate'],
['zz_widgets_lang', 'Inventory usage', 'Spazio utilizzato'],
['zz_widgets_lang', 'Internal notes', 'Note interne'],
['zz_widgets_lang', 'Unsubscribed synchronization', 'Sincronizzazione disiscritti'],
['zz_widgets_lang', 'Active price lists', 'Listini attivi'],
['zz_widgets_lang', 'Expired price lists', 'Listini scaduti'],
['zz_widgets_lang', 'Weekly calendar printout', 'Stampa calendario settimanale'],
['zz_widgets_lang', 'Quotations to invoice', 'Preventivi da fatturare'],
['zz_widgets_lang', 'Print load/unload document', 'Stampa carico odierno'],
['zz_widgets_lang', 'Print inventory report', 'Stampa giacenza'],
['zz_widgets_lang', 'Print assets report', 'Stampa cespiti'],
];
foreach ($traduzioni as $traduzione) {
$database->query('UPDATE '.$traduzione[0].' SET `text` = "'.$traduzione[1].'" WHERE `name` = "'.$traduzione[2].'" AND `id_lang` = 2');
$database->query('UPDATE '.$traduzione[0].' SET `name` = "'.$traduzione[1].'" WHERE `name` = "'.$traduzione[2].'" AND `id_lang` = 2');
}
$traduzioni = [
// Traduzione views
['zz_views_lang', 'Agent','Agente'],
['zz_views_lang', 'Attachments','Allegati'],
['zz_views_lang', 'Entity','Anagrafica'],
['zz_views_lang', 'Entities','Anagrafiche'],
['zz_views_lang', 'Products','Articoli'],
['zz_views_lang', 'Product','Articolo'],
['zz_views_lang', 'Active','Attivo'],
['zz_views_lang', 'Bank','Banca'],
['zz_views_lang', 'Company bank','Banca azienda'],
['zz_views_lang', 'Category','Categoria'],
['zz_views_lang', 'Causal','Causale'],
['zz_views_lang', 'Mobile number','Cellulare'],
['zz_views_lang', 'City','Città'],
['zz_views_lang', 'Consumer','Cliente'],
['zz_views_lang', 'Cod','Codice'],
['zz_views_lang', 'Receiver code','Codice destinatario'],
['zz_views_lang', 'Electric invoice code','Codice FE'],
['zz_views_lang', 'Code Mode', 'Codice Modalità'],
['zz_views_lang', 'Payment Code', 'Codice pagamento'],
['zz_views_lang', 'color', 'colore'],
['zz_views_lang', 'Color', 'Colore'],
['zz_views_lang', 'color_Color', 'color_Colore'],
['zz_views_lang', 'color_Relation', 'color_Relazione'],
['zz_views_lang', 'color_title_Relation', 'color_title_Relazione'],
['zz_views_lang', 'Completed', 'Completato'],
['zz_views_lang', 'Content', 'Contenuto'],
['zz_views_lang', 'Account', 'Conto'],
['zz_views_lang', 'Credit Account', 'Conto avere'],
['zz_views_lang', 'Debit Account', 'Conto dare'],
['zz_views_lang', 'Contract', 'Contratto'],
['zz_views_lang', 'Counterparty', 'Controparte'],
['zz_views_lang', 'Costs', 'Costi'],
['zz_views_lang', 'Cost per km', 'Costo al km'],
['zz_views_lang', 'Cost per km (technical)', 'Costo al km tecnico'],
['zz_views_lang', 'Cost per hour', 'Costo orario'],
['zz_views_lang', 'Cost per hour (technical)', 'Costo orario tecnico'],
['zz_views_lang', 'Deadline', 'Data scadenza'],
['zz_views_lang', 'Activation date', 'Data attivazione'],
['zz_views_lang', 'Completion date', 'Data conclusione'],
['zz_views_lang', 'Creation date', 'Data creazione'],
['zz_views_lang', 'Issue date', 'Data emissione'],
['zz_views_lang', 'End date', 'Data fine'],
['zz_views_lang', 'Start date', 'Data inizio'],
['zz_views_lang', 'Sending date', 'Data invio'],
['zz_views_lang', 'Movement date', 'Data movimento'],
['zz_views_lang', 'Deadline', 'Data scadenza'],
['zz_views_lang', 'Draft date', 'data_bozza'],
['zz_views_lang', 'Conclusion date', 'data_conclusione'],
['zz_views_lang', 'Request date', 'data_richiesta'],
['zz_views_lang', 'To be paid', 'da_pagare'],
['zz_views_lang', 'Description', 'Descrizione'],
['zz_views_lang', 'Deadline description', 'Descrizione scadenza'],
['zz_views_lang', 'Recipients', 'Destinatari'],
['zz_views_lang', 'Dynamic', 'Dinamica'],
['zz_views_lang', 'dir', 'dir'],
['zz_views_lang', 'Direction', 'Direzione'],
['zz_views_lang', 'Call right', 'Diritto di chiamata'],
['zz_views_lang', 'Call right (technical)', 'Diritto di chiamata tecnico'],
['zz_views_lang', 'Distinction', 'Distinta'],
['zz_views_lang', 'Sender email', 'Email mittente'],
['zz_views_lang', 'Debit/Credit', 'Esigibilità'],
['zz_views_lang', 'Export distinta', 'Esportazione distinta'],
['zz_views_lang', 'Expression', 'Expression'],
['zz_views_lang', 'Invoicable', 'Fatturabile'],
['zz_views_lang', 'Festivity', 'Festività'],
['zz_views_lang', 'Branch', 'Filiale'],
['zz_views_lang', 'Supplier', 'Fornitore'],
['zz_views_lang', 'Days', 'Giorni'],
['zz_views_lang', 'Accessible groups', 'Gruppi con accesso'],
['zz_views_lang', 'Group', 'Gruppo'],
['zz_views_lang', 'IBAN', 'IBAN'],
['zz_views_lang', 'Icon', 'Icona'],
['zz_views_lang', 'icon_Electronic invoice', 'icon_FE'],
['zz_views_lang', 'icon_Sent', 'icon_Inviata'],
['zz_views_lang', 'icon_Sent', 'icon_Inviato'],
['zz_views_lang', 'icon_Default', 'icon_Predefinito'],
['zz_views_lang', 'icon_Extimated evasion', 'icon_Prev. evasione'],
['zz_views_lang', 'icon_Status', 'icon_Stato'],
['zz_views_lang', 'icon_title_Electronic invoice', 'icon_title_FE'],
['zz_views_lang', 'icon_title_Sent', 'icon_title_Inviata'],
['zz_views_lang', 'icon_title_Sent', 'icon_title_Inviato'],
['zz_views_lang', 'icon_title_Extimated evasion', 'icon_title_Prev. evasione'],
['zz_views_lang', 'icon_title_Status', 'icon_title_Stato'],
['zz_views_lang', 'Busy', 'Impegnato'],
['zz_views_lang', 'Plants', 'Impianti'],
['zz_views_lang', 'Taxable', 'Imponibile'],
['zz_views_lang', 'Amount', 'Importo'],
['zz_views_lang', 'Include holidays', 'Includi festività'],
['zz_views_lang', 'Address', 'Indirizzo'],
['zz_views_lang', 'Mask', 'Maschera'],
['zz_views_lang', 'Maximum', 'Massimo'],
['zz_views_lang', 'Registration number', 'Matricola'],
['zz_views_lang', 'Minimum', 'Minimo'],
['zz_views_lang', 'Module', 'Modulo'],
['zz_views_lang', 'Initial module', 'Modulo iniziale'],
['zz_views_lang', 'Enabled API', 'N. API abilitate'],
['zz_views_lang', 'Protocol n°', 'N. Prot.'],
['zz_views_lang', 'N° of users', 'N. utenti'],
['zz_views_lang', 'Enabled users', 'N. utenti abilitati'],
['zz_views_lang', 'Nature', 'Natura'],
['zz_views_lang', 'Country', 'Nazione'],
['zz_views_lang', 'Net to pay', 'Netto a pagare'],
['zz_views_lang', 'Name', 'Nome'],
['zz_views_lang', 'Account name', 'Nome account'],
['zz_views_lang', 'File name', 'Nome del file'],
['zz_views_lang', 'Displayed name', 'Nome visualizzato'],
['zz_views_lang', 'Notes', 'Note'],
['zz_views_lang', 'Number', 'Numero'],
['zz_views_lang', 'Customer order number', 'Numero ordine cliente'],
['zz_views_lang', 'Subject', 'Oggetto'],
['zz_views_lang', 'End time', 'Ora fine'],
['zz_views_lang', 'Start time', 'Ora inizio'],
['zz_views_lang', 'End time', 'orario_fine'],
['zz_views_lang', 'Start time', 'orario_inizio'],
['zz_views_lang', 'Order', 'Ordine'],
['zz_views_lang', 'Hours', 'Ore'],
['zz_views_lang', 'Remaining hours', 'Ore rimanenti'],
['zz_views_lang', 'Payment', 'Pagamento'],
['zz_views_lang', 'Customer payment', 'Pagamento cliente'],
['zz_views_lang', 'Supplier payment', 'Pagamento fornitore'],
['zz_views_lang', 'Paid', 'Pagato'],
['zz_views_lang', 'Real paid', 'pagato_reale'],
['zz_views_lang', 'Percentage', 'Percentuale'],
['zz_views_lang', 'Percentage profit or discount', 'Percentuale guadagno o sconto'],
['zz_views_lang', 'Taxable percentage', 'Percentuale imponibile'],
['zz_views_lang', 'Schedulable', 'Pianificabile'],
['zz_views_lang', 'Plugin', 'Plugin'],
['zz_views_lang', 'Previous run', 'Precedente esecuzione'],
['zz_views_lang', 'Default', 'Predefinita'],
['zz_views_lang', 'Default', 'Predefinito'],
['zz_views_lang', 'Quote', 'Preventivo'],
['zz_views_lang', 'Purchase price', 'Prezzo di acquisto'],
['zz_views_lang', 'Selling price', 'Prezzo di vendita'],
['zz_views_lang', 'Unit price', 'Prezzo unitario'],
['zz_views_lang', 'VAT-included selling price', 'Prezzo vendita ivato'],
['zz_views_lang', 'First note', 'Prima nota'],
['zz_views_lang', 'Next run', 'Prossima esecuzione'],
['zz_views_lang', 'Quantity', 'Q.tà'],
['zz_views_lang', 'Available quantity', 'Q.tà disponibile'],
['zz_views_lang', 'Quantity committed', 'Q.tà impegnata'],
['zz_views_lang', 'Ordered quantity', 'Q.tà ordinata'],
['zz_views_lang', 'Quantity', 'Quantità'],
['zz_views_lang', 'Legal entity', 'Ragione sociale'],
['zz_views_lang', 'Rate', 'Rate'],
['zz_views_lang', 'Referent', 'Referente'],
['zz_views_lang', 'Referents', 'Referenti'],
['zz_views_lang', 'Reversed', 'Reversed'],
['zz_views_lang', 'Gross revenue', 'Ricavi'],
['zz_views_lang', 'Request', 'Richiesta'],
['zz_views_lang', 'Recurring', 'Ricorrente'],
['zz_views_lang', 'Invoice reference', 'Rif. fattura'],
['zz_views_lang', 'References', 'Riferimenti'],
['zz_views_lang', 'Renewable', 'Rinnovabile'],
['zz_views_lang', 'Balance', 'Saldo'],
['zz_views_lang', 'Due days', 'Scadenza giorni'],
['zz_views_lang', 'Expired', 'Scaduto'],
['zz_views_lang', 'Discount percentage', 'Sconto percentuale'],
['zz_views_lang', 'Destination', 'Sede destinazione'],
['zz_views_lang', 'Departure', 'Sede partenza'],
['zz_views_lang', 'Locations', 'Sedi'],
['zz_views_lang', 'Always visible', 'Sempre visibile'],
['zz_views_lang', 'Service', 'Servizio'],
['zz_views_lang', 'Sectional', 'Sezionale'],
['zz_views_lang', 'Subcategory', 'Sottocategoria'],
['zz_views_lang', 'Status', 'Stato'],
['zz_views_lang', 'License plate', 'Targa'],
['zz_views_lang', 'Technicians', 'Tecnici'],
['zz_views_lang', 'Assigned technicians', 'Tecnici assegnati'],
['zz_views_lang', 'Technician', 'Tecnico'],
['zz_views_lang', 'Phone', 'Telefono'],
['zz_views_lang', 'Themes', 'Temi'],
['zz_views_lang', 'Template', 'Template'],
['zz_views_lang', 'Standard time', 'Tempo standard'],
['zz_views_lang', 'Attempts', 'Tentativi'],
['zz_views_lang', 'Type', 'Tipo'],
['zz_views_lang', 'Payment type', 'Tipo di pagamento'],
['zz_views_lang', 'Delivery type', 'Tipo spedizione'],
['zz_views_lang', 'Type', 'Tipologia'],
['zz_views_lang', 'Title', 'Titolo'],
['zz_views_lang', 'Document total', 'Totale documento'],
['zz_views_lang', 'Last modification', 'Ultima modifica'],
['zz_views_lang', 'Last attempt', 'Ultimo tentativo'],
['zz_views_lang', 'Measure unit', 'Um'],
['zz_views_lang', 'User', 'Utente'],
['zz_views_lang', 'Value', 'Valore'],
['zz_views_lang', 'Carrier', 'Vettore'],
];
foreach ($traduzioni as $traduzione) {
$database->query('UPDATE '.$traduzione[0].' SET `name` = "'.$traduzione[1].'" WHERE `name` = "'.$traduzione[2].'" AND `id_lang` = 2');
}