mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-16 11:30:55 +01:00
Completo utilizzo delle funzionalità di Symfony Translator
Miglioramento nella gestione delle sostituzioni inline per le traduzioni, con aggiunta di alcune opzioni integrate per modificare l'output (tutto maiuscolo o tutto minuscolo). Aggiunta della libreria danielstjules/stringy per migliorare la gestione delle stringhe con supporto completo alla codifica UTF-8.
This commit is contained in:
parent
57b88358d0
commit
9c5625c3bb
39
actions.php
39
actions.php
@ -23,12 +23,16 @@ $dbo->query('START TRANSACTION');
|
||||
if (filter('op') == 'link_file' || filter('op') == 'unlink_file') {
|
||||
// Controllo sui permessi di scrittura per il modulo
|
||||
if (Modules::getPermission($id_module) != 'rw') {
|
||||
$_SESSION['errors'][] = str_replace('_MODULE_', '"'.Modules::getModule($id_module)['name'].'"', tr('Non hai permessi di scrittura per il modulo _MODULE_'));
|
||||
$_SESSION['errors'][] = tr('Non hai permessi di scrittura per il modulo _MODULE_', [
|
||||
'_MODULE_' => '"'.Modules::getModule($id_module)['name'].'"',
|
||||
]);
|
||||
}
|
||||
|
||||
// Controllo sui permessi di scrittura per il file system
|
||||
elseif ((!is_dir($upload_dir) && !create_dir($upload_dir)) || (is_dir($upload_dir) && !is_writable($upload_dir))) {
|
||||
$_SESSION['errors'][] = str_replace('_DIR_', '"files"', tr('Non hai i permessi di scrittura nella cartella _DIR_!'));
|
||||
$_SESSION['errors'][] = tr('Non hai i permessi di scrittura nella cartella _DIR_!', [
|
||||
'_DIR_' => '"files"',
|
||||
]);
|
||||
}
|
||||
|
||||
// Gestione delle operazioni
|
||||
@ -157,13 +161,13 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') {
|
||||
|
||||
if (in_array($f['extension'], array_keys($allowed))) {
|
||||
*/
|
||||
do {
|
||||
$filename = random_string().'.'.$f['extension'];
|
||||
} while (file_exists($upload_dir.'/'.$filename));
|
||||
do {
|
||||
$filename = random_string().'.'.$f['extension'];
|
||||
} while (file_exists($upload_dir.'/'.$filename));
|
||||
|
||||
// Creazione file fisico
|
||||
if (move_uploaded_file($src, $upload_dir.'/'.$filename)) {
|
||||
$dbo->insert('zz_files', [
|
||||
// Creazione file fisico
|
||||
if (move_uploaded_file($src, $upload_dir.'/'.$filename)) {
|
||||
$dbo->insert('zz_files', [
|
||||
'nome' => $nome,
|
||||
'filename' => $filename,
|
||||
'original' => $_FILES['blob']['name'],
|
||||
@ -171,10 +175,10 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') {
|
||||
'id_record' => $id_record,
|
||||
]);
|
||||
|
||||
$_SESSION['infos'][] = tr('File caricato correttamente!');
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Errore durante il caricamento del file!');
|
||||
}
|
||||
$_SESSION['infos'][] = tr('File caricato correttamente!');
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Errore durante il caricamento del file!');
|
||||
}
|
||||
/*
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Tipologia di file non permessa!');
|
||||
@ -191,10 +195,15 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') {
|
||||
if (unlink($upload_dir.'/'.$filename)) {
|
||||
$query = 'DELETE FROM zz_files WHERE id_module='.prepare($id_module).' AND id='.prepare(filter('id')).' AND filename='.prepare($filename);
|
||||
if ($dbo->query($query)) {
|
||||
$_SESSION['infos'][] = str_replace('_FILE_', '"'.$rs[0]['nome'].'"', tr('File _FILE_ eliminato!'));
|
||||
$_SESSION['infos'][] = tr('File _FILE_ eliminato!', [
|
||||
'_FILE_' => '"'.$rs[0]['nome'].'"',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace(['_FILE_', '_DIR_'], ['"'.$filename.'"', '"files/'.$module_dir.'/"'], tr("Errore durante l'eliminazione del file _FILE_ in _DIR_!"));
|
||||
$_SESSION['errors'][] = tr("Errore durante l'eliminazione del file _FILE_ in _DIR_!", [
|
||||
'_FILE_' => '"'.$rs[0]['nome'].'"',
|
||||
'_DIR_' => '"files/'.$module_dir.'/"',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -235,7 +244,7 @@ if (Modules::getPermission($permesso) == 'rw') {
|
||||
// Esecuzione delle operazioni di gruppo
|
||||
$id_records = post('id_records');
|
||||
$id_records = is_array($id_records) ? $id_records : explode(',', $id_records);
|
||||
$id_records = array_filter($id_records, function($var){return !empty($var);} );
|
||||
$id_records = array_filter($id_records, function ($var) {return !empty($var); });
|
||||
$id_records = array_unique($id_records);
|
||||
|
||||
$bulk = null;
|
||||
|
14
bug.php
14
bug.php
@ -78,14 +78,12 @@ if (filter('op') == 'send') {
|
||||
|
||||
// Se ho scelto di inoltrare copia del db
|
||||
if (!empty($post['sql'])) {
|
||||
backup_tables('Backup OSM '.date('Y-m-d').' '.date('H_i_s').'.sql');
|
||||
$backup_file = $docroot.'/Backup OSM '.date('Y-m-d').' '.date('H_i_s').'.sql';
|
||||
backup_tables($backup_file);
|
||||
|
||||
if (file_put_contents($docroot.'/'.$backup_file, $dump)) {
|
||||
$mail->AddAttachment($docroot.'/'.$backup_file);
|
||||
$_SESSION['infos'][] = tr('Backup del database eseguito ed allegato correttamente!');
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Errore durante la creazione del file di backup!');
|
||||
}
|
||||
$mail->AddAttachment($backup_file);
|
||||
|
||||
$_SESSION['infos'][] = tr('Backup del database eseguito ed allegato correttamente!');
|
||||
}
|
||||
|
||||
// Se ho scelto di inoltrare le INFO del mio sistema
|
||||
@ -105,7 +103,7 @@ if (filter('op') == 'send') {
|
||||
$mail->SmtpClose();
|
||||
|
||||
if (!empty($post['sql'])) {
|
||||
unlink($docroot.'/'.$backup_file);
|
||||
unlink($backup_file);
|
||||
}
|
||||
|
||||
redirect($rootdir.'/bug.php');
|
||||
|
@ -23,6 +23,7 @@
|
||||
"type": "project",
|
||||
"require": {
|
||||
"php": ">=5.4",
|
||||
"danielstjules/stringy": "^3.1",
|
||||
"ezyang/htmlpurifier": "^4.8",
|
||||
"filp/whoops": "^2.1",
|
||||
"ifsnop/mysqldump-php": "^2.3",
|
||||
|
@ -119,7 +119,9 @@ $db_name = \'|database|\';
|
||||
<h3 class="box-title">'.tr('Permessi di scrittura mancanti').'</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p>'.str_replace('_FILE_', '<b>config.inc.php</b>', tr('Sembra che non ci siano i permessi di scrittura sul file _FILE_')).'</p>
|
||||
<p>'.tr('Sembra che non ci siano i permessi di scrittura sul file _FILE_', [
|
||||
'_FILE_' => '<b>config.inc.php</b>',
|
||||
]).'</p>
|
||||
<form action="'.$rootdir.'/index.php?action=updateconfig&firstuse=true" method="post">
|
||||
<div class="hide">
|
||||
<input type="hidden" name="db_name" value="'.$db_name.'">
|
||||
@ -139,7 +141,9 @@ $db_name = \'|database|\';
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p>'.str_replace('_FILE_', '<b>config.inc.php</b>', tr('Inserire il seguente testo nel file _FILE_')).'</p>
|
||||
<p>'.tr('Inserire il seguente testo nel file _FILE_', [
|
||||
'_FILE_' => '<b>config.inc.php</b>',
|
||||
]).'</p>
|
||||
<pre class="text-left">'.htmlentities($new_config).'</pre>
|
||||
</div>
|
||||
</div>
|
||||
@ -179,7 +183,9 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<p>'.tr("L'avvio del software è fallito a causa dell'assenza di alcuni paramentri nella configurazione di base").'.</p>
|
||||
<p>'.str_replace('_CONFIG_', '<b>config.inc.php</b>', tr("Si prega di controllare che il file _CONFIG_ contenga tutti i dati inseriti durante la configurazione iniziale (con l'eccezione di password e indirizzo email amministrativi)")).'.</p>
|
||||
<p>'.tr("Si prega di controllare che il file _FILE_ contenga tutti i dati inseriti durante la configurazione iniziale (con l'eccezione di password e indirizzo email amministrativi)", [
|
||||
'_FILE_' => '<b>config.inc.php</b>',
|
||||
]).'.</p>
|
||||
<p>'.tr("Nel caso il problema persista, rivolgersi all'assistenza ufficiale").'.</p>
|
||||
<a class="btn btn-info" href="'.$rootdir.'/index.php"><i class="fa fa-repeat"></i> '.tr('Riprova').'</a>
|
||||
</div>
|
||||
@ -245,7 +251,7 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
|
||||
data = parseFloat(data.trim());
|
||||
|
||||
if(data == 0){
|
||||
swal("'.tr('Errore della configurazione').'", "'.tr("La configurazione non è corretta.").'", "error");
|
||||
swal("'.tr('Errore della configurazione').'", "'.tr('La configurazione non è corretta.').'", "error");
|
||||
} else if(data == 1){
|
||||
swal("'.tr('Permessi insufficienti').'", "'.tr("L'utente non possiede permessi sufficienti per il corretto funzionamento del software.").'", "error");
|
||||
} else{
|
||||
@ -295,7 +301,9 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<p>'.str_replace('_FILE_', '<i>php.ini</i>', tr('Le seguenti estensioni PHP devono essere abilitate dal file di configurazione _FILE_')).':</p>
|
||||
<p>'.tr('Le seguenti estensioni PHP devono essere abilitate dal file di configurazione _FILE_', [
|
||||
'_FILE_' => '<b>php.ini</b>',
|
||||
]).':</p>
|
||||
<div class="list-group">';
|
||||
$extensions = [
|
||||
'zip' => tr("Necessario per l'utilizzo delle funzioni di aggiornamento automatico e backup, oltre che per eventuali moduli aggiuntivi"),
|
||||
@ -334,7 +342,9 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
|
||||
echo '
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<p>'.str_replace('_FILE_', '<i>php.ini</i>', tr('Le seguenti impostazioni PHP devono essere modificate nel file di configurazione _FILE_')).':</p>
|
||||
<p>'.tr('Le seguenti impostazioni PHP devono essere modificate nel file di configurazione _FILE_', [
|
||||
'_FILE_' => '<b>php.ini</b>',
|
||||
]).':</p>
|
||||
<div class="list-group">';
|
||||
$values = [
|
||||
'display_errors' => true,
|
||||
@ -431,7 +441,9 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
|
||||
// LICENZA
|
||||
echo '
|
||||
<div id="step-2">
|
||||
<p>'.str_replace('_LICENSE_', 'GPL 3.0', tr('OpenSTAManager è tutelato dalla licenza _LICENSE_!')).'</p>
|
||||
<p>'.tr('OpenSTAManager è tutelato dalla licenza _LICENSE_!', [
|
||||
'_LICENSE_' => 'GPL 3.0',
|
||||
]).'</p>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-8">
|
||||
@ -462,7 +474,9 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
|
||||
<a href="http://www.openstamanager.com/contattaci/?subject=Assistenza%20installazione%20OSM" target="_blank" ><img class="pull-right" width="32" src="'.$img.'/help.png" alt="'.tr('Aiuto').'" title="'.tr('Contatta il nostro help-desk').'"/></a>
|
||||
|
||||
<p>'.tr('Non hai ancora configurato OpenSTAManager').'.</p>
|
||||
<p><small class="help-block">'.str_replace('_CONFIG_', '<b>config.inc.php</b>', tr('Configura correttamente il software con i seguenti parametri (modificabili successivamente dal file _CONFIG_)')).'</small></p>';
|
||||
<p><small class="help-block">'.tr('Configura correttamente il software con i seguenti parametri (modificabili successivamente dal file _FILE_)', [
|
||||
'_FILE_' => '<b>config.inc.php</b>',
|
||||
]).'</small></p>';
|
||||
|
||||
// Form dei parametri
|
||||
echo '
|
||||
|
@ -27,7 +27,9 @@ if (filter('action') == 'do_update') {
|
||||
if (!empty($update['sql']) && $result[1] == $result[2]) {
|
||||
echo '
|
||||
<script>
|
||||
$("#progress .info").html($("#progress .info").html() + "<p> <i class=\"fa fa-check\"></i> '.str_replace('_FILENAME_', '<i>'.$update['filename'].'.sql</i>', tr('Aggiornamento del database (_FILENAME_)')).'</p>");
|
||||
$("#progress .info").html($("#progress .info").html() + "<p> <i class=\"fa fa-check\"></i> '.tr('Aggiornamento del database (_FILENAME_)', [
|
||||
'_FILENAME_' => '<i>'.$update['filename'].'.sql</i>',
|
||||
]).'</p>");
|
||||
</script>';
|
||||
}
|
||||
|
||||
@ -36,7 +38,9 @@ if (filter('action') == 'do_update') {
|
||||
// Aggiunta del messaggio riguardante la conclusione dello script
|
||||
echo '
|
||||
<script>
|
||||
$("#progress .info").html($("#progress .info").html() + "<p> <i class=\"fa fa-check\"></i> '.str_replace('_FILENAME_', '<i>'.$update['filename'].'.php</i>', tr('Esecuzione dello script di aggiornamento (_FILENAME_)')).'</p>");
|
||||
$("#progress .info").html($("#progress .info").html() + "<p> <i class=\"fa fa-check\"></i> '.tr('Esecuzione dello script di aggiornamento (_FILENAME_)', [
|
||||
'_FILENAME_' => '<i>'.$update['filename'].'.php</i>',
|
||||
]).'</p>");
|
||||
</script>';
|
||||
|
||||
$rate = $scriptValue;
|
||||
@ -58,7 +62,9 @@ if (filter('action') == 'do_update') {
|
||||
// Fallimento
|
||||
echo '
|
||||
<div class="alert alert-danger">
|
||||
<i class="fa fa-times"></i> '.str_replace('_VERSION_', $update['version'], tr("Errore durante l'esecuzione dell'aggiornamento alla versione _VERSION_")).'
|
||||
<i class="fa fa-times"></i> '.tr("Errore durante l'esecuzione dell'aggiornamento alla versione _VERSION_", [
|
||||
'_VERSION_' => $update['version'],
|
||||
]).'
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
@ -87,7 +93,9 @@ if (filter('action') == 'do_update') {
|
||||
<p>'.tr('Puoi procedere al login con i seguenti dati').':</p>
|
||||
<p>'.tr('Username').': <i>admin</i></p>
|
||||
<p>'.tr('Password').': <i> '.$password.'</i></p>
|
||||
<p class="text-danger">'.str_replace('_FILE_', '<b>config.inc.php</b>', tr("E' fortemente consigliato rimuovere i permessi di scrittura dal file _FILE_")).'.</p>';
|
||||
<p class="text-danger">'.tr("E' fortemente consigliato rimuovere i permessi di scrittura dal file _FILE_", [
|
||||
'_FILE_' => '<b>config.inc.php</b>',
|
||||
]).'.</p>';
|
||||
|
||||
// Imposto la password di admin che l'utente ha selezionato all'inizio
|
||||
if (isset($_SESSION['osm_password'])) {
|
||||
@ -163,7 +171,9 @@ if (filter('action') == 'do_update') {
|
||||
<p>'.tr("E' necessario aggiornare il database a una nuova versione").'.</p>';
|
||||
}
|
||||
echo '
|
||||
<p>'.str_replace('_BUTTON_', '<b>"'.$button.'"</b>', tr("Premi il tasto _BUTTON_ per procedere con l'aggiornamento!")).'</p>
|
||||
<p>'.tr("Premi il tasto _BUTTON_ per procedere con l'aggiornamento!", [
|
||||
'_BUTTON_' => '<b>"'.$button.'"</b>',
|
||||
]).'</p>
|
||||
<input type="button" class="btn btn-primary" value="'.$button.'" onclick="continue_update()" id="contine_button">
|
||||
|
||||
<script>
|
||||
@ -249,7 +259,11 @@ if (filter('action') == 'do_update') {
|
||||
versions.push(version);
|
||||
current += 1;
|
||||
|
||||
$("#progress .info").html($("#progress .info").html() + "<p><strong>'.str_replace(['_DONE_', '_TODO_', '_VERSION_'], ['" + current + "', '" + count + "', '" + version + "'], tr('Aggiornamento _DONE_ di _TODO_ (_VERSION_)')).'</strong></p>");
|
||||
$("#progress .info").html($("#progress .info").html() + "<p><strong>'.tr('Aggiornamento _DONE_ di _TODO_ (_VERSION_)', [
|
||||
'_DONE_' => '" + current + "',
|
||||
'_TODO_' => '" + count + "',
|
||||
'_VERSION_' => '" + version + "',
|
||||
]).'</strong></p>");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -162,14 +162,29 @@ class Translator extends Util\Singleton
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function translate($string, $parameters = [], $domain = null, $locale = null)
|
||||
public static function translate($string, $parameters = [], $operations = [])
|
||||
{
|
||||
$translator = self::getInstance()->getTranslator();
|
||||
if (!empty($translator)) {
|
||||
return $translator->trans($string, $parameters, $domain, $locale);
|
||||
} else {
|
||||
return $string;
|
||||
|
||||
$result = !empty($translator) ? $translator->trans($string, $parameters) : $string;
|
||||
|
||||
// Sostituzione di default nel caso il traduttore non sia supportato
|
||||
if (empty($translator)) {
|
||||
$result = str_replace(array_keys($operations), array_values($operations), $result);
|
||||
}
|
||||
|
||||
// Operazioni aggiuntive sul risultato
|
||||
if (!empty($operations)) {
|
||||
$result = new Stringy\Stringy($result);
|
||||
|
||||
if (!empty($operations['upper'])) {
|
||||
$result = $result->toUpperCase();
|
||||
} elseif (!empty($operations['lower'])) {
|
||||
$result = $result->toLowerCase();
|
||||
}
|
||||
}
|
||||
|
||||
return (string) $result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -128,7 +128,9 @@ class Ini
|
||||
|
||||
if (is_array($array)) {
|
||||
$result[] = '
|
||||
<h4>'.str_replace('_NAME_', $array['Nome']['valore'], tr('Attributi per _NAME_')).'</h4>
|
||||
<h4>'.tr('Attributi per _NAME_', [
|
||||
'_NAME_' => $array['Nome']['valore'],
|
||||
]).'</h4>
|
||||
<input type="hidden" name="Nome" value="'.$array['Nome']['valore'].'">';
|
||||
|
||||
foreach ($array as $sezione => $array_impostazioni) {
|
||||
|
@ -693,16 +693,16 @@ function p($parameter)
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function tr($string, $parameters = [], $domain = null, $locale = null)
|
||||
function tr($string, $parameters = [], $operations = [])
|
||||
{
|
||||
return Translator::translate($string, $parameters, $domain, $locale);
|
||||
return Translator::translate($string, $parameters, $operations);
|
||||
}
|
||||
|
||||
// Retrocompatibilità
|
||||
// Retrocompatibilità (con la funzione gettext)
|
||||
if (!function_exists('_')) {
|
||||
function _($string, $parameters = [], $domain = null, $locale = null)
|
||||
function _($string, $parameters = [], $operations = [])
|
||||
{
|
||||
return tr($string, $parameters, $domain, $locale);
|
||||
return tr($string, $parameters, $operations);
|
||||
}
|
||||
}
|
||||
|
||||
|
11
lib/util.php
11
lib/util.php
@ -1,5 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Stringy\Stringy as S;
|
||||
|
||||
if (!function_exists('parse_ini_string')) {
|
||||
/**
|
||||
* Simulazione di "parse_ini_string".
|
||||
@ -52,7 +54,8 @@ if (!function_exists('starts_with')) {
|
||||
*/
|
||||
function starts_with($string, $starts_with)
|
||||
{
|
||||
return strpos($string, $starts_with) === 0;
|
||||
//return strpos($string, $starts_with) === 0;
|
||||
return S::create($string)->startsWith($starts_with);
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,7 +70,8 @@ if (!function_exists('ends_with')) {
|
||||
*/
|
||||
function ends_with($string, $ends_with)
|
||||
{
|
||||
return substr($string, -strlen($ends_with)) === $ends_with;
|
||||
//return substr($string, -strlen($ends_with)) === $ends_with;
|
||||
return S::create($string)->endsWith($ends_with);
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,7 +86,8 @@ if (!function_exists('str_contains')) {
|
||||
*/
|
||||
function str_contains($string, $contains)
|
||||
{
|
||||
return strpos($string, $contains) !== false;
|
||||
//return strpos($string, $contains) !== false;
|
||||
return S::create($string)->contains($contains);
|
||||
}
|
||||
}
|
||||
|
||||
|
1733
locale/catalog.pot
1733
locale/catalog.pot
File diff suppressed because it is too large
Load Diff
@ -28,7 +28,9 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
deltree($docroot.'/modules/'.$module_dir.'/');
|
||||
$_SESSION['infos'][] = str_replace('_MODULE_', '"'.$modulo.'"', tr('Modulo _MODULE_ disinstallato!'));
|
||||
$_SESSION['infos'][] = tr('Modulo _MODULE_ disinstallato!', [
|
||||
'_MODULE_' => '"'.$modulo.'"',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,7 +40,9 @@ switch (post('op')) {
|
||||
$dbo->query('UPDATE zz_modules SET enabled=0 WHERE id='.prepare($id));
|
||||
$rs = $dbo->fetchArray('SELECT id, name FROM zz_modules WHERE id='.prepare($id));
|
||||
$modulo = $rs[0]['name'];
|
||||
$_SESSION['infos'][] = str_replace('_MODULE_', '"'.$modulo.'"', tr('Modulo _MODULE_ disabilitato!'));
|
||||
$_SESSION['infos'][] = tr('Modulo _MODULE_ disabilitato!', [
|
||||
'_MODULE_' => '"'.$modulo.'"',
|
||||
]);
|
||||
|
||||
break;
|
||||
|
||||
@ -46,7 +50,9 @@ switch (post('op')) {
|
||||
$dbo->query('UPDATE zz_modules SET enabled=1 WHERE id='.prepare($id));
|
||||
$rs = $dbo->fetchArray('SELECT id, name FROM zz_modules WHERE id='.prepare($id));
|
||||
$modulo = $rs[0]['name'];
|
||||
$_SESSION['infos'][] = str_replace('_MODULE_', '"'.$modulo.'"', tr('Modulo _MODULE_ abilitato!'));
|
||||
$_SESSION['infos'][] = tr('Modulo _MODULE_ abilitato!', [
|
||||
'_MODULE_' => '"'.$modulo.'"',
|
||||
]);
|
||||
|
||||
break;
|
||||
|
||||
@ -55,7 +61,9 @@ switch (post('op')) {
|
||||
$dbo->query('UPDATE zz_widgets SET enabled=0 WHERE id='.prepare($id));
|
||||
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
|
||||
$widget = $rs[0]['name'];
|
||||
$_SESSION['infos'][] = str_replace('_WIDGET_', '"'.$widget.'"', tr('Widget _WIDGET_ disabilitato!'));
|
||||
$_SESSION['infos'][] = tr('Widget _WIDGET_ disabilitato!', [
|
||||
'_WIDGET_' => '"'.$widget.'"',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -65,7 +73,9 @@ switch (post('op')) {
|
||||
$dbo->query('UPDATE zz_widgets SET enabled=1 WHERE id='.prepare($id));
|
||||
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
|
||||
$widget = $rs[0]['name'];
|
||||
$_SESSION['infos'][] = str_replace('_WIDGET_', '"'.$widget.'"', tr('Widget _WIDGET_ abilitato!'));
|
||||
$_SESSION['infos'][] = tr('Widget _WIDGET_ abilitato!', [
|
||||
'_WIDGET_' => '"'.$widget.'"',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -75,7 +85,9 @@ switch (post('op')) {
|
||||
$dbo->query("UPDATE zz_widgets SET location='controller_top' WHERE id=".prepare($id));
|
||||
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
|
||||
$widget = $rs[0]['name'];
|
||||
$_SESSION['infos'][] = str_replace('_WIDGET_', '"'.$widget.'"', tr('Posizione del widget _WIDGET_ aggiornata!'));
|
||||
$_SESSION['infos'][] = tr('Posizione del widget _WIDGET_ aggiornata!', [
|
||||
'_WIDGET_' => '"'.$widget.'"',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -85,7 +97,9 @@ switch (post('op')) {
|
||||
$dbo->query("UPDATE zz_widgets SET location='controller_right' WHERE id=".prepare($id));
|
||||
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
|
||||
$widget = $rs[0]['name'];
|
||||
$_SESSION['infos'][] = str_replace('_WIDGET_', '"'.$widget.'"', tr('Posizione del widget _WIDGET_ aggiornata!'));
|
||||
$_SESSION['infos'][] = tr('Posizione del widget _WIDGET_ aggiornata!', [
|
||||
'_WIDGET_' => '"'.$widget.'"',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -109,7 +123,7 @@ switch (post('op')) {
|
||||
|
||||
for ($i = 0; $i < count($ids); ++$i) {
|
||||
$id = explode('_', $ids[$i]);
|
||||
$dbo->query('UPDATE zz_widgets SET `order`='.prepare($i).", class=".prepare($class).' WHERE id='.prepare($id[1]).' AND location='.prepare($location).' AND id_module='.prepare($id_module));
|
||||
$dbo->query('UPDATE zz_widgets SET `order`='.prepare($i).', class='.prepare($class).' WHERE id='.prepare($id[1]).' AND location='.prepare($location).' AND id_module='.prepare($id_module));
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -27,7 +27,9 @@ if (get_var('Attiva aggiornamenti')) {
|
||||
if (!empty($alerts)) {
|
||||
echo '
|
||||
<div class="alert alert-warning">
|
||||
<p>'.str_replace('_CONFIG_', '<b>php.ini</b>', tr('Devi modificare il seguenti parametri del file di configurazione PHP (_CONFIG_) per poter caricare gli aggiornamenti')).':<ul>';
|
||||
<p>'.tr('Devi modificare il seguenti parametri del file di configurazione PHP (_FILE_) per poter caricare gli aggiornamenti', [
|
||||
'_FILE_' => '<b>php.ini</b>',
|
||||
]).':<ul>';
|
||||
foreach ($alerts as $key => $value) {
|
||||
echo '
|
||||
<li><b>'.$key.'</b> = '.$value.'</li>';
|
||||
|
@ -100,15 +100,15 @@ switch (post('op')) {
|
||||
|
||||
if (empty($idconto_fornitore) && in_array($id_fornitore, $post['idtipoanagrafica'])) {
|
||||
// Calcolo prossimo numero cliente
|
||||
$rs = $dbo->fetchArray("SELECT MAX(CAST(co_pianodeiconti3.numero AS UNSIGNED)) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Debiti fornitori e debiti diversi'");
|
||||
$rs = $dbo->fetchArray("SELECT MAX(CAST(co_pianodeiconti3.numero AS UNSIGNED)) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Debiti fornitori e debiti diversi'");
|
||||
$new_numero = $rs[0]['max_numero'] + 1;
|
||||
$new_numero = str_pad($new_numero, 6, '0', STR_PAD_LEFT);
|
||||
|
||||
$dbo->query('INSERT INTO co_pianodeiconti3(numero, descrizione, idpianodeiconti2, can_delete, can_edit) VALUES('.prepare($new_numero).', '.prepare($post['ragione_sociale']).", (SELECT id FROM co_pianodeiconti2 WHERE descrizione='Debiti fornitori e debiti diversi'), 1, 1)");
|
||||
$idconto = $dbo->lastInsertedID();
|
||||
|
||||
// Collegamento conto
|
||||
$dbo->query('UPDATE an_anagrafiche SET idconto_fornitore='.prepare($idconto).' WHERE idanagrafica='.prepare($id_record));
|
||||
// Collegamento conto
|
||||
$dbo->query('UPDATE an_anagrafiche SET idconto_fornitore='.prepare($idconto).' WHERE idanagrafica='.prepare($id_record));
|
||||
}
|
||||
|
||||
break;
|
||||
@ -196,7 +196,9 @@ switch (post('op')) {
|
||||
echo json_encode(['id' => $id_record, 'text' => $ragione_sociale]);
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', '"'.$tipoanagrafica_dst.'"', tr('Aggiunta nuova anagrafica di tipo _TYPE_'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta nuova anagrafica di tipo _TYPE_', [
|
||||
'_TYPE_' => '"'.$tipoanagrafica_dst.'"',
|
||||
]);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -6,7 +6,7 @@ include_once __DIR__.'/../../../core.php';
|
||||
$rsi = $dbo->fetchArray('SELECT ragione_sociale, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS data, (SELECT SUM(prezzo_ore_consuntivo+prezzo_km_consuntivo+prezzo_dirittochiamata) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS totale FROM in_interventi INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE in_interventi.idanagrafica='.prepare($id_record));
|
||||
|
||||
$totale_interventi = 0;
|
||||
$data_start = strtotime("now");
|
||||
$data_start = strtotime('now');
|
||||
|
||||
for ($i = 0; $i < count($rsi); ++$i) {
|
||||
$totale_interventi += $rsi[$i]['totale'];
|
||||
@ -26,7 +26,10 @@ echo '
|
||||
<div class="box-body">';
|
||||
if (count($rsi) > 0) {
|
||||
echo '
|
||||
<p>'.str_replace(['_NUMBER_', '_EUR_'], [count($rsi), Translator::numberToLocale($totale_interventi)], tr('Sono stati svolti <strong>_NUMBER_ interventi</strong> per un totale di _EUR_ €')).'</p>
|
||||
<p>'.tr('Sono stati svolti <strong>_NUMBER_ interventi</strong> per un totale di _EUR_ €', [
|
||||
'_NUMBER_' => count($rsi),
|
||||
'_EUR_' => Translator::numberToLocale($totale_interventi),
|
||||
]).'</p>
|
||||
<p><a href="'.$rootdir.'/controller.php?id_module='.Modules::getModule('Interventi')['id'].'&search_Ragione-sociale='.$rsi[0]['ragione_sociale'].'">'.tr('Visualizza').' <i class="fa fa-chevron-right"></i></a></p>';
|
||||
} else {
|
||||
echo '
|
||||
@ -42,7 +45,7 @@ echo '
|
||||
$rsi = $dbo->fetchArray('SELECT data_accettazione AS data, ragione_sociale, budget FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica WHERE co_preventivi.idanagrafica='.prepare($id_record));
|
||||
|
||||
$totale_preventivi = 0;
|
||||
$data_start = strtotime("now");
|
||||
$data_start = strtotime('now');
|
||||
|
||||
for ($i = 0; $i < count($rsi); ++$i) {
|
||||
$totale_preventivi += $rsi[$i]['budget'];
|
||||
@ -61,7 +64,10 @@ echo '
|
||||
<div class="box-body">';
|
||||
if (count($rsi) > 0) {
|
||||
echo '
|
||||
<p>'.str_replace(['_NUMBER_', '_EUR_'], [count($rsi), Translator::numberToLocale($totale_preventivi)], tr('Si è lavorato per <strong>_NUMBER_ preventivi</strong> per un totale di _EUR_ €')).'</p>
|
||||
<p>'.tr('Si è lavorato per <strong>_NUMBER_ preventivi</strong> per un totale di _EUR_ €', [
|
||||
'_NUMBER_' => count($rsi),
|
||||
'_EUR_' => Translator::numberToLocale($totale_preventivi),
|
||||
]).'</p>
|
||||
<p><a href="'.$rootdir.'/controller.php?id_module='.Modules::getModule('Preventivi')['id'].'&search_Cliente='.$rsi[0]['ragione_sociale'].'">'.tr('Visualizza').' <i class="fa fa-chevron-right"></i></a></p>';
|
||||
} else {
|
||||
echo '
|
||||
@ -98,7 +104,10 @@ echo '
|
||||
<div class="box-body">';
|
||||
if (count($rsi) > 0) {
|
||||
echo '
|
||||
<p>'.str_replace(['_NUMBER_', '_EUR_'], [count($rsi), Translator::numberToLocale($totale_contratti)], tr('Si è lavorato per <strong>_NUMBER_ contratti</strong> per un totale di _EUR_ €')).'</p>
|
||||
<p>'.tr('Si è lavorato per <strong>_NUMBER_ contratti</strong> per un totale di _EUR_ €', [
|
||||
'_NUMBER_' => count($rsi),
|
||||
'_EUR_' => Translator::numberToLocale($totale_contratti),
|
||||
]).'</p>
|
||||
<p><a href="'.$rootdir.'/controller.php?id_module='.Modules::getModule('Contratti')['id'].'&search_Cliente='.$rsi[0]['ragione_sociale'].'">'.tr('Visualizza').' <i class="fa fa-chevron-right"></i></a></p>';
|
||||
} else {
|
||||
echo '
|
||||
@ -121,7 +130,7 @@ echo '
|
||||
$rsi = $dbo->fetchArray("SELECT data, ragione_sociale, (SELECT SUM(subtotale+iva) FROM co_righe_documenti WHERE iddocumento=co_documenti.id) AS totale FROM co_documenti INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir='entrata') AND co_documenti.idanagrafica=".prepare($id_record));
|
||||
|
||||
$totale_fatture_vendita = 0;
|
||||
$data_start = strtotime("now");
|
||||
$data_start = strtotime('now');
|
||||
|
||||
for ($i = 0; $i < count($rsi); ++$i) {
|
||||
$totale_fatture_vendita += $rsi[$i]['totale'];
|
||||
@ -133,7 +142,10 @@ for ($i = 0; $i < count($rsi); ++$i) {
|
||||
}
|
||||
if (count($rsi) > 0) {
|
||||
echo '
|
||||
<p>'.str_replace(['_NUMBER_', '_EUR_'], [count($rsi), Translator::numberToLocale($totale_fatture_vendita)], tr('Sono state emesse <strong>_NUMBER_ fatture di vendita</strong> per un totale di _EUR_ €')).'</p>
|
||||
<p>'.tr('Sono state emesse <strong>_NUMBER_ fatture di vendita</strong> per un totale di _EUR_ €', [
|
||||
'_NUMBER_' => count($rsi),
|
||||
'_EUR_' => Translator::numberToLocale($totale_fatture_vendita),
|
||||
]).'</p>
|
||||
<p><a href="'.$rootdir.'/controller.php?id_module='.Modules::getModule('Fatture di vendita')['id'].'&search_Ragione-sociale='.$rsi[0]['ragione_sociale'].'">'.tr('Visualizza').' <i class="fa fa-chevron-right"></i></a></p>';
|
||||
} else {
|
||||
echo '
|
||||
@ -147,7 +159,7 @@ echo '
|
||||
$rsi = $dbo->fetchArray("SELECT data, ragione_sociale, (SELECT SUM(subtotale+iva) FROM co_righe_documenti WHERE iddocumento=co_documenti.id) AS totale FROM co_documenti INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir='uscita') AND co_documenti.idanagrafica=".prepare($id_record));
|
||||
|
||||
$totale_fatture_acquisto = 0;
|
||||
$data_start = strtotime("now");
|
||||
$data_start = strtotime('now');
|
||||
|
||||
for ($i = 0; $i < count($rsi); ++$i) {
|
||||
$totale_fatture_acquisto += $rsi[$i]['totale'];
|
||||
@ -159,7 +171,10 @@ for ($i = 0; $i < count($rsi); ++$i) {
|
||||
}
|
||||
if (count($rsi) > 0) {
|
||||
echo '
|
||||
<p>'.str_replace(['_NUMBER_', '_EUR_'], [count($rsi), Translator::numberToLocale($totale_fatture_acquisto)], tr('Sono state registrate <strong>_NUMBER_ fatture di acquisto</strong> per un totale di _EUR_ €')).'</p>
|
||||
<p>'.tr('Sono state registrate <strong>_NUMBER_ fatture di acquisto</strong> per un totale di _EUR_ €', [
|
||||
'_NUMBER_' => count($rsi),
|
||||
'_EUR_' => Translator::numberToLocale($totale_fatture_acquisto),
|
||||
]).'</p>
|
||||
<p><a href="'.$rootdir.'/controller.php?id_module='.Modules::getModule('Fatture di acquisto')['id'].'&dir=uscita&search_Ragione-sociale='.$rsi[0]['ragione_sociale'].'">'.tr('Visualizza').' <i class="fa fa-chevron-right"></i></a></p>';
|
||||
} else {
|
||||
echo '
|
||||
|
@ -79,7 +79,9 @@ switch (post('op')) {
|
||||
if (create_thumbnails($tmp, $filename, $upload_dir)) {
|
||||
$dbo->query('UPDATE mg_articoli SET immagine01='.prepare($filename).' WHERE id='.prepare($id_record));
|
||||
} else {
|
||||
$_SESSION['warnings'][] = str_replace('_DIR_', $upload_dir, tr('Errore durante il caricamento del file in _DIR_!'));
|
||||
$_SESSION['warnings'][] = tr('Errore durante il caricamento del file in _DIR_!', [
|
||||
'_DIR_' => $upload_dir,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -200,10 +202,15 @@ switch (post('op')) {
|
||||
if ($dbo->query($query)) {
|
||||
// Movimento il magazzino se l'ho specificato nelle impostazioni
|
||||
if (get_var("Movimenta il magazzino durante l'inserimento o eliminazione dei lotti/serial number")) {
|
||||
add_movimento_magazzino($id_record, $n_prodotti, [], str_replace(['_SERIAL_INIZIO_', '_SERIAL_FINE_'], [$serial__start, $serial__end], tr('Carico magazzino con serial da _SERIAL_INIZIO_ a _SERIAL_FINE_')));
|
||||
add_movimento_magazzino($id_record, $n_prodotti, [], tr('Carico magazzino con serial da _SERIAL_INIZIO_ a _SERIAL_FINE_', [
|
||||
'_SERIAL_INIZIO_' => $serial__start,
|
||||
'_SERIAL_FINE_' => $serial__end,
|
||||
]));
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $n_prodotti, tr('Aggiunti _NUM_ prodotti!'));
|
||||
$_SESSION['infos'][] = tr('Aggiunti _NUM_ prodotti!', [
|
||||
'_NUM_' => $n_prodotti,
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr("Errore durante l'inserimento!");
|
||||
}
|
||||
@ -220,7 +227,9 @@ switch (post('op')) {
|
||||
if ($dbo->query($query)) {
|
||||
// Movimento il magazzino se l'ho specificato nelle impostazioni
|
||||
if (get_var("Movimenta il magazzino durante l'inserimento o eliminazione dei lotti/serial number")) {
|
||||
add_movimento_magazzino($id_record, -1, [], str_replace(['_LOTTO_', '_SERIAL_', '_ALTRO_'], [$rs[0]['lotto'], $rs[0]['serial'], $rs[0]['altro']], tr('Eliminazione dal magazzino del prodotto con serial _SERIAL_')));
|
||||
add_movimento_magazzino($id_record, -1, [], tr('Eliminazione dal magazzino del prodotto con serial _SERIAL_', [
|
||||
'_SERIAL_' => $rs[0]['serial'],
|
||||
]));
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = tr('Prodotto rimosso!');
|
||||
|
@ -290,7 +290,9 @@ $tot = $count[0]['tot'];
|
||||
if ($tot > 0) {
|
||||
echo '
|
||||
<div class="alert alert-danger">
|
||||
'.str_replace('_NUM_', $tot, tr('Ci sono _NUM_ righe di documenti collegate')).'.
|
||||
'.tr('Ci sono _NUM_ righe di documenti collegate', [
|
||||
'_NUM_' => $tot,
|
||||
]).'.
|
||||
'.tr('Eliminando questo articolo si potrebbero verificare problemi nelle altre sezioni del gestionale!').'
|
||||
</div>';
|
||||
}
|
||||
|
@ -237,14 +237,20 @@ for ($i = 0; $i < count($rs2); ++$i) {
|
||||
$data[0]['subtotale'] = $data[0]['prezzo_vendita'] * $data[0]['qta'];
|
||||
$data[0]['iva'] = 0;
|
||||
|
||||
$extra = str_replace('_QTA_', $data[0]['qta'], tr('(q.tà _QTA_)'));
|
||||
$extra = tr('(q.tà _QTA_)', [
|
||||
'_QTA_' => $data[0]['qta'],
|
||||
]);
|
||||
}
|
||||
|
||||
$totali[] = [$data[0]['subtotale'], $data[0]['iva']];
|
||||
|
||||
$numero = !empty($rs6[0]['numero_esterno']) ? $data[0]['numero_esterno'] : $data[0]['numero'];
|
||||
|
||||
$text = str_replace(['_DOC_', '_NUM_', '_DATE_', '_TOT_'], [$data[0]['tipo_documento'], $numero, Translator::dateToLocale($data[0]['data'])], tr('_DOC_ n<sup>o</sup> _NUM_ del _DATE_')).(!empty($extra) ? ' '.$extra : '');
|
||||
$text = tr('_DOC_ n<sup>o</sup> _NUM_ del _DATE_', [
|
||||
'_DOC_' => $data[0]['tipo_documento'],
|
||||
'_NUM_' => $numero,
|
||||
'_DATE_' => Translator::dateToLocale($data[0]['data']),
|
||||
]).(!empty($extra) ? ' '.$extra : '');
|
||||
|
||||
echo '
|
||||
'.Modules::link($module_id, $id, $text).'<br>';
|
||||
|
@ -15,9 +15,13 @@ switch (filter('op')) {
|
||||
deltree($backup_dir.$file);
|
||||
|
||||
if (!file_exists($backup_dir.$file)) {
|
||||
$_SESSION['infos'][] = str_replace('_FILE_', '"'.$file.'"', tr('Backup _FILE_ eliminato!'));
|
||||
$_SESSION['infos'][] = tr('Backup _FILE_ eliminato!', [
|
||||
'_FILE_' => '"'.$file.'"',
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_FILE_', '"'.$file.'"', tr("Errore durante l'eliminazione del backup _FILE_!"));
|
||||
$_SESSION['errors'][] = tr("Errore durante l'eliminazione del backup _FILE_!", [
|
||||
'_FILE_' => '"'.$file.'"',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -15,7 +15,9 @@ if (!empty($backup_dir)) {
|
||||
}
|
||||
echo '
|
||||
</p>
|
||||
<p><small>'.str_replace('_CONFIG_', '<b>config.inc.php</b>', tr('Puoi modificare il percorso di backup dal tuo file _CONFIG_')).'</small></p>';
|
||||
<p><small>'.tr('Puoi modificare il percorso di backup dal tuo file _FILE_', [
|
||||
'_FILE_' => '<b>config.inc.php</b>',
|
||||
]).'</small></p>';
|
||||
if (strstr($backup_dir, $docroot)) {
|
||||
echo '
|
||||
<div class="alert alert-warning">
|
||||
@ -72,7 +74,10 @@ if (file_exists($backup_dir)) {
|
||||
|
||||
echo '
|
||||
<div class="callout callout-info">
|
||||
<h4>'.str_replace(['_DATE_', '_TIME_'], [Translator::dateToLocale($m[1]), date('H:i', strtotime(str_replace('_', ':', $m[2])))], tr('Backup del _DATE_ alle _TIME_')).'</h4>
|
||||
<h4>'.tr('Backup del _DATE_ alle _TIME_', [
|
||||
'_DATE_' => Translator::dateToLocale($m[1]),
|
||||
'_TIME_' => Translator::timeToLocale(str_replace('_', ':', $m[2])),
|
||||
]).'</h4>
|
||||
<p><small>
|
||||
'.tr('Nome del file').': '.$name.'<br>
|
||||
'.tr('Dimensione').': '.Translator::numberToLocale(filesize($backup) / 1024 / 1024).'MB
|
||||
@ -97,7 +102,10 @@ if (file_exists($backup_dir)) {
|
||||
|
||||
echo '
|
||||
<div class="callout callout-warning">
|
||||
<h4>'.str_replace(['_DATE_', '_TIME_'], [Translator::dateToLocale($m[1]), date('H:i', strtotime(str_replace('_', ':', $m[2])))], tr('Backup del _DATE_ alle _TIME_')).'</h4>
|
||||
<h4>'.tr('Backup del _DATE_ alle _TIME_', [
|
||||
'_DATE_' => Translator::dateToLocale($m[1]),
|
||||
'_TIME_' => Translator::timeToLocale(str_replace('_', ':', $m[2])),
|
||||
]).'</h4>
|
||||
<p><small>
|
||||
'.tr('Nome del file').': '.$name.'<br>
|
||||
'.tr('Dimensione').': '.Translator::numberToLocale(filesize($backup) / 1024 / 1024).'MB
|
||||
|
@ -10,7 +10,9 @@ switch (post('op')) {
|
||||
$dbo->query('UPDATE `dt_aspettobeni` SET `descrizione`='.prepare($descrizione).' WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = tr('Salvataggio completato!');
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'bene', tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => 'bene',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -23,9 +25,13 @@ switch (post('op')) {
|
||||
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'bene', tr('Aggiunta nuova tipologia di _TYPE_'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta nuova tipologia di _TYPE_', [
|
||||
'_TYPE_' => 'bene',
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'bene', tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => 'bene',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -33,7 +39,9 @@ switch (post('op')) {
|
||||
case 'delete':
|
||||
if (isset($id_record)) {
|
||||
$dbo->query('DELETE FROM `dt_aspettobeni` WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'bene', tr('Tipologia di _TYPE_ eliminata con successo!'));
|
||||
$_SESSION['infos'][] = tr('Tipologia di _TYPE_ eliminata con successo!', [
|
||||
'_TYPE_' => 'bene',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -29,7 +29,9 @@ switch (filter('op')) {
|
||||
echo json_encode(['id' => $id_record, 'text' => $nome]);
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'categoria', tr('Aggiunta nuova tipologia di _TYPE_'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta nuova tipologia di _TYPE_', [
|
||||
'_TYPE_' => 'categoria',
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
}
|
||||
@ -46,7 +48,9 @@ switch (filter('op')) {
|
||||
|
||||
if ($res) {
|
||||
$dbo->query('DELETE FROM `mg_categorie` WHERE `id`='.prepare($id));
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'categoria', tr('Tipologia di _TYPE_ eliminata con successo!'));
|
||||
$_SESSION['infos'][] = tr('Tipologia di _TYPE_ eliminata con successo!', [
|
||||
'_TYPE_' => 'categoria',
|
||||
]);
|
||||
} else {
|
||||
$_POST['backto'] = 'record-edit';
|
||||
$_SESSION['errors'][] = tr('Esistono ancora alcuni articoli sotto questa categoria!');
|
||||
|
@ -11,7 +11,9 @@ switch (filter('op')) {
|
||||
$dbo->query('UPDATE `dt_causalet` SET `descrizione`='.prepare($descrizione).' WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = tr('Salvataggio completato!');
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'causale', tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => 'causale',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -28,9 +30,13 @@ switch (filter('op')) {
|
||||
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'causale', tr('Aggiunta nuova tipologia di _TYPE_'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta nuova tipologia di _TYPE_', [
|
||||
'_TYPE_' => 'causale',
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'causale', tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => 'causale',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -41,7 +47,9 @@ switch (filter('op')) {
|
||||
case 'delete':
|
||||
if (isset($id_record)) {
|
||||
$dbo->query('DELETE FROM `dt_causalet` WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'causale', tr('Tipologia di _TYPE_ eliminata con successo!'));
|
||||
$_SESSION['infos'][] = tr('Tipologia di _TYPE_ eliminata con successo!', [
|
||||
'_TYPE_' => 'causale',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -32,7 +32,9 @@ switch (post('op')) {
|
||||
$dbo->query('INSERT INTO co_contratti_tipiintervento(idcontratto, idtipointervento, costo_ore, costo_km, costo_dirittochiamata, costo_ore_tecnico, costo_km_tecnico, costo_dirittochiamata_tecnico) VALUES('.prepare($id_record).', '.prepare($rsi[$i]['idtipointervento']).', '.prepare($rsi[$i]['costo_orario']).', '.prepare($rsi[$i]['costo_km']).', '.prepare($rsi[$i]['costo_diritto_chiamata']).', '.prepare($rsi[$i]['costo_orario_tecnico']).', '.prepare($rsi[$i]['costo_km_tecnico']).', '.prepare($rsi[$i]['costo_diritto_chiamata_tecnico']).')');
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $numero, tr('Aggiunto contratto numero _NUM_!'));
|
||||
$_SESSION['infos'][] = tr('Aggiunto contratto numero _NUM_!', [
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -197,7 +199,9 @@ switch (post('op')) {
|
||||
$query = 'DELETE FROM `co_righe_contratti` WHERE idcontratto='.prepare($idcontratto).' AND idintervento='.prepare($idintervento);
|
||||
$dbo->query($query);
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $idintervento, tr('Intervento _NUM_ rimosso!'));
|
||||
$_SESSION['infos'][] = tr('Intervento _NUM_ rimosso!', [
|
||||
'_NUM_' => $idintervento,
|
||||
]);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -24,8 +24,8 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
||||
if ($records[0]['rinnovabile']) {
|
||||
echo "
|
||||
<button type=\"button\" class=\"btn btn-warning\" onclick=\"if( confirm('Rinnovare questo contratto?') ){ location.href='".$rootdir.'/editor.php?op=renew&id_module='.$id_module.'&id_record='.$id_record."'; }\">
|
||||
<i class=\"fa fa-refresh\"></i> ".tr('Rinnova')."...
|
||||
</button>";
|
||||
<i class=\"fa fa-refresh\"></i> ".tr('Rinnova').'...
|
||||
</button>';
|
||||
}
|
||||
?>
|
||||
<a class="btn btn-info" href="<?php echo $rootdir ?>/pdfgen.php?ptype=contratti&idcontratto=<?php echo $id_record ?>" target="_blank"><i class="fa fa-print"></i> <?php echo tr('Stampa contratto') ?></a>
|
||||
@ -260,7 +260,6 @@ if ($records[0]['stato'] != 'Pagato') {
|
||||
?>
|
||||
<a class="btn btn-primary" data-href="<?php echo $rootdir ?>/modules/contratti/add_riga.php?idcontratto=<?php echo $id_record ?>" data-toggle="modal" data-title="Aggiungi riga" data-target="#bs-popup"><i class="fa fa-plus"></i> <?php echo tr('Riga'); ?></a><br>
|
||||
<?php
|
||||
|
||||
}
|
||||
?>
|
||||
<div class="clearfix"></div>
|
||||
@ -309,7 +308,9 @@ if (!empty($records[0]['idcontratto_prev'])) {
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
'.Modules::link($id_module, $idcontratto_prev, str_replace('_NUM_', $rs[0]['numero'], tr('Contratto n<sup>o</sup> _NUM_')).'<br><small class="text-muted">'.$rs[0]['nome'].'</small>').'
|
||||
'.Modules::link($id_module, $idcontratto_prev, tr('Contratto n<sup>o</sup> _NUM_', [
|
||||
'_NUM_' => $rs[0]['numero'],
|
||||
]).'<br><small class="text-muted">'.$rs[0]['nome'].'</small>').'
|
||||
</td>
|
||||
<td align="right">'.Translator::numberToLocale($rs[0]['budget']).' €</td>
|
||||
<td align="center">'.Translator::dateToLocale($rs[0]['data_accettazione']).'</td>
|
||||
|
@ -75,7 +75,10 @@ if (!empty($rscontratti)) {
|
||||
$totale_ore_impiegate += $t;
|
||||
|
||||
$desc = nl2br($r['descrizione']);
|
||||
$line = Modules::link('Interventi', $r['id'], str_replace(['_NUM_', '_DATE_'], [$r['codice'], Translator::dateToLocale($r['data'])], tr('Intervento <b>_NUM_</b> del <b>_DATE_</b>'))).'<br>'.$desc;
|
||||
$line = Modules::link('Interventi', $r['id'], tr('Intervento <b>_NUM_</b> del <b>_DATE_</b>', [
|
||||
'_NUM_' => $r['codice'],
|
||||
'_DATE_' => Translator::dateToLocale($r['data']),
|
||||
])).'<br>'.$desc;
|
||||
|
||||
// Inutilizzati
|
||||
$contratti[] = $line;
|
||||
@ -278,7 +281,7 @@ if (!empty($rscontratti)) {
|
||||
// Totali per stato
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="3"><br><b>'.strtoupper(tr('Totale interventi per stato')).'</b></td>
|
||||
<td colspan="3"><br><b>'.tr('Totale interventi per stato', [], ['upper' => true]).'</b></td>
|
||||
</tr>';
|
||||
|
||||
foreach ($totale_x_stato as $stato => $tot) {
|
||||
|
@ -121,7 +121,7 @@ elseif ($get['op'] == 'addfattura') {
|
||||
$iva_indetraibile = $importo / 100 * $rs2[0]['indetraibile'];
|
||||
|
||||
// Inserimento riga in fattura
|
||||
$dbo->query('INSERT INTO co_righe_documenti(iddocumento, descrizione, desc_iva, iva, iva_indetraibile, subtotale, um, qta, `order`) VALUES('.prepare($iddocumento).', '.prepare($descrizione).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($importo).", '-', 1, (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento=".prepare($iddocumento)."))");
|
||||
$dbo->query('INSERT INTO co_righe_documenti(iddocumento, descrizione, desc_iva, iva, iva_indetraibile, subtotale, um, qta, `order`) VALUES('.prepare($iddocumento).', '.prepare($descrizione).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($importo).", '-', 1, (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento=".prepare($iddocumento).'))');
|
||||
|
||||
redirect($rootdir.'/editor.php?id_module='.Modules::getModule('Fatture di vendita')['id'].'&id_record='.$iddocumento.'&dir=entrata');
|
||||
exit();
|
||||
@ -207,7 +207,9 @@ if (empty($rs)) {
|
||||
if ($n_sedi_pianificate == 1) {
|
||||
$n_sedi = tr('1 sede');
|
||||
} else {
|
||||
$n_sedi = str_replace('_NUM_', $n_sedi_pianificate, tr('_NUM_ sedi'));
|
||||
$n_sedi = tr('_NUM_ sedi', [
|
||||
'_NUM_' => $n_sedi_pianificate,
|
||||
]);
|
||||
}
|
||||
|
||||
echo '
|
||||
@ -241,7 +243,10 @@ if (empty($rs)) {
|
||||
$numero_doc = $rsf[0]['numero'];
|
||||
}
|
||||
|
||||
$documento = Modules::link('Fatture di vendita', $rs[$i]['iddocumento'], str_replace(['_NUM_', '_DATE_'], [$numero_doc, Translator::dateToLocale($rsf[0]['data'])], tr('Fattura n<sup>o</sup> _NUM_ del _DATE_')));
|
||||
$documento = Modules::link('Fatture di vendita', $rs[$i]['iddocumento'], tr('Fattura n<sup>o</sup> _NUM_ del _DATE_', [
|
||||
'_NUM_' => $numero_doc,
|
||||
'_DATE_' => Translator::dateToLocale($rsf[0]['data']),
|
||||
]));
|
||||
|
||||
$stato = '<i class="'.$rsf[0]['icona'].'"></i> '.$rsf[0]['stato'];
|
||||
} else {
|
||||
|
@ -45,7 +45,10 @@ if (sizeof($rs) == 0) {
|
||||
<p>'.tr('Nessun collegamento a ordini di servizio')."...</p>\n";
|
||||
} else {
|
||||
echo '
|
||||
<p>'.str_replace(['_NUM_', '_DATE_'], ['<b>'.$rs[0]['id'].'</b>', Translator::dateToLocale($rs[0]['data_scadenza'])], tr('Ordine di servizio numero _NUM_ (termine massimo _DATE_)')).':</p>';
|
||||
<p>'.tr('Ordine di servizio numero _NUM_ (termine massimo _DATE_)', [
|
||||
'_NUM_' => '<b>'.$rs[0]['id'].'</b>',
|
||||
'_DATE_' => Translator::dateToLocale($rs[0]['data_scadenza']),
|
||||
]).':</p>';
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT * FROM co_ordiniservizio_vociservizio WHERE idordineservizio=(SELECT id FROM co_ordiniservizio WHERE idintervento='.prepare($idintervento).' LIMIT 0,1) ORDER BY categoria ASC');
|
||||
|
||||
|
@ -188,7 +188,10 @@ if (empty($rs)) {
|
||||
echo '
|
||||
<span class="text-success">
|
||||
<i class="fa fa-check"></i>
|
||||
'.Modules::link('Interventi', $r['idintervento'], str_replace(['_NUM_', '_DATE_'], [$res['codice'], Translator::dateToLocale($r['data_intervento'])], tr('Intervento n<sup>o</sup> _NUM_ del _DATE_'))).'
|
||||
'.Modules::link('Interventi', $r['idintervento'], tr('Intervento n<sup>o</sup> _NUM_ del _DATE_', [
|
||||
'_NUM_' => $res['codice'],
|
||||
'_DATE_' => Translator::dateToLocale($r[0]['data_intervento']),
|
||||
])).'
|
||||
</span>';
|
||||
}
|
||||
echo '
|
||||
@ -272,42 +275,42 @@ else {
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.Modules::getModule('Contratti')['id'].'&id_record='.$id_record.'&op=add_ordineservizio" id="plan_form" method="post" class="no-check hide">
|
||||
<input type="hidden" name="backto" value="record-edit">';
|
||||
|
||||
// Selezione impianto
|
||||
echo '
|
||||
// Selezione impianto
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Impianto').'", "name": "matricola", "values": "query=SELECT my_impianti.id, CONCAT(my_impianti.matricola, \" - \", my_impianti.nome) AS descrizione, an_sedi.optgroup FROM my_impianti INNER JOIN (SELECT id, CONCAT(an_sedi.nomesede, \"(\", an_sedi.citta, \")\") AS optgroup FROM an_sedi WHERE idanagrafica='.prepare($records[0]['idanagrafica']).' UNION SELECT 0, \'Sede legale\') AS an_sedi ON my_impianti.idsede = an_sedi.id WHERE my_impianti.idanagrafica='.prepare($records[0]['idanagrafica']).' AND my_impianti.id NOT IN(SELECT idimpianto FROM co_ordiniservizio WHERE idcontratto='.prepare($id_record).') ORDER BY idsede ASC, matricola ASC" ]}
|
||||
</div>';
|
||||
|
||||
// Indice voci di servizio
|
||||
echo '
|
||||
// Indice voci di servizio
|
||||
echo '
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Voci di servizio da pianificare').'", "name": "idvoce[]", "values": "query=SELECT id, descrizione, categoria AS optgroup FROM in_vociservizio ORDER BY categoria ASC", "multiple": 1, "extra": "onchange=\"$(this).find(\'option\').each( function(){ if( $(this).is(\':selected\') ){ $(\'#voce_\'+$(this).val()).removeClass(\'hide\'); }else{ $(\'#voce_\'+$(this).val()).addClass(\'hide\'); } });\"" ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
// voci di servizio
|
||||
foreach ($rs as $r) {
|
||||
echo '
|
||||
// voci di servizio
|
||||
foreach ($rs as $r) {
|
||||
echo '
|
||||
<div class="col-md-3 hide" id="voce_'.$r['id'].'">
|
||||
<big><b>'.$r['id'].' - '.$r['descrizione'].'</b></big>
|
||||
<hr>';
|
||||
|
||||
for ($j = 0; $j < $n_mesi; ++$j) {
|
||||
$id_mese = date('Ym', strtotime($rs2[0]['data_accettazione'].' +'.$j.' month'));
|
||||
$nome_mese = $mesi[intval(date('m', strtotime($rs2[0]['data_accettazione'].' +'.$j.' month'))) - 1].' '.date('Y', strtotime($rs2[0]['data_accettazione'].' +'.$j.' month'));
|
||||
echo '
|
||||
for ($j = 0; $j < $n_mesi; ++$j) {
|
||||
$id_mese = date('Ym', strtotime($rs2[0]['data_accettazione'].' +'.$j.' month'));
|
||||
$nome_mese = $mesi[intval(date('m', strtotime($rs2[0]['data_accettazione'].' +'.$j.' month'))) - 1].' '.date('Y', strtotime($rs2[0]['data_accettazione'].' +'.$j.' month'));
|
||||
echo '
|
||||
<small>
|
||||
<label for="m_'.$id_mese.'_'.$r['id'].'">
|
||||
<input type="checkbox" id="m_'.$id_mese.'_'.$r['id'].'" name="voce['.$id_mese.'][]" value="'.$r['id'].'">
|
||||
'.$nome_mese.'
|
||||
</label>
|
||||
</small><br>';
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
echo '
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
<div class="clearfix"></div><br>';
|
||||
@ -317,16 +320,16 @@ else {
|
||||
<i class="fa fa-plus"></i> '.tr('Aggiungi').'
|
||||
</button>';
|
||||
|
||||
/*
|
||||
Copia pianificazione da una già fatta per un impianto ad un'altra
|
||||
*/
|
||||
// Opzione di copia pianificazione solo se ci sono ancora impianti non pianificati
|
||||
$query2 = 'SELECT * FROM my_impianti WHERE idanagrafica='.prepare($records[0]['idanagrafica']).' AND id IN (SELECT idimpianto FROM co_ordiniservizio WHERE idcontratto='.prepare($id_record).')';
|
||||
/*
|
||||
Copia pianificazione da una già fatta per un impianto ad un'altra
|
||||
*/
|
||||
// Opzione di copia pianificazione solo se ci sono ancora impianti non pianificati
|
||||
$query2 = 'SELECT * FROM my_impianti WHERE idanagrafica='.prepare($records[0]['idanagrafica']).' AND id IN (SELECT idimpianto FROM co_ordiniservizio WHERE idcontratto='.prepare($id_record).')';
|
||||
$cont = $dbo->fetchNum($query2);
|
||||
|
||||
if ($cont > 0) {
|
||||
// Elenco impianti già pianificati
|
||||
echo '
|
||||
echo '
|
||||
<hr>
|
||||
|
||||
<div class="row">
|
||||
@ -346,7 +349,6 @@ else {
|
||||
|
||||
echo '
|
||||
</form>';
|
||||
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Le date di accettazione e conclusione del contratto non sono ancora state impostate').'</p>';
|
||||
|
@ -78,7 +78,10 @@ if (count($rsp) != 0) {
|
||||
if (!empty($rsp[$i]['idintervento'])) {
|
||||
$rsp2 = $dbo->fetchArray('SELECT id, codice, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS data FROM in_interventi WHERE id='.prepare($rsp[$i]['idintervento']));
|
||||
|
||||
$info_intervento = Modules::link('Interventi', $rsp2[0]['id'], str_replace(['_NUM_', '_DATE_'], [$rsp2[0]['codice'], Translator::dateToLocale($rsp2[0]['data'])], tr('Intervento _NUM_ del _DATE_')));
|
||||
$info_intervento = Modules::link('Interventi', $rsp2[0]['id'], tr('Intervento _NUM_ del _DATE_', [
|
||||
'_NUM_' => $rsp2[0]['codice'],
|
||||
'_DATE_' => Translator::dateToLocale($rsp2[0]['data']),
|
||||
]));
|
||||
} else {
|
||||
$info_intervento = '- '.('Nessuno').' -';
|
||||
}
|
||||
|
@ -115,7 +115,7 @@ if (abs($sconto_art) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5"" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile')).':</b>
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span id="budget">'.Translator::numberToLocale($imponibile_nosconto).' €</span>
|
||||
@ -126,7 +126,7 @@ if (abs($sconto_art) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5"" class="text-right">
|
||||
<b>'.strtoupper(tr('Sconto')).':</b>
|
||||
<b>'.tr('Sconto', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
'.Translator::numberToLocale($sconto_art).' €
|
||||
@ -138,7 +138,7 @@ if (abs($sconto_art) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5"" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile scontato')).':</b>
|
||||
<b>'.tr('Imponibile scontato', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
'.Translator::numberToLocale($imponibile_art).' €
|
||||
@ -150,7 +150,7 @@ if (abs($sconto_art) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5"" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile')).':</b>
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span id="budget">'.Translator::numberToLocale($imponibile_art).' €</span>
|
||||
@ -163,7 +163,7 @@ if (abs($sconto_art) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5"" class="text-right">
|
||||
<b>'.strtoupper(tr('Iva')).':</b>
|
||||
<b>'.tr('Iva', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
'.Translator::numberToLocale($iva_art).' €
|
||||
@ -175,7 +175,7 @@ echo '
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5"" class="text-right">
|
||||
<b>'.strtoupper(tr('Totale')).':</b>
|
||||
<b>'.tr('Totale', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
'.Translator::numberToLocale($imponibile_art + $iva_art).' €
|
||||
|
@ -69,7 +69,10 @@ if (!empty($rsp)) {
|
||||
if (!empty($r['idintervento'])) {
|
||||
$rsp2 = $dbo->fetchArray('SELECT id, codice, data FROM in_interventi WHERE id='.prepare($r['idintervento']));
|
||||
|
||||
echo Modules::link('Interventi', $rsp2[0]['id'], str_replace(['_NUM_', '_DATE_'], [$rsp2[0]['codice'],Translator::dateToLocale($rsp2[0]['data'])], tr('Intervento _NUM_ del _DATE_')));
|
||||
echo Modules::link('Interventi', $rsp2[0]['id'], tr('Intervento _NUM_ del _DATE_', [
|
||||
'_NUM_' => $rsp2[0]['codice'],
|
||||
'_DATE_' => Translator::dateToLocale($rsp2[0]['data']),
|
||||
]));
|
||||
} else {
|
||||
echo '- '.('Nessuno').' -';
|
||||
}
|
||||
|
@ -100,7 +100,9 @@ if (!empty($rsp)) {
|
||||
if ($n_sedi_pianificate == 1) {
|
||||
$n_sedi = tr('1 sede');
|
||||
} else {
|
||||
$n_sedi = str_replace('_NUM_', $n_sedi_pianificate, tr('_NUM_ sedi'));
|
||||
$n_sedi = tr('_NUM_ sedi', [
|
||||
'_NUM_' => $n_sedi_pianificate,
|
||||
]);
|
||||
}
|
||||
|
||||
// Visualizzo solo le rate non pagate
|
||||
|
@ -42,7 +42,10 @@ switch (post('op')) {
|
||||
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$_SESSION['infos'][] = str_replace(['_TYPE_', '_NUM_'], [$dir, $numero], tr('Aggiunto DDT in _TYPE_ numero _NUM_!'));
|
||||
$_SESSION['infos'][] = tr('Aggiunto DDT in _TYPE_ numero _NUM_!', [
|
||||
'_TYPE_' => $dir,
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -22,7 +22,9 @@ $prc_guadagno = $rs[0]['prc_guadagno'];
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Ddt numero _NUM_')).'</p>
|
||||
<p>'.tr('Ddt numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="addarticolo">
|
||||
|
@ -41,7 +41,9 @@ if (!empty($get['idriga'])) {
|
||||
}
|
||||
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Ddt numero _NUM_')).'</p>
|
||||
<p>'.tr('Ddt numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="'.(!empty($idriga) ? 'editriga' : 'addriga').'">
|
||||
|
@ -24,7 +24,6 @@ $rs = $dbo->fetchArray($q_art);
|
||||
|
||||
if (!empty($rs)) {
|
||||
foreach ($rs as $r) {
|
||||
|
||||
// Individuazione dei seriali
|
||||
if (!empty($r['idarticolo']) && !empty($r['abilita_serial'])) {
|
||||
$serials = array_column($dbo->fetchArray('SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND id_riga_ddt='.prepare($r['id'])), 'serial');
|
||||
@ -48,7 +47,9 @@ if (!empty($rs)) {
|
||||
if (!empty($r['abilita_serial'])) {
|
||||
if (!empty($mancanti)) {
|
||||
echo '
|
||||
<br><b><small class="text-danger">'.str_replace('_NUM_', $mancanti, tr('_NUM_ serial mancanti')).'</small></b>';
|
||||
<br><b><small class="text-danger">'.tr('_NUM_ serial mancanti', [
|
||||
'_NUM_' => $mancanti,
|
||||
]).'</small></b>';
|
||||
}
|
||||
|
||||
if (!empty($serials)) {
|
||||
@ -68,10 +69,13 @@ if (!empty($rs)) {
|
||||
$ref = $rso[0]['dir'] == 'entrata' ? 'Ordini cliente' : 'Ordini fornitore';
|
||||
$ref_id = $r['idordine'];
|
||||
|
||||
$descrizione = str_replace(['_NUM_', '_DATE_'], [$numero, Translator::dateToLocale($rso[0]['data'])], tr('Rif. ordine _NUM_ del _DATE_'));
|
||||
$descrizione = tr('Rif. ordine _NUM_ del _DATE_', [
|
||||
'_NUM_' => $numero,
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data']),
|
||||
]);
|
||||
}
|
||||
|
||||
if(!empty($descrizione)){
|
||||
if (!empty($descrizione)) {
|
||||
echo '
|
||||
<br>'.Modules::link($ref, $ref_id, $descrizione.' <i class="fa fa-external-link"></i>', $descrizione);
|
||||
}
|
||||
@ -206,7 +210,7 @@ $netto_a_pagare = sum([
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile')).':</b>
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
@ -221,7 +225,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Sconto')).':</b>
|
||||
<b>'.tr('Sconto', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
@ -232,10 +236,10 @@ if (abs($sconto) > 0) {
|
||||
</tr>';
|
||||
|
||||
// IMPONIBILE SCONTATO
|
||||
echo '
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile scontato')).':</b>
|
||||
<b>'.tr('Imponibile scontato', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
@ -251,7 +255,7 @@ if (abs($records[0]['rivalsainps']) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Rivalsa INPS')).':</b>
|
||||
<b>'.tr('Rivalsa INPS', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
@ -266,7 +270,7 @@ if (abs($totale_iva) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('IVA')).':</b>
|
||||
<b>'.tr('IVA', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
@ -281,7 +285,7 @@ if (abs($totale_iva) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Totale')).':</b>
|
||||
<b>'.tr('Totale', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
@ -296,7 +300,7 @@ if (abs($records[0]['bollo']) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Marca da bollo')).':</b>
|
||||
<b>'.tr('Marca da bollo', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
@ -312,7 +316,7 @@ if (abs($records[0]['ritenutaacconto']) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr("Ritenuta d'acconto")).':</b>
|
||||
<b>'.tr("Ritenuta d'acconto", [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
@ -328,7 +332,7 @@ if ($totale != $netto_a_pagare) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Netto a pagare')).':</b>
|
||||
<b>'.tr('Netto a pagare', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right">
|
||||
|
@ -65,7 +65,9 @@ switch (post('op')) {
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $numero, tr('Aggiunta fattura numero _NUM_!'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta fattura numero _NUM_!', [
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
|
||||
break;
|
||||
|
||||
@ -199,7 +201,6 @@ switch (post('op')) {
|
||||
rimuovi_articolo_dafattura($rs[$i]['idarticolo'], $id_record, $rs[$i]['id']);
|
||||
}
|
||||
|
||||
|
||||
// Se ci sono dei preventivi collegati li rimetto nello stato "In attesa di pagamento"
|
||||
$query = 'SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idpreventivo IS NOT NULL';
|
||||
$rs = $dbo->fetchArray($query);
|
||||
@ -432,9 +433,13 @@ switch (post('op')) {
|
||||
// Metto l'intervento in stato "Fatturato"
|
||||
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id=".prepare($idintervento));
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $idintervento, tr('Intervento _NUM_ aggiunto!'));
|
||||
$_SESSION['infos'][] = tr('Intervento _NUM_ aggiunto!', [
|
||||
'_NUM_' => $idintervento,
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_NUM_', $idintervento, tr("Errore durante l'inserimento dell'intervento _NUM_ in fattura!"));
|
||||
$_SESSION['errors'][] = tr("Errore durante l'inserimento dell'intervento _NUM_ in fattura!", [
|
||||
'_NUM_' => $idintervento,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -524,7 +529,9 @@ switch (post('op')) {
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $numero, tr('Preventivo _NUM_ aggiunto!'));
|
||||
$_SESSION['infos'][] = tr('Preventivo _NUM_ aggiunto!', [
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
|
||||
// Aggiorno il budget sul preventivo con l'importo inserito in fattura e imposto lo stato del preventivo "In attesa di pagamento" (se selezionato)
|
||||
if ($aggiorna_budget) {
|
||||
@ -586,7 +593,9 @@ switch (post('op')) {
|
||||
// Aggiunta riga contratto sul documento
|
||||
$query = 'INSERT INTO co_righe_documenti(iddocumento, idcontratto, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, `order`) VALUES('.prepare($id_record).', '.prepare($idcontratto).', '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($prezzo).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).", '-', 1, ".prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
|
||||
if ($dbo->query($query)) {
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $numero, tr('Contratto _NUM_ aggiunto!'));
|
||||
$_SESSION['infos'][] = tr('Contratto _NUM_ aggiunto!', [
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
|
||||
// Aggiorno il budget sul contratto con l'importo inserito in fattura e imposto lo stato del contratto "In attesa di pagamento" (se selezionato)
|
||||
if ($aggiorna_budget) {
|
||||
@ -1021,7 +1030,9 @@ switch (post('op')) {
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $idintervento, tr('Intervento _NUM_ rimosso!'));
|
||||
$_SESSION['infos'][] = tr('Intervento _NUM_ rimosso!', [
|
||||
'_NUM_' => $idintervento,
|
||||
]);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -30,7 +30,9 @@ $_SESSION['superselect']['dir'] = $dir;
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Documento numero _NUM_')).'</p>
|
||||
<p>'.tr('Documento numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="addarticolo">
|
||||
|
@ -21,7 +21,9 @@ $idanagrafica = $record[0]['idanagrafica'];
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Documento numero _NUM_')).'</p>
|
||||
<p>'.tr('Documento numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="addcontratto">
|
||||
|
@ -23,7 +23,9 @@ $idanagrafica = $record[0]['idanagrafica'];
|
||||
*/
|
||||
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Documento numero _NUM_')).'</p>
|
||||
<p>'.tr('Documento numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="addintervento">
|
||||
|
@ -21,7 +21,9 @@ $idanagrafica = $record[0]['idanagrafica'];
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Documento numero _NUM_')).'</p>
|
||||
<p>'.tr('Documento numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="addpreventivo">
|
||||
|
@ -1,7 +1,6 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$module = Modules::getModule($id_module);
|
||||
@ -23,7 +22,9 @@ $idanagrafica = $record[0]['idanagrafica'];
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Documento numero _NUM_')).'</p>
|
||||
<p>'.tr('Documento numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="addriga">
|
||||
@ -64,7 +65,7 @@ if (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d
|
||||
|
||||
// Nelle fatture di acquisto leggo l'iva di acquisto dal fornitore
|
||||
if ($dir == 'uscita') {
|
||||
$rsf = $dbo->fetchArray("SELECT idiva FROM an_anagrafiche WHERE idanagrafica=".prepare($idanagrafica));
|
||||
$rsf = $dbo->fetchArray('SELECT idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
|
||||
$idiva_predefinita = $rsf[0]['idiva'];
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ $idanagrafica = $record[0]['idanagrafica'];
|
||||
$idriga = get('idriga');
|
||||
|
||||
// Info riga
|
||||
$q = "SELECT * FROM co_righe_documenti WHERE iddocumento=".prepare($id_record)." AND id=".prepare($idriga);
|
||||
$q = 'SELECT * FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga);
|
||||
$rsr = $dbo->fetchArray($q);
|
||||
$sconto = $rsr[0]['sconto_unitario'];
|
||||
$tipo_sconto = $rsr[0]['tipo_sconto'];
|
||||
@ -27,7 +27,9 @@ $idarticolo = $rsr[0]['idarticolo'];
|
||||
$idconto = $rsr[0]['idconto'];
|
||||
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Documento numero _NUM_')).'</p>
|
||||
<p>'.tr('Documento numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="editriga">
|
||||
@ -96,7 +98,7 @@ echo '
|
||||
// Costo unitario
|
||||
echo '
|
||||
<div class="col-md-3">
|
||||
{[ "type": "number", "label": "'.tr('Costo unitario').'", "name": "prezzo", "required": 1, "value": "'.($rsr[0]['subtotale']/$rsr[0]['qta']).'", "icon-after": "€" ]}
|
||||
{[ "type": "number", "label": "'.tr('Costo unitario').'", "name": "prezzo", "required": 1, "value": "'.($rsr[0]['subtotale'] / $rsr[0]['qta']).'", "icon-after": "€" ]}
|
||||
</div>';
|
||||
|
||||
// Sconto unitario
|
||||
|
@ -733,7 +733,7 @@ function aggiorna_sconto($tables, $fields, $id_record, $options = [])
|
||||
{
|
||||
$dbo = Database::getConnection();
|
||||
|
||||
$descrizione = strtoupper(tr('Sconto'));
|
||||
$descrizione = tr('Sconto', [], ['upper' => true]);
|
||||
|
||||
// Rimozione dello sconto precedente
|
||||
$dbo->query('DELETE FROM '.$tables['row']." WHERE descrizione LIKE '%".$descrizione."%' AND ".$fields['row'].'='.prepare($id_record));
|
||||
|
@ -5,7 +5,7 @@ include_once __DIR__.'/../../core.php';
|
||||
/*
|
||||
Righe fattura
|
||||
*/
|
||||
$q = "SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice, (SELECT descrizione FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id=IF(co_righe_documenti.idconto = 0, (SELECT idconto FROM co_documenti WHERE iddocumento=".prepare($id_record)." LIMIT 1), co_righe_documenti.idconto)) AS descrizione_conto FROM `co_righe_documenti` WHERE iddocumento=".prepare($id_record).' ORDER BY `order`';
|
||||
$q = "SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice, (SELECT descrizione FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id=IF(co_righe_documenti.idconto = 0, (SELECT idconto FROM co_documenti WHERE iddocumento=".prepare($id_record).' LIMIT 1), co_righe_documenti.idconto)) AS descrizione_conto FROM `co_righe_documenti` WHERE iddocumento='.prepare($id_record).' ORDER BY `order`';
|
||||
$rs = $dbo->fetchArray($q);
|
||||
|
||||
echo '
|
||||
@ -45,7 +45,6 @@ if (!empty($rs)) {
|
||||
$mancanti = 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
// Preventivi
|
||||
elseif (!empty($r['idpreventivo'])) {
|
||||
@ -87,7 +86,9 @@ if (!empty($rs)) {
|
||||
if (!empty($r['abilita_serial'])) {
|
||||
if (!empty($mancanti)) {
|
||||
echo '
|
||||
<br><b><small class="text-danger">'.str_replace('_NUM_', $mancanti, tr('_NUM_ serial mancanti')).'</small></b>';
|
||||
<br><b><small class="text-danger">'.tr('_NUM_ serial mancanti', [
|
||||
'_NUM_' => $mancanti,
|
||||
]).'</small></b>';
|
||||
}
|
||||
if (!empty($serials)) {
|
||||
echo '
|
||||
@ -103,7 +104,10 @@ if (!empty($rs)) {
|
||||
$ref = $rso[0]['dir'] == 'entrata' ? 'Ordini cliente' : 'Ordini fornitore';
|
||||
$ref_id = $r['idordine'];
|
||||
|
||||
$descrizione = str_replace(['_NUM_', '_DATE_'], [$numero, Translator::dateToLocale($rso[0]['data'])], tr('Rif. ordine _NUM_ del _DATE_'));
|
||||
$descrizione = tr('Rif. ordine _NUM_ del _DATE_', [
|
||||
'_NUM_' => $numero,
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data']),
|
||||
]);
|
||||
} elseif (!empty($r['idddt'])) {
|
||||
$rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM dt_ddt JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($r['idddt']));
|
||||
$numero = ($rso[0]['numero_esterno'] != '') ? $rso[0]['numero_esterno'] : $rso[0]['numero'];
|
||||
@ -111,17 +115,23 @@ if (!empty($rs)) {
|
||||
$ref = $rso[0]['dir'] == 'entrata' ? 'Ddt di vendita' : 'Ddt di acquisto';
|
||||
$ref_id = $r['idddt'];
|
||||
|
||||
$descrizione = str_replace(['_NUM_', '_DATE_'], [$numero, Translator::dateToLocale($rso[0]['data'])], tr('Rif. ddt _NUM_ del _DATE_'));
|
||||
$descrizione = tr('Rif. ddt _NUM_ del _DATE_', [
|
||||
'_NUM_' => $numero,
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data']),
|
||||
]);
|
||||
} elseif (!empty($r['idpreventivo'])) {
|
||||
$rso = $dbo->fetchArray('SELECT numero, data_bozza FROM co_preventivi WHERE id='.prepare($r['idpreventivo']));
|
||||
|
||||
$ref = 'Preventivi';
|
||||
$ref_id = $r['idpreventivo'];
|
||||
|
||||
$descrizione = str_replace(['_NUM_', '_DATE_'], [$rso[0]['numero'], Translator::dateToLocale($rso[0]['data_bozza'])], tr('Rif. preventivo _NUM_ del _DATE_'));
|
||||
$descrizione = tr('Rif. preventivo _NUM_ del _DATE_', [
|
||||
'_NUM_' => $rso[0]['numero'],
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data_bozza']),
|
||||
]);
|
||||
}
|
||||
|
||||
if(!empty($descrizione)){
|
||||
if (!empty($descrizione)) {
|
||||
echo '
|
||||
<br>'.Modules::link($ref, $ref_id, $descrizione.' <i class="fa fa-external-link"></i>', $descrizione);
|
||||
}
|
||||
@ -239,7 +249,7 @@ $netto_a_pagare = sum([
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile')).':</b>
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($imponibile).' €
|
||||
@ -252,7 +262,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Sconto')).':</b>
|
||||
<b>'.tr('Sconto', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($sconto).' €
|
||||
@ -264,7 +274,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile scontato')).':</b>
|
||||
<b>'.tr('Imponibile scontato', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($imponibile_scontato).' €
|
||||
@ -278,7 +288,7 @@ if (abs($records[0]['rivalsainps']) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Rivalsa INPS')).':</b>
|
||||
<b>'.tr('Rivalsa INPS', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($records[0]['rivalsainps']).' €
|
||||
@ -292,7 +302,7 @@ if (abs($totale_iva) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Iva')).':</b>
|
||||
<b>'.tr('Iva', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($totale_iva).' €
|
||||
@ -305,7 +315,7 @@ if (abs($totale_iva) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Totale')).':</b>
|
||||
<b>'.tr('Totale', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($totale).' €
|
||||
@ -318,7 +328,7 @@ if (abs($records[0]['bollo']) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Marca da bollo')).':</b>
|
||||
<b>'.tr('Marca da bollo', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($records[0]['bollo']).' €
|
||||
@ -332,7 +342,7 @@ if (abs($records[0]['ritenutaacconto']) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr("Ritenuta d'acconto")).':</b>
|
||||
<b>'.tr("Ritenuta d'acconto", [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($records[0]['ritenutaacconto']).' €
|
||||
@ -348,7 +358,7 @@ if ($totale != $netto_a_pagare) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Netto a pagare')).':</b>
|
||||
<b>'.tr('Netto a pagare', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($netto_a_pagare).' €
|
||||
|
@ -31,11 +31,15 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
if ($duplicato) {
|
||||
$_SESSION['errors'][] = str_replace('_FILE_', "'".$nomefile."'", tr('Il file componente _FILE_ esiste già, nessun nuovo componente è stato creato!'));
|
||||
$_SESSION['errors'][] = tr('Il file componente _FILE_ esiste già, nessun nuovo componente è stato creato!', [
|
||||
'_FILE_' => "'".$nomefile."'",
|
||||
]);
|
||||
} elseif (!file_put_contents($path.$nomefile, $contenuto)) {
|
||||
$_SESSION['errors'][] = tr('Impossibile creare il file!');
|
||||
} else {
|
||||
$_SESSION['infos'][] = str_replace('_FILE_', "'".$nomefile."'", tr('Componente _FILE_ aggiunto correttamente!'));
|
||||
$_SESSION['infos'][] = tr('Componente _FILE_ aggiunto correttamente!', [
|
||||
'_FILE_' => "'".$nomefile."'",
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -45,7 +49,9 @@ switch (post('op')) {
|
||||
|
||||
if (!empty($nomefile)) {
|
||||
unlink($path.$nomefile);
|
||||
$_SESSION['infos'][] = str_replace('_FILE_', "'".$nomefile."'", tr('File _FILE_ rimosso correttamente!'));
|
||||
$_SESSION['infos'][] = tr('File _FILE_ rimosso correttamente!', [
|
||||
'_FILE_' => "'".$nomefile."'",
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -11,7 +11,9 @@ switch (filter('op')) {
|
||||
// integer
|
||||
if ($result['tipo'] == 'integer') {
|
||||
if (!preg_match('/^\d*$/', $value)) {
|
||||
$_SESSION['errors'][] = str_replace('_NAME_', '"'.$result['nome'].'"', tr('Il valore inserito del parametro _NAME_ deve essere un numero intero!'));
|
||||
$_SESSION['errors'][] = tr('Il valore inserito del parametro _NAME_ deve essere un numero intero!', [
|
||||
'_NAME_' => '"'.$result['nome'].'"',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,7 +29,9 @@ switch (filter('op')) {
|
||||
}
|
||||
|
||||
if (!$continue) {
|
||||
$_SESSION['errors'][] = str_replace('_NAME_', '"'.$result['nome'].'"', tr('Il valore inserito del parametro _NAME_ deve essere un compreso tra i valori previsti!'));
|
||||
$_SESSION['errors'][] = tr('Il valore inserito del parametro _NAME_ deve essere un compreso tra i valori previsti!', [
|
||||
'_NAME_' => '"'.$result['nome'].'"',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -191,8 +191,12 @@ switch (post('op')) {
|
||||
} while (!empty($rs) || empty($new_codice));
|
||||
|
||||
if ($count > 0) {
|
||||
$_SESSION['warnings'][] = str_replace('_NUM_', "'".$codice."'", tr('Numero intervento _NUM_ saltato perchè già esistente!'));
|
||||
$_SESSION['warnings'][] = str_replace('_NUM_', "'".$new_codice."'", tr('Nuovo numero intervento calcolato _NUM_'));
|
||||
$_SESSION['warnings'][] = tr('Numero intervento _NUM_ saltato perchè già esistente!', [
|
||||
'_NUM_' => "'".$codice."'"
|
||||
]);
|
||||
$_SESSION['warnings'][] = tr('Nuovo numero intervento calcolato _NUM_', [
|
||||
'_NUM_' => "'".$new_codice."'"
|
||||
]);
|
||||
}
|
||||
*/
|
||||
$formato = get_var('Formato codice intervento');
|
||||
@ -359,7 +363,9 @@ switch (post('op')) {
|
||||
// Eliminazione movimenti riguardanti l'intervento cancellato
|
||||
$dbo->query('DELETE FROM mg_movimenti WHERE idintervento='.prepare($id_record));
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', "'".$id_record."'", tr('Intervento _NUM_ eliminato!'));
|
||||
$_SESSION['infos'][] = tr('Intervento _NUM_ eliminato!', [
|
||||
'_NUM_' => "'".$id_record."'",
|
||||
]);
|
||||
|
||||
break;
|
||||
|
||||
@ -446,6 +452,7 @@ switch (post('op')) {
|
||||
/* Ricollego l'articolo modificato all'intervento */
|
||||
/* ci può essere il caso in cui cambio idarticolo e anche qta */
|
||||
|
||||
// no break
|
||||
case 'addarticolo':
|
||||
$idarticolo = post('idarticolo');
|
||||
$idautomezzo = post('idautomezzo');
|
||||
@ -555,7 +562,9 @@ switch (post('op')) {
|
||||
$_SESSION['errors'][] = tr('Errore durante il salvataggio della firma!').tr('La firma risulta vuota').'...';
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_DIRECTORY_', '<b>/files/interventi</b>', tr("Non è stato possibile creare la cartella _DIRECTORY_ per salvare l'immagine della firma!"));
|
||||
$_SESSION['errors'][] = tr("Non è stato possibile creare la cartella _DIRECTORY_ per salvare l'immagine della firma!", [
|
||||
'_DIRECTORY_' => '<b>/files/interventi</b>',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -55,7 +55,9 @@ if (!empty($rs)) {
|
||||
if (!empty($r['abilita_serial'])) {
|
||||
if (!empty($mancanti)) {
|
||||
echo '
|
||||
<br><b><small class="text-danger">'.str_replace('_NUM_', $mancanti, tr('_NUM_ serial mancanti')).'</small></b>';
|
||||
<br><b><small class="text-danger">'.tr('_NUM_ serial mancanti', [
|
||||
'_NUM_' => $mancanti,
|
||||
]).'</small></b>';
|
||||
}
|
||||
if (!empty($serials)) {
|
||||
echo '
|
||||
|
@ -11,48 +11,48 @@ if (Auth::admin() || $_SESSION['gruppo'] != 'Tecnici') {
|
||||
<table class="table table condensed table-striped table-hover table-bordered">
|
||||
<tr>
|
||||
<th width="40%"></th>
|
||||
<th width="20%" class="text-center">'.strtoupper(tr('Costo')).'</th>
|
||||
<th width="20%" class="text-center">'.strtoupper(tr('Addebito')).'</th>
|
||||
<th width="20%" class="text-center">'.strtoupper(tr('Tot. Scontato')).'</th>
|
||||
<th width="20%" class="text-center">'.tr('Costo', [], ['upper' => true]).'</th>
|
||||
<th width="20%" class="text-center">'.tr('Addebito', [], ['upper' => true]).'</th>
|
||||
<th width="20%" class="text-center">'.tr('Tot. Scontato', [], ['upper' => true]).'</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>'.strtoupper(tr('Totale manodopera')).'</th>
|
||||
<th>'.tr('Totale manodopera', [], ['upper' => true]).'</th>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['manodopera_costo']).' €</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['manodopera_addebito']).' €</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['manodopera_scontato']).' €</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>'.strtoupper(tr('Totale viaggio')).'</th>
|
||||
<th>'.tr('Totale viaggio', [], ['upper' => true]).'</th>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['viaggio_costo']).' €</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['viaggio_addebito']).' €</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['viaggio_scontato']).' €</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>'.strtoupper(tr('Totale articoli')).'</th>
|
||||
<th>'.tr('Totale articoli', [], ['upper' => true]).'</th>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['ricambi_costo']).' €</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['ricambi_addebito']).' €</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['ricambi_scontato']).' €</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>'.strtoupper(tr('Totale altre spese')).'</th>
|
||||
<th>'.tr('Totale altre spese', [], ['upper' => true]).'</th>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['altro_costo']).' €</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['altro_addebito']).' €</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($costi['altro_scontato']).' €</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>'.strtoupper(tr('Sconto totale')).'</th>
|
||||
<th>'.tr('Sconto totale', [], ['upper' => true]).'</th>
|
||||
<td class="text-right">-</td>
|
||||
<td class="text-right">-</td>
|
||||
<td class="text-right">'.Translator::numberToLocale(-$costi['sconto_globale']).' €</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>'.strtoupper(tr('Totale')).'</th>
|
||||
<th>'.tr('Totale', [], ['upper' => true]).'</th>
|
||||
<th class="text-right">'.Translator::numberToLocale($costi['totale_costi']).' €</th>
|
||||
<th class="text-right">'.Translator::numberToLocale($costi['totale_addebito']).' €</th>
|
||||
<th class="text-right">'.Translator::numberToLocale($costi['totale_manodopera']).' €</th>
|
||||
|
@ -10,7 +10,11 @@ if ($records[0]['firma_file'] == '') {
|
||||
$info_firma = '';
|
||||
} else {
|
||||
$frase = tr('Nuova anteprima e firma');
|
||||
$info_firma = '<span class="label label-success"><i class="fa fa-edit"></i> '.str_replace(['_TIMESTAMP_', '_PERSON_'], ['<b>'.date('d/m/Y \\a\\l\\l\\e H:i', strtotime($records[0]['firma_data'])).'</b>', '<b>'.$records[0]['firma_nome'].'</b>'], tr('Firmato il _TIMESTAMP_ da _PERSON_')).'</span>';
|
||||
$info_firma = '<span class="label label-success"><i class="fa fa-edit"></i> '.tr('Firmato il _DATE_ alle _TIME_ da _PERSON_', [
|
||||
'_DATE_' => Translator::dateToLocale($records[0]['firma_data']),
|
||||
'_TIME_' => Translator::timeToLocale($records[0]['firma_data']),
|
||||
'_NUM_' => '<b>'.$records[0]['firma_nome'].'</b>',
|
||||
]).'</span>';
|
||||
}
|
||||
|
||||
?><form action="" method="post">
|
||||
@ -193,11 +197,10 @@ if ($records[0]['firma_file'] == '') {
|
||||
</div>
|
||||
|
||||
<?php if ($records[0]['stato'] != 'Fatturato' && $records[0]['stato'] != 'Completato') {
|
||||
?>
|
||||
?>
|
||||
<button type="button" class="btn btn-primary" onclick="launch_modal( '<?php echo tr('Aggiungi articolo') ?>', '<?php echo $rootdir ?>/modules/interventi/add_articolo.php?id_module=<?php echo $id_module ?>&id_record=<?php echo $id_record ?>&idriga=0&idautomezzo='+$('#idautomezzo').find(':selected').val(), 1);"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi articolo') ?>...</button>
|
||||
<?php
|
||||
|
||||
} ?>
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -213,11 +216,10 @@ if ($records[0]['firma_file'] == '') {
|
||||
</div>
|
||||
|
||||
<?php if ($records[0]['stato'] != 'Fatturato' && $records[0]['stato'] != 'Completato') {
|
||||
?>
|
||||
?>
|
||||
<button type="button" class="btn btn-primary" onclick="launch_modal( '<?php echo tr('Aggiungi altre spese') ?>', '<?php echo $rootdir ?>/modules/interventi/add_righe.php?id_module=<?php echo $id_module ?>&id_record=<?php echo $id_record ?>', 1 );"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi altre spese') ?>...</button>
|
||||
<?php
|
||||
|
||||
} ?>
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -254,7 +256,11 @@ if ($records[0]['firma_file'] == '') {
|
||||
} else {
|
||||
echo '
|
||||
<img src="'.$rootdir.'/files/interventi/'.$records[0]['firma_file'].'" class="img-thumbnail"><br>
|
||||
<div class="alert alert-success"><i class="fa fa-check"></i> '.str_replace(['_TIMESTAMP_', '_PERSON_'], ['<b>'.date('d/m/Y \\a\\l\\l\\e H:i', strtotime($records[0]['firma_data'])).'</b>', '<b>'.$records[0]['firma_nome'].'</b>'], tr('Firmato il _TIMESTAMP_ da _PERSON_')).'</div>';
|
||||
<div class="alert alert-success"><i class="fa fa-check"></i> '.tr('Firmato il _DATE_ alle _TIME_ da _PERSON_', [
|
||||
'_DATE_' => Translator::dateToLocale($records[0]['firma_data']),
|
||||
'_TIME_' => Translator::timeToLocale($records[0]['firma_data']),
|
||||
'_NUM_' => '<b>'.$records[0]['firma_nome'].'</b>',
|
||||
]).'</div>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
@ -24,7 +24,10 @@ if (!empty($results)) {
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
'.Modules::link('Interventi', $result['codice'], str_replace(['_NUM_', '_DATE_'], [$result['idintervento'], Translator::dateToLocale($result['data'])], tr('Intervento _NUM_ del _DATE_'))).'
|
||||
'.Modules::link('Interventi', $result['codice'], tr('Intervento _NUM_ del _DATE_', [
|
||||
'_NUM_' => $result['idintervento'],
|
||||
'_DATE_' => Translator::dateToLocale($result['data']),
|
||||
])).'
|
||||
</td>
|
||||
<td>'.nl2br($result['descrizione']).'</td>
|
||||
</tr>';
|
||||
|
@ -14,7 +14,9 @@ switch (filter('op')) {
|
||||
$dbo->query('UPDATE `co_iva` SET `descrizione`='.prepare($descrizione).', `percentuale`='.prepare($percentuale).', `indetraibile`='.prepare($indetraibile).', `dicitura`='.prepare($dicitura).' WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = tr('Salvataggio completato!');
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'IVA', tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => 'IVA',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -32,9 +34,13 @@ switch (filter('op')) {
|
||||
$dbo->query('INSERT INTO `co_iva` (`descrizione`, `percentuale`, `indetraibile`) VALUES ('.prepare($descrizione).', '.prepare($percentuale).', '.prepare($indetraibile).')');
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'IVA', tr('Aggiunta nuova tipologia di _TYPE_'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta nuova tipologia di _TYPE_', [
|
||||
'_TYPE_' => 'IVA',
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'IVA', tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => 'IVA',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -46,7 +52,9 @@ switch (filter('op')) {
|
||||
if (isset($id_record)) {
|
||||
$dbo->query('DELETE FROM `co_iva` WHERE `id`='.prepare($id_record));
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'IVA', tr('Tipologia di _TYPE_ eliminata con successo!'));
|
||||
$_SESSION['infos'][] = tr('Tipologia di _TYPE_ eliminata con successo!', [
|
||||
'_TYPE_' => 'IVA',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -11,7 +11,9 @@ switch (filter('op')) {
|
||||
$dbo->query('UPDATE `mg_unitamisura` SET `valore`='.prepare($valore).' WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = tr('Salvataggio completato!');
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'unità di misura', tr("E' già presente una tipologia di _TYPE_ con lo stesso valore!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con lo stesso valore!", [
|
||||
'_TYPE_' => 'unità di misura',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -32,9 +34,13 @@ switch (filter('op')) {
|
||||
echo json_encode(['id' => $valore, 'text' => $valore]);
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'unità di misura', tr('Aggiunta nuova tipologia di _TYPE_'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta nuova tipologia di _TYPE_', [
|
||||
'_TYPE_' => 'unità di misura',
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'unità di misura', tr("E' già presente una tipologia di _TYPE_ con lo stesso valore!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con lo stesso valore!", [
|
||||
'_TYPE_' => 'unità di misura',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -45,7 +51,9 @@ switch (filter('op')) {
|
||||
case 'delete':
|
||||
if (isset($id_record)) {
|
||||
$dbo->query('DELETE FROM `mg_unitamisura` WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'unità di misura', tr('Tipologia di _TYPE_ eliminata con successo!'));
|
||||
$_SESSION['infos'][] = tr('Tipologia di _TYPE_ eliminata con successo!', [
|
||||
'_TYPE_' => 'unità di misura',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -57,7 +57,9 @@ switch ($op) {
|
||||
if (move_uploaded_file($tmp, $upload_dir.'/'.$filename)) {
|
||||
$dbo->query('UPDATE my_impianti SET immagine='.prepare($filename).' WHERE id='.prepare($id_record));
|
||||
} else {
|
||||
$_SESSION['warnings'][] = str_replace('_DIR_', $upload_dir, tr('Errore durante il caricamento del file in _DIR_!'));
|
||||
$_SESSION['warnings'][] = tr('Errore durante il caricamento del file in _DIR_!', [
|
||||
'_DIR_' => $upload_dir,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,7 +106,7 @@ switch ($op) {
|
||||
}
|
||||
|
||||
// ...altrimenti carico dal file .ini
|
||||
else if (file_exists($docroot.'/files/my_impianti/'.$filename)) {
|
||||
elseif (file_exists($docroot.'/files/my_impianti/'.$filename)) {
|
||||
$contenuto = file_get_contents($docroot.'/files/my_impianti/'.$filename);
|
||||
}
|
||||
|
||||
|
@ -143,9 +143,13 @@ if (!empty($rs2)) {
|
||||
$filename = $rs2[$j]['filename'];
|
||||
|
||||
if (empty($rs2[$j]['data_sostituzione'])) {
|
||||
$statocomponente = str_replace('_DATE_', Translator::dateToLocale($rs2[$j]['data']), tr('INSTALLATO in data _DATE_'));
|
||||
$statocomponente = tr('INSTALLATO in data _DATE_', [
|
||||
'_DATE_' => Translator::dateToLocale($rs2[$j]['data']),
|
||||
]);
|
||||
} else {
|
||||
$statocomponente = str_replace('_DATE_', Translator::dateToLocale($rs2[$j]['data_sostituzione']), tr('SOSTITUITO in data _DATE_'));
|
||||
$statocomponente = tr('SOSTITUITO in data _DATE_', [
|
||||
'_DATE_' => Translator::dateToLocale($rs2[$j]['data_sostituzione']),
|
||||
]);
|
||||
}
|
||||
|
||||
// Per più "versioni" dello stesso componente mostro un riga meno evidente
|
||||
@ -237,7 +241,10 @@ if (!empty($rs2)) {
|
||||
|
||||
if (!empty($rs2[$j]['idintervento'])) {
|
||||
echo '
|
||||
'.Modules::link('Interventi', $rs2[$j]['id'], str_replace(['_NUM_', '_DATE_'], [$rs2[$j]['codice'], Translator::dateToLocale($rs2[$j]['data_intervento'])], 'Intervento _NUM_ del _DATE_')).'<br>';
|
||||
'.Modules::link('Interventi', $rs2[$j]['id'], tr('Intervento _NUM_ del _DATE_', [
|
||||
'_NUM_' => $rs2[$j]['codice'],
|
||||
'_DATE_' => Translator::dateToLocale($rs2[$j]['dadata_interventota']),
|
||||
])).'<br>';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
@ -48,7 +48,9 @@ switch (post('op')) {
|
||||
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $numero, tr('Aggiunto ordine numero _NUM_!'));
|
||||
$_SESSION['infos'][] = tr('Aggiunto ordine numero _NUM_!', [
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -201,7 +203,7 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
// if( $dbo->query($query) ){
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
if ($dir == 'entrata') {
|
||||
ricalcola_costiagg_ordine($id_record);
|
||||
} else {
|
||||
|
@ -23,7 +23,9 @@ $prc_guadagno = $rs[0]['prc_guadagno'];
|
||||
$_SESSION['superselect']['dir'] = $dir;
|
||||
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Ordine numero _NUM_')).'</p>
|
||||
<p>'.tr('Ordine numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="addarticolo">
|
||||
|
@ -56,7 +56,9 @@ if (empty($idriga)) {
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Ordine numero _NUM_')).'</p>
|
||||
<p>'.tr('Ordine numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="'.$op.'">
|
||||
|
@ -47,7 +47,9 @@ if (!empty($rs)) {
|
||||
if (!empty($r['abilita_serial'])) {
|
||||
if (!empty($mancanti)) {
|
||||
echo '
|
||||
<br><b><small class="text-danger">'.str_replace('_NUM_', $mancanti, tr('_NUM_ serial mancanti')).'</small></b>';
|
||||
<br><b><small class="text-danger">'.tr('_NUM_ serial mancanti', [
|
||||
'_NUM_' => $mancanti,
|
||||
]).'</small></b>';
|
||||
}
|
||||
if (!empty($serials)) {
|
||||
echo '
|
||||
@ -191,7 +193,7 @@ $netto_a_pagare = sum([
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile')).':</b>
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($imponibile).' €
|
||||
@ -204,7 +206,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Sconto')).':</b>
|
||||
<b>'.tr('Sconto', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($sconto).' €
|
||||
@ -216,7 +218,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile scontato')).':</b>
|
||||
<b>'.tr('Imponibile scontato', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($imponibile_scontato).' €
|
||||
@ -232,7 +234,7 @@ if (abs($records[0]['rivalsainps']) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Rivalsa INPS')).':</b>
|
||||
<b>'.tr('Rivalsa INPS', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($records[0]['rivalsainps']).' €
|
||||
@ -246,7 +248,7 @@ if (abs($totale_iva) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Iva')).':</b>
|
||||
<b>'.tr('Iva', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($totale_iva).' €
|
||||
@ -259,7 +261,7 @@ if (abs($totale_iva) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Totale')).':</b>
|
||||
<b>'.tr('Totale', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($totale).' €
|
||||
@ -272,7 +274,7 @@ if (abs($records[0]['bollo']) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Marca da bollo')).':</b>
|
||||
<b>'.tr('Marca da bollo', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($records[0]['bollo']).' €
|
||||
@ -286,7 +288,7 @@ if (abs($records[0]['ritenutaacconto']) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr("Ritenuta d'acconto")).':</b>
|
||||
<b>'.tr("Ritenuta d'acconto", [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($records[0]['ritenutaacconto']).' €
|
||||
@ -300,7 +302,7 @@ if ($totale != $netto_a_pagare) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Netto a pagare')).':</b>
|
||||
<b>'.tr('Netto a pagare', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($netto_a_pagare).' €
|
||||
|
@ -53,7 +53,9 @@ switch (filter('op')) {
|
||||
$dbo->query('INSERT INTO `co_pagamenti` (`descrizione`) VALUES ('.prepare($descrizione).')');
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'pagamento', tr('Aggiunta nuova tipologia di _TYPE_'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta nuova tipologia di _TYPE_', [
|
||||
'_TYPE_' => 'pagamento',
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
}
|
||||
@ -63,7 +65,9 @@ switch (filter('op')) {
|
||||
case 'delete':
|
||||
if (isset($id_record)) {
|
||||
$dbo->query('DELETE FROM `co_pagamenti` WHERE `descrizione`='.prepare($records[0]['descrizione']));
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'pagamento', tr('Tipologia di _TYPE_ eliminata con successo!'));
|
||||
$_SESSION['infos'][] = tr('Tipologia di _TYPE_ eliminata con successo!', [
|
||||
'_TYPE_' => 'pagamento',
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -43,7 +43,9 @@ foreach ($results as $result) {
|
||||
echo '
|
||||
<div class="box box-success">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">'.str_replace('_NUMBER_', $cont, tr('Rata _NUMBER_')).'</h3>
|
||||
<h3 class="box-title">'.tr('Rata _NUMBER_', [
|
||||
'_NUMBER_' => $cont,
|
||||
]).'</h3>
|
||||
<a class=" btn btn-danger pull-right" onclick="';
|
||||
echo "if(confirm('".tr('Eliminare questo elemento?')."')){ location.href='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=delete_rata&id='.$result['id']."'; }";
|
||||
echo '"><i class="fa fa-trash"></i> '.tr('Elimina').'</a>
|
||||
|
@ -11,7 +11,9 @@ switch (filter('op')) {
|
||||
$dbo->query('UPDATE `dt_porto` SET `descrizione`='.prepare($descrizione).' WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = tr('Salvataggio completato!');
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'porto', tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => 'porto',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -27,9 +29,13 @@ switch (filter('op')) {
|
||||
$dbo->query('INSERT INTO `dt_porto` (`descrizione`) VALUES ('.prepare($descrizione).')');
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'porto', tr('Aggiunta nuova tipologia di _TYPE_'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta nuova tipologia di _TYPE_', [
|
||||
'_TYPE_' => 'porto',
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', 'porto', tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => 'porto',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -44,8 +50,10 @@ UNION SELECT id FROM co_preventivi WHERE idporto='.prepare($id_record));
|
||||
|
||||
if (isset($id_record) && !empty($documenti)) {
|
||||
$dbo->query('DELETE FROM `dt_porto` WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', 'porto', tr('Tipologia di _TYPE_ eliminata con successo!'));
|
||||
}else{
|
||||
$_SESSION['infos'][] = tr('Tipologia di _TYPE_ eliminata con successo!', [
|
||||
'_TYPE_' => 'porto',
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Sono presenti dei documenti collegati a questo porto!');
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,9 @@ UNION SELECT id FROM co_preventivi WHERE idporto='.prepare($id_record));
|
||||
|
||||
echo '
|
||||
<div class="alert alert-danger">
|
||||
'.str_replace('_NUM_', count($documenti), tr('Ci sono _NUM_ documenti collegati')).'.
|
||||
'.tr('Ci sono _NUM_ documenti collegati', [
|
||||
'_NUM_' => count($documenti),
|
||||
]).'.
|
||||
</div>';
|
||||
|
||||
?>
|
||||
|
@ -82,8 +82,9 @@ switch (post('op')) {
|
||||
$dbo->query('INSERT INTO co_righe_preventivi(idpreventivo, idarticolo, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, um, qta, sconto, sconto_unitario, tipo_sconto, `order`) VALUES ('.prepare($id_record).", '0', ".prepare($idiva).', '.prepare($rs_iva[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).", 'Diritto chiamata', ".prepare($costo).", '', 1, 0, 0, 'UNT', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_preventivi AS t WHERE idpreventivo=".prepare($id_record).'))');
|
||||
*/
|
||||
|
||||
// update_budget_preventivo( $id_record );
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $numero, tr('Aggiunto preventivo numero _NUM_!'));
|
||||
$_SESSION['infos'][] = tr('Aggiunto preventivo numero _NUM_!', [
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
|
||||
break;
|
||||
|
||||
@ -172,7 +173,9 @@ switch (post('op')) {
|
||||
$dbo->query("UPDATE `co_preventivi` SET idstato=(SELECT `id` FROM `co_statipreventivi` WHERE `descrizione`='In lavorazione') WHERE `id`=".prepare($id_record));
|
||||
|
||||
// update_budget_preventivo( $id_record );
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $rs[0]['codice'], tr('Intervento _NUM_ aggiunto!'));
|
||||
$_SESSION['infos'][] = tr('Intervento _NUM_ aggiunto!', [
|
||||
'_NUM_' => $rs[0]['codice'],
|
||||
]);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -203,7 +206,9 @@ switch (post('op')) {
|
||||
$query = 'DELETE FROM `co_preventivi_interventi` WHERE idpreventivo='.prepare($id_record).' AND idintervento='.prepare($idintervento);
|
||||
|
||||
$dbo->query($query);
|
||||
$_SESSION['infos'][] = str_replace('_NUM_', $idintervento, tr('Intervento _NUM_ rimosso!'));
|
||||
$_SESSION['infos'][] = tr('Intervento _NUM_ rimosso!', [
|
||||
'_NUM_' => $idintervento,
|
||||
]);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -44,7 +44,9 @@ if (empty($idriga)) {
|
||||
Form add / edit
|
||||
*/
|
||||
echo '
|
||||
<p>'.str_replace('_NUM_', $numero, tr('Preventivo numero _NUM_')).'</p>
|
||||
<p>'.tr('Preventivo numero _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
<form id="form" action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="'.$op.'">
|
||||
<input type="hidden" name="idriga" value="'.$idriga.'">
|
||||
|
@ -49,7 +49,10 @@ if (!empty($rsi)) {
|
||||
<tr style="background:'.$colori[$int['idstatointervento']].';">
|
||||
<td>
|
||||
<a href="javascript:;" class="btn btn-primary btn-xs" onclick="$(\'#dettagli_'.$int['id'].'\').toggleClass(\'hide\'); $(this).find(\'i\').toggleClass(\'fa-plus\').toggleClass(\'fa-minus\');"><i class="fa fa-plus"></i></a>
|
||||
'.Modules::link('Interventi', $int['id'], str_replace(['_NUM_', '_DATE_'], [$int['id'], Translator::dateToLocale($int['inizio'])], 'Intervento _NUM_ del _DATE_')).'
|
||||
'.Modules::link('Interventi', $int['id'], tr('Intervento _NUM_ del _DATE_', [
|
||||
'_NUM_' => $int['id'],
|
||||
'_DATE_' => Translator::dateToLocale($int['inizio']),
|
||||
])).'
|
||||
</td>
|
||||
|
||||
<td class="text-right">
|
||||
@ -236,7 +239,7 @@ if (!empty($rsi)) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<br><b>'.strtoupper(tr('Totale interventi per stato')).'</b>
|
||||
<br><b>'.tr('Totale interventi per stato', [], ['upper' => true]).'</b>
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
|
@ -126,7 +126,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile')).':</b>
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($imponibile).' €
|
||||
@ -137,7 +137,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Sconto')).':</b>
|
||||
<b>'.tr('Sconto', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($sconto).' €
|
||||
@ -149,7 +149,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile scontato')).':</b>
|
||||
<b>'.tr('Imponibile scontato', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($imponibile_scontato).' €
|
||||
@ -161,7 +161,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Imponibile')).':</b>
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($imponibile).' €
|
||||
@ -174,7 +174,7 @@ if (abs($sconto) > 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('IVA')).':</b>
|
||||
<b>'.tr('IVA', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($iva).' €
|
||||
@ -186,7 +186,7 @@ echo '
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" class="text-right">
|
||||
<b>'.strtoupper(tr('Totale')).':</b>
|
||||
<b>'.tr('Totale', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
'.Translator::numberToLocale($totale).' €
|
||||
|
@ -13,7 +13,9 @@ switch (filter('op')) {
|
||||
$dbo->query('UPDATE `co_ritenutaacconto` SET `descrizione`='.prepare($descrizione).', `percentuale`='.prepare($percentuale).', `indetraibile`='.prepare($indetraibile).' WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = tr('Salvataggio completato!');
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', "ritenuta d'acconto", tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => "ritenuta d'acconto",
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -31,9 +33,13 @@ switch (filter('op')) {
|
||||
$dbo->query('INSERT INTO `co_ritenutaacconto` (`descrizione`, `percentuale`, `indetraibile`) VALUES ('.prepare($descrizione).', '.prepare($percentuale).', '.prepare($indetraibile).')');
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', "ritenuta d'acconto", tr('Aggiunta nuova tipologia di _TYPE_'));
|
||||
$_SESSION['infos'][] = tr('Aggiunta nuova tipologia di _TYPE_', [
|
||||
'_TYPE_' => "ritenuta d'acconto",
|
||||
]);
|
||||
} else {
|
||||
$_SESSION['errors'][] = str_replace('_TYPE_', "ritenuta d'acconto", tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!"));
|
||||
$_SESSION['errors'][] = tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [
|
||||
'_TYPE_' => "ritenuta d'acconto",
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!');
|
||||
@ -44,7 +50,9 @@ switch (filter('op')) {
|
||||
case 'delete':
|
||||
if (isset($id_record)) {
|
||||
$dbo->query('DELETE FROM `co_ritenutaacconto` WHERE `id`='.prepare($id_record));
|
||||
$_SESSION['infos'][] = str_replace('_TYPE_', "ritenuta d'acconto", tr('Tipologia di _TYPE_ eliminata con successo!'));
|
||||
$_SESSION['infos'][] = tr('Tipologia di _TYPE_ eliminata con successo!', [
|
||||
'_TYPE_' => "ritenuta d'acconto",
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -122,7 +122,9 @@ echo '
|
||||
|
||||
<a onclick="launch_modal( 'Aggiungi prima nota', '<?php echo $rootdir ?>/add.php?id_module=<?php echo Modules::getModule('Prima nota')['id'] ?>&iddocumento=<?php echo $records[0]['iddocumento'] ?>&dir=<?php echo $dir ?>', 1 );" class="btn btn-sm btn-primary pull-right"><i class="fa fa-euro"></i> <?php echo tr('Aggiungi prima nota...'); ?></a>
|
||||
|
||||
<p class="text-danger hide" id="totale"><?php echo str_replace('_NUM_', '<b>'.Translator::numberToLocale($totale_da_pagare).'€</b>', tr('Il totale da pagare deve essere pari a _NUM_')); ?>.<br><?php echo tr('Differenza di'); ?> <span id="diff"></span> €.</p>
|
||||
<p class="text-danger hide" id="totale"><?php echo tr('Il totale da pagare deve essere pari a _NUM_', [
|
||||
'_NUM_' => '<b>'.Translator::numberToLocale($totale_da_pagare).'€</b>',
|
||||
]); ?>.<br><?php echo tr('Differenza di'); ?> <span id="diff"></span> €.</p>
|
||||
|
||||
<input type="hidden" id="totale_da_pagare" value="<?php echo Translator::numberToLocale($totale_da_pagare) ?>">
|
||||
</div>
|
||||
|
@ -81,7 +81,9 @@ $tot_interventi = $interventi[0]['tot_interventi'];
|
||||
if ($tot_interventi > 0) {
|
||||
echo '
|
||||
<div class="alert alert-danger">
|
||||
'.str_replace('_NUM_', $tot_interventi, tr('Ci sono _NUM_ interventi collegati')).'.
|
||||
'.tr('Ci sono _NUM_ interventi collegati', [
|
||||
'_NUM_' => $tot_interventi,
|
||||
]).'.
|
||||
'.tr('Eliminando questo tipo di attività, vengono rimossi anche gli interventi collegati!').'
|
||||
</div>';
|
||||
}
|
||||
|
@ -30,7 +30,9 @@ switch (filter('op')) {
|
||||
|
||||
// Verifico che la password sia di almeno x caratteri
|
||||
if (strlen($password) < $min_length) {
|
||||
$_SESSION['errors'][] = str_replace('_MIN_', $min_length, tr('La password deve essere lunga almeno _MIN_ caratteri!'));
|
||||
$_SESSION['errors'][] = tr('La password deve essere lunga almeno _MIN_ caratteri!', [
|
||||
'_MIN_' => $min_length,
|
||||
]);
|
||||
} elseif ($password != $password_rep) {
|
||||
$_SESSION['errors'][] = tr('Le password non coincidono');
|
||||
} else {
|
||||
@ -80,7 +82,9 @@ switch (filter('op')) {
|
||||
if ($n == 0) {
|
||||
// Verifico che la password sia di almeno x caratteri
|
||||
if (strlen($password) < $min_length) {
|
||||
$_SESSION['errors'][] = str_replace('_MIN_', $min_length, tr('La password deve essere lunga almeno _MIN_ caratteri!'));
|
||||
$_SESSION['errors'][] = tr('La password deve essere lunga almeno _MIN_ caratteri!', [
|
||||
'_MIN_' => $min_length,
|
||||
]);
|
||||
} elseif ($password != $password_rep) {
|
||||
$_SESSION['errors'][] = tr('Le password non coincidono');
|
||||
} else {
|
||||
@ -150,7 +154,6 @@ switch (filter('op')) {
|
||||
// Aggiunta dei permessi relativi alle viste
|
||||
$count = $dbo->fetchArray('SELECT COUNT(*) AS count FROM `zz_group_view` WHERE `id_gruppo` = '.prepare($id_record).' AND `id_vista` IN (SELECT `id` FROM `zz_views` WHERE `id_module`='.prepare($idmodulo).')');
|
||||
if (empty($count[0]['count'])) {
|
||||
|
||||
$results = $dbo->fetchArray('SELECT `id_vista` FROM `zz_group_view` WHERE `id_vista` IN (SELECT `id` FROM `zz_views` WHERE `id_module`='.prepare($idmodulo).')');
|
||||
foreach ($results as $result) {
|
||||
$dbo->attach('zz_group_view', ['id_vista' => $result['id_vista']], ['id_gruppo' => $id_record]);
|
||||
|
@ -6,12 +6,14 @@ $record = $records[0];
|
||||
|
||||
$moduli = $dbo->fetchArray('SELECT * FROM zz_modules WHERE parent IS NULL ORDER BY `order` ASC');
|
||||
|
||||
$utenti = $dbo->fetchArray("SELECT *, (SELECT ragione_sociale FROM an_anagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE an_anagrafiche.idanagrafica=zz_users.idanagrafica AND an_tipianagrafiche_anagrafiche.idtipoanagrafica=zz_users.idtipoanagrafica) AS ragione_sociale, (SELECT descrizione FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica=zz_users.idanagrafica AND an_tipianagrafiche.idtipoanagrafica=zz_users.idtipoanagrafica) AS tipo FROM zz_users WHERE idgruppo=".prepare($record['id']));
|
||||
$utenti = $dbo->fetchArray('SELECT *, (SELECT ragione_sociale FROM an_anagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE an_anagrafiche.idanagrafica=zz_users.idanagrafica AND an_tipianagrafiche_anagrafiche.idtipoanagrafica=zz_users.idtipoanagrafica) AS ragione_sociale, (SELECT descrizione FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica=zz_users.idanagrafica AND an_tipianagrafiche.idtipoanagrafica=zz_users.idtipoanagrafica) AS tipo FROM zz_users WHERE idgruppo='.prepare($record['id']));
|
||||
|
||||
echo '
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">'.str_replace('_GROUP_', $records[0]['nome'], tr('Utenti _GROUP_')).'</h3>
|
||||
<h3 class="panel-title">'.tr('Utenti _GROUP_', [
|
||||
'_GROUP_' => $records[0]['nome'],
|
||||
]).'</h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">';
|
||||
@ -61,7 +63,7 @@ if (count($utenti) != 0) {
|
||||
<a href="javascript:;" onclick="alert(\"'.tr("Non è possibile disabilitare l'utente admin").'\")" class="text-muted tip"><i class="fa fa-2x fa-eye-slash"></i></<>';
|
||||
}
|
||||
|
||||
// Cambio password e nome utente
|
||||
// Cambio password e nome utente
|
||||
echo '
|
||||
<a href="" data-href="'.$rootdir.'/modules/'.Modules::getModule($id_module)['directory'].'/user.php?id_utente='.$utenti[$u]['id_utente'].'&idgruppo='.$record['id'].'" class="text-warning tip" data-toggle="modal" data-target="#bs-popup" title="Aggiorna dati utente"" data-title="Aggiorna dati utente"><i class="fa fa-2x fa-unlock-alt"></i></a>';
|
||||
|
||||
|
@ -72,9 +72,13 @@ echo '
|
||||
else if( $("#password1").val() != $("#password2").val() )
|
||||
alert("'.tr('Le password non coincidono').'.");
|
||||
else if( $("#password1").val().length < min_length )
|
||||
alert("'.str_replace('_MIN_', $min_length, tr('La password deve essere lunga minimo _MIN_ caratteri!')).'");
|
||||
alert("'.tr('La password deve essere lunga minimo _MIN_ caratteri!', [
|
||||
'_MIN_' => $min_length,
|
||||
]).'");
|
||||
else if( $("#username").val().length < min_length_username )
|
||||
alert("'.str_replace('_MIN_', $min_length_username, tr("L'username deve essere lungo minimo _MIN_ caratteri!")).'");
|
||||
alert("'.tr("L'username deve essere lungo minimo _MIN_ caratteri!", [
|
||||
'_MIN_' => $min_length_username,
|
||||
]).'");
|
||||
else
|
||||
$("#link_form").submit();
|
||||
}
|
||||
|
@ -112,7 +112,9 @@ if (!empty($options) && $options != 'custom') {
|
||||
echo '">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">
|
||||
<a data-toggle="collapse" href="#field-'.$field['id'].'">'.str_replace('_POSITION_', $field['order'], tr('Campo in posizione _POSITION_')).' ('.$field['name'].')</a>
|
||||
<a data-toggle="collapse" href="#field-'.$field['id'].'">'.tr('Campo in posizione _POSITION_', [
|
||||
'_POSITION_' => $field['order'],
|
||||
]).' ('.$field['name'].')</a>
|
||||
</h3>';
|
||||
if ($editable) {
|
||||
echo '
|
||||
@ -131,7 +133,7 @@ if (!empty($options) && $options != 'custom') {
|
||||
if (!$editable) {
|
||||
echo ', "readonly": "1"';
|
||||
}
|
||||
echo ', "help": "Nome con cui il campo viene identificato e visualizzato nella tabella" ]}
|
||||
echo ', "help": "'.tr('Nome con cui il campo viene identificato e visualizzato nella tabella').'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
@ -139,7 +141,7 @@ if (!empty($options) && $options != 'custom') {
|
||||
if (!$editable) {
|
||||
echo ', "readonly": "1"';
|
||||
}
|
||||
echo ', "required": "1", "help": "Nome effettivo del campo sulla tabella oppure subquery che permette di ottenere il valore del campo" ]}
|
||||
echo ', "required": "1", "help": "'.tr('Nome effettivo del campo sulla tabella oppure subquery che permette di ottenere il valore del campo').'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -152,7 +154,7 @@ if (!empty($options) && $options != 'custom') {
|
||||
if (!$editable) {
|
||||
echo ', "readonly": "1"';
|
||||
}
|
||||
echo ', "help": "Gruppi di utenti in grado di visualizzare questo campo" ]}
|
||||
echo ', "help": "'.tr('Gruppi di utenti in grado di visualizzare questo campo').'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
@ -160,7 +162,7 @@ if (!empty($options) && $options != 'custom') {
|
||||
if (!$editable) {
|
||||
echo ', "readonly": "1"';
|
||||
}
|
||||
echo ', "help": "Stato del campo: visibile nella tabella oppure nascosto" ]}
|
||||
echo ', "help": "'.tr('Stato del campo: visibile nella tabella oppure nascosto').'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -170,7 +172,7 @@ if (!empty($options) && $options != 'custom') {
|
||||
if (!$editable) {
|
||||
echo ', "readonly": "1"';
|
||||
}
|
||||
echo ', "help": "Indica se il campo è ricercabile" ]}
|
||||
echo ', "help": "'.tr('Indica se il campo è ricercabile').'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-3">
|
||||
@ -178,7 +180,7 @@ if (!empty($options) && $options != 'custom') {
|
||||
if (!$editable) {
|
||||
echo ', "readonly": "1"';
|
||||
}
|
||||
echo ', "help": "Indica se la ricerca per questo campo è lenta (da utilizzare nel caso di evidenti rallentamenti, mostra solo un avviso all\'utente)" ]}
|
||||
echo ', "help": "'.tr("Indica se la ricerca per questo campo è lenta (da utilizzare nel caso di evidenti rallentamenti, mostra solo un avviso all'utente").'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-3">
|
||||
@ -186,7 +188,7 @@ if (!empty($options) && $options != 'custom') {
|
||||
if (!$editable) {
|
||||
echo ', "readonly": "1"';
|
||||
}
|
||||
echo ', "help": "Indica se il campo è da sommare" ]}
|
||||
echo ', "help": "'.tr('Indica se il campo è da sommare').'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-3">
|
||||
@ -194,7 +196,7 @@ if (!empty($options) && $options != 'custom') {
|
||||
if (!$editable) {
|
||||
echo ', "readonly": "1"';
|
||||
}
|
||||
echo ', "help": "Indica se il campo è formattabile in modo automatico" ]}
|
||||
echo ', "help": "'.tr('Indica se il campo è formattabile in modo automatico').'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -356,7 +358,9 @@ if (!empty($options) && $options != 'custom') {
|
||||
echo '">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">
|
||||
<a data-toggle="collapse" href="#additional-'.$additional['id'].'">'.str_replace('_NUM_', $num, tr('Filtro _NUM_')).'</a>
|
||||
<a data-toggle="collapse" href="#additional-'.$additional['id'].'">'.tr('Filtro _NUM_', [
|
||||
'_NUM_' => $num,
|
||||
]).'</a>
|
||||
</h3>';
|
||||
if ($editable) {
|
||||
echo '
|
||||
|
14
pdfgen.php
14
pdfgen.php
@ -93,9 +93,6 @@ if (file_exists($docroot.'/templates/'.$ptype.'/init.php')) {
|
||||
include $docroot.'/templates/'.$ptype.'/footer.php';
|
||||
}
|
||||
$foot = ob_get_clean();
|
||||
|
||||
// Footer di default
|
||||
$foot = !empty($foot) ? $foot : '$pagination$';
|
||||
} else {
|
||||
$orientation = 'P';
|
||||
$body_table_params = "style='width:210mm;'";
|
||||
@ -118,13 +115,18 @@ if (file_exists($docroot.'/templates/'.$ptype.'/init.php')) {
|
||||
$report = str_replace('$table$', $table, $report);
|
||||
}
|
||||
|
||||
// Footer di default
|
||||
$foot = !empty($foot) ? $foot : '$pagination$';
|
||||
|
||||
// Operazioni di sostituzione
|
||||
include $docroot.'/templates/replace.php';
|
||||
|
||||
// Individuazione dellla configurazione
|
||||
$directory = dirname($filename);
|
||||
if (!empty($filename) && ((is_dir($directory) && !is_writable($directory)) || (!is_dir($directory) && !create_dir($directory)))) {
|
||||
$error = str_replace('_DIRECTORY_', $directory, tr('Non hai i permessi per creare directory e files in _DIRECTORY_'));
|
||||
$error = tr('Non hai i permessi per creare directory e files in _DIRECTORY_', [
|
||||
'_DIRECTORY_' => $directory,
|
||||
]);
|
||||
|
||||
$_SESSION['errors'][] = $error;
|
||||
|
||||
@ -171,6 +173,10 @@ if (file_exists($docroot.'/templates/'.$ptype.'/init.php')) {
|
||||
|
||||
$mpdf->Output($filename, $mode);
|
||||
} else {
|
||||
if (!str_contains($report, '<page_footer>')) {
|
||||
$report .= '<page_footer>'.$foot.'</page_footer>';
|
||||
}
|
||||
|
||||
$html2pdf = new Spipu\Html2Pdf\Html2Pdf($orientation, 'A4', 'it', true, 'UTF-8');
|
||||
|
||||
$html2pdf->writeHTML($report);
|
||||
|
@ -26,15 +26,15 @@ echo "
|
||||
<table class='table table-striped' id='contents'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='text-center'>".strtoupper(tr('Descrizione'))."</th>
|
||||
<th class='text-center' style='width:7%'>".strtoupper(tr('Q.TÀ')).'</th>';
|
||||
<th class='text-center'>".tr('Descrizione', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:7%'>".tr('Q.TÀ', [], ['upper' => true]).'</th>';
|
||||
|
||||
if ($mostra_prezzi) {
|
||||
echo "
|
||||
<th class='text-center' style='width:15%'>".strtoupper(tr('Prezzo u.'))."</th>
|
||||
<th class='text-center' style='width:15%'>".strtoupper(tr('Importo'))."</th>
|
||||
<th class='text-center' style='width:10%'>".strtoupper(tr('Sconto'))."</th>
|
||||
<th class='text-center' style='width:7%'>".strtoupper(tr('IVA')).' (%)</th>';
|
||||
<th class='text-center' style='width:15%'>".tr('Prezzo u.', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:15%'>".tr('Importo', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:10%'>".tr('Sconto', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:7%'>".tr('IVA', [], ['upper' => true]).' (%)</th>';
|
||||
}
|
||||
|
||||
echo '
|
||||
@ -73,7 +73,10 @@ foreach ($rs_gen as $r) {
|
||||
$rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM or_ordini WHERE id='.prepare($r['idordine']));
|
||||
$numero = !empty($rso[0]['numero_esterno']) ? $rso[0]['numero_esterno'] : $rso[0]['numero'];
|
||||
echo '
|
||||
<br/><small>'.strtoupper(str_replace(['_NUM_', '_DATE_'], [$numero, Translator::dateToLocale($rso[0]['data'])], tr('Rif. ordine n<sup>o</sup>_NUM_ del _DATE_'))).'</small>';
|
||||
<br/><small>'.tr('Rif. ordine n<sup>o</sup>_NUM_ del _DATE_', [
|
||||
'_NUM_' => $numero,
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data']),
|
||||
]).'</small>';
|
||||
$autofill['count'] += 0.4;
|
||||
}
|
||||
|
||||
|
@ -9,11 +9,11 @@ if ($mostra_prezzi) {
|
||||
echo "
|
||||
<tr>
|
||||
<td rowspan='7'>
|
||||
<p class='small-bold'>".strtoupper(tr('Note')).'</p>
|
||||
<p class='small-bold'>".tr('Note', [], ['upper' => true]).'</p>
|
||||
<p>'.nl2br($rs[0]['note'])."</p>
|
||||
</td>
|
||||
<td style='width:33mm;'>
|
||||
<p class='small-bold'>".strtoupper(tr('Totale imponibile')).'</p>
|
||||
<p class='small-bold'>".tr('Totale imponibile', [], ['upper' => true]).'</p>
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
@ -29,7 +29,7 @@ if ($mostra_prezzi) {
|
||||
echo "
|
||||
<tr>
|
||||
<td style='width:33mm;'>
|
||||
<p class='small-bold'>".strtoupper(tr('Totale imposte'))."</p>
|
||||
<p class='small-bold'>".tr('Totale imposte', [], ['upper' => true])."</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -43,7 +43,7 @@ if ($mostra_prezzi) {
|
||||
echo "
|
||||
<tr>
|
||||
<td>
|
||||
<p class='small-bold'>".strtoupper(tr('Totale documento'))."</p>
|
||||
<p class='small-bold'>".tr('Totale documento', [], ['upper' => true])."</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -57,7 +57,7 @@ if ($mostra_prezzi) {
|
||||
echo "
|
||||
<tr>
|
||||
<td style='height:40mm;'>
|
||||
<p class='small-bold'>".strtoupper(tr('Note')).'</p>
|
||||
<p class='small-bold'>".tr('Note', [], ['upper' => true]).'</p>
|
||||
'.nl2br($rs[0]['note']).'
|
||||
</td>
|
||||
</tr>';
|
||||
@ -70,15 +70,15 @@ echo '
|
||||
<table class="table-bordered">
|
||||
<tr>
|
||||
<th class="border-bottom border-right" style="width:33%">
|
||||
'.strtoupper(tr('Aspetto beni')).'
|
||||
'.tr('Aspetto beni', [], ['upper' => true]).'
|
||||
</th>
|
||||
|
||||
<th class="border-bottom border-right" style="width:33%">
|
||||
'.strtoupper(tr('Causale trasporto')).'
|
||||
'.tr('Causale trasporto', [], ['upper' => true]).'
|
||||
</th>
|
||||
|
||||
<th class="border-bottom" style="width:33%">
|
||||
'.strtoupper(tr('Porto')).'
|
||||
'.tr('Porto', [], ['upper' => true]).'
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
@ -96,15 +96,15 @@ echo '
|
||||
|
||||
<tr>
|
||||
<th class="border-bottom border-right">
|
||||
'.strtoupper(tr('N<sup>o</sup> colli')).'
|
||||
'.tr('N<sup>o</sup> colli', [], ['upper' => true]).'
|
||||
</th>
|
||||
|
||||
<th class="border-bottom border-right">
|
||||
'.strtoupper(tr('Tipo di spedizione')).'
|
||||
'.tr('Tipo di spedizione', [], ['upper' => true]).'
|
||||
</th>
|
||||
|
||||
<th class="border-bottom">
|
||||
'.strtoupper(tr('Vettore')).'
|
||||
'.tr('Vettore', [], ['upper' => true]).'
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
@ -122,15 +122,15 @@ echo '
|
||||
|
||||
<tr>
|
||||
<th class="border-bottom border-right">
|
||||
'.strtoupper(tr('Firma conducente')).'
|
||||
'.tr('Firma conducente', [], ['upper' => true]).'
|
||||
</th>
|
||||
|
||||
<th class="border-bottom border-right">
|
||||
'.strtoupper(tr('Firma vettore')).'
|
||||
'.tr('Firma vettore', [], ['upper' => true]).'
|
||||
</th>
|
||||
|
||||
<th class="border-bottom">
|
||||
'.strtoupper(tr('Firma destinatario')).'
|
||||
'.tr('Firma destinatario', [], ['upper' => true]).'
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
|
@ -28,40 +28,40 @@ echo '
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td valign="top" class="border-full text-center">
|
||||
<p class="small-bold">'.strtoupper(tr('Nr. documento')).'</p>
|
||||
<p class="small-bold">'.tr('Nr. documento', [], ['upper' => true]).'</p>
|
||||
<p>$numero_doc$</p>
|
||||
</td>
|
||||
|
||||
<td class="border-right border-bottom border-top text-center">
|
||||
<p class="small-bold">'.strtoupper(tr('Data documento')).'</p>
|
||||
<p class="small-bold">'.tr('Data documento', [], ['upper' => true]).'</p>
|
||||
<p>$data$</p>
|
||||
</td>
|
||||
|
||||
<td class="border-right border-bottom border-top text-center">
|
||||
<p class="small-bold">'.strtoupper(tr('Cliente')).'</p>
|
||||
<p class="small-bold">'.tr('Cliente', [], ['upper' => true]).'</p>
|
||||
<p>$c_codice$</p>
|
||||
</td>
|
||||
|
||||
<td class="border-right border-bottom border-top center text-center">
|
||||
<p class="small-bold">'.strtoupper(tr('Foglio')).'</p>
|
||||
<p class="small-bold">'.tr('Foglio', [], ['upper' => true]).'</p>
|
||||
<p>{PAGENO}/{nb}</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan=2 class="border-bottom border-left" style="height:11mm;">
|
||||
<p class="small-bold">'.strtoupper(tr('Partita IVA')).'</p>
|
||||
<p class="small-bold">'.tr('Partita IVA', [], ['upper' => true]).'</p>
|
||||
<small>$c_piva$</small>
|
||||
</td>
|
||||
<td colspan=2 class="border-bottom border-right">
|
||||
<p class="small-bold">'.strtoupper(tr('Codice fiscale')).'</p>
|
||||
<p class="small-bold">'.tr('Codice fiscale', [], ['upper' => true]).'</p>
|
||||
<small>$c_codicefiscale$</small>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" class="border-full" style="height:11mm;">
|
||||
<p class="small-bold">'.strtoupper(tr('Pagamento')).'</p>
|
||||
<p class="small-bold">'.tr('Pagamento', [], ['upper' => true]).'</p>
|
||||
<p>$pagamento$</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -72,7 +72,7 @@ echo '
|
||||
<table class="table" style="width:100%;margin-top:5mm;">
|
||||
<tr>
|
||||
<td class="border-full" style="height:16mm;">
|
||||
<p class="small-bold">'.strtoupper(tr('Spett.le')).'</p>
|
||||
<p class="small-bold">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
||||
<p>$c_ragionesociale$</p>
|
||||
<p>$c_indirizzo$ $c_citta$</p>
|
||||
</td>
|
||||
@ -80,7 +80,7 @@ echo '
|
||||
|
||||
<tr>
|
||||
<td class="border-full" style="height:16mm;">
|
||||
<p class="small-bold">'.strtoupper(tr('Destinazione diversa')).'</p>
|
||||
<p class="small-bold">'.tr('Destinazione diversa', [], ['upper' => true]).'</p>
|
||||
<small>$c_destinazione$</small>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -24,12 +24,12 @@ echo "
|
||||
<table class='table table-striped' id='contents'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='text-center' style='width:50%'>".strtoupper(tr('Descrizione'))."</th>
|
||||
<th class='text-center' style='width:10%'>".strtoupper(tr('Q.TÀ'))."</th>
|
||||
<th class='text-center' style='width:7%'>".strtoupper(tr('Um'))."</th>
|
||||
<th class='text-center' style='width:16%'>".strtoupper(tr('Costo unitario'))."</th>
|
||||
<th class='text-center' style='width:20%'>".strtoupper(tr('Importo'))."</th>
|
||||
<th class='text-center' style='width:7%'>".strtoupper(tr('IVA')).' (%)</th>
|
||||
<th class='text-center' style='width:50%'>".tr('Descrizione', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:10%'>".tr('Q.TÀ', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:7%'>".tr('Um', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:16%'>".tr('Costo unitario', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:20%'>".tr('Importo', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:7%'>".tr('IVA', [], ['upper' => true]).' (%)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
@ -50,7 +50,9 @@ foreach ($righe as $r) {
|
||||
|
||||
if (!empty($r['codice_articolo'])) {
|
||||
echo '
|
||||
<br><small>'.str_replace('_COD_', $r['codice_articolo'], tr('COD. _COD_')).'</small>';
|
||||
<br><small>'.tr('COD. _COD_', [
|
||||
'_COD_' => $r['codice_articolo'],
|
||||
]).'</small>';
|
||||
$autofill['count'] += 0.4;
|
||||
}
|
||||
|
||||
@ -60,7 +62,10 @@ foreach ($righe as $r) {
|
||||
$numero = !empty($rso[0]['numero_esterno']) ? $rso[0]['numero_esterno'] : $rso[0]['numero'];
|
||||
|
||||
echo '
|
||||
<br><small>'.str_replace(['_NUM_', '_DATE_'], [$numero, Translator::dateToLocale($rso[0]['data'])], tr('Rif. ordine n<sup>o</sup>_NUM_ del _DATE_')).'</small>';
|
||||
<br><small>'.tr('Rif. ordine n<sup>o</sup>_NUM_ del _DATE_', [
|
||||
'_NUM_' => $numero,
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data']),
|
||||
]).'</small>';
|
||||
$autofill['count'] += 0.4;
|
||||
}
|
||||
|
||||
@ -70,7 +75,10 @@ foreach ($righe as $r) {
|
||||
$numero = !empty($rso[0]['numero_esterno']) ? $rso[0]['numero_esterno'] : $rso[0]['numero'];
|
||||
|
||||
echo '
|
||||
<br><small>'.str_replace(['_NUM_', '_DATE_'], [$numero, Translator::dateToLocale($rso[0]['data'])], tr('Rif. ddt n<sup>o</sup>_NUM_ del _DATE_')).'</small>';
|
||||
<br><small>'.tr('Rif. ddt n<sup>o</sup>_NUM_ del _DATE_', [
|
||||
'_NUM_' => $numero,
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data']),
|
||||
]).'</small>';
|
||||
$autofill['count'] += 0.4;
|
||||
}
|
||||
echo '
|
||||
@ -163,7 +171,7 @@ echo '
|
||||
if (!empty($rs[0]['note'])) {
|
||||
echo '
|
||||
<br>
|
||||
<p class="small-bold">'.strtoupper(tr('Note')).':</p>
|
||||
<p class="small-bold">'.tr('Note', [], ['upper' => true]).':</p>
|
||||
<p>'.$rs[0]['note'].'</p>';
|
||||
}
|
||||
|
||||
|
@ -7,7 +7,7 @@ echo "
|
||||
<tr>
|
||||
<td style='width:158.6mm;' class='border-top border-left'></td>
|
||||
<td style='width:33mm;' class='border-full'>
|
||||
<p class='small-bold'>".strtoupper(tr('Totale imponibile'))."</p>
|
||||
<p class='small-bold'>".tr('Totale imponibile', [], ['upper' => true])."</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -21,7 +21,7 @@ echo "
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan='2' class='border-bottom'>
|
||||
<p class='small-bold'>".strtoupper(tr('Scadenze pagamenti')).'</p>
|
||||
<p class='small-bold'>".tr('Scadenze pagamenti', [], ['upper' => true]).'</p>
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
@ -67,15 +67,15 @@ if (!empty($v_iva)) {
|
||||
<table>
|
||||
<tr>
|
||||
<td style='width:40mm;' class='border-bottom'>
|
||||
<p class='small-bold'>".strtoupper(tr('Aliquota IVA'))."</p>
|
||||
<p class='small-bold'>".tr('Aliquota IVA', [], ['upper' => true])."</p>
|
||||
</td>
|
||||
|
||||
<td style='width:20mm;' class='border-bottom text-center'>
|
||||
<p class='small-bold'>".strtoupper(tr('Importo'))."</p>
|
||||
<p class='small-bold'>".tr('Importo', [], ['upper' => true])."</p>
|
||||
</td>
|
||||
|
||||
<td style='width:20mm;' class='border-bottom text-center'>
|
||||
<p class='small-bold'>".strtoupper(tr('Importo IVA')).'</p>
|
||||
<p class='small-bold'>".tr('Importo IVA', [], ['upper' => true]).'</p>
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
@ -125,7 +125,7 @@ echo "
|
||||
echo "
|
||||
<tr>
|
||||
<td style='width:33mm;' class='border-bottom border-right'>
|
||||
<p class='small-bold'>".strtoupper(tr('Totale IVA'))."</p>
|
||||
<p class='small-bold'>".tr('Totale IVA', [], ['upper' => true])."</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -137,7 +137,7 @@ echo "
|
||||
|
||||
<tr>
|
||||
<td class='border-bottom border-right'>
|
||||
<p class='small-bold'>".strtoupper(tr('Totale documento'))."</p>
|
||||
<p class='small-bold'>".tr('Totale documento', [], ['upper' => true])."</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -154,7 +154,9 @@ if ($rs[0]['ritenutaacconto'] != 0) {
|
||||
echo "
|
||||
<tr>
|
||||
<td class='border-bottom b-top'>
|
||||
<p class='small-bold'>".strtoupper(str_replace('_PRC_', $rs2[0]['percentuale'], tr("Ritenuta d'acconto _PRC_%")))."</p>
|
||||
<p class='small-bold'>".tr("Ritenuta d'acconto _PRC_%", [
|
||||
'_PRC_' => $rs2[0]['percentuale'],
|
||||
], ['upper' => true])."</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -166,7 +168,7 @@ if ($rs[0]['ritenutaacconto'] != 0) {
|
||||
|
||||
<tr>
|
||||
<td class='border-bottom'>
|
||||
<p class='small-bold'>".strtoupper(tr('Netto a pagare'))."</p>
|
||||
<p class='small-bold'>".tr('Netto a pagare', [], ['upper' => true])."</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
@ -28,33 +28,33 @@ echo '
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td valign="top" class="border-full text-center">
|
||||
<p class="small-bold">'.strtoupper(tr('Nr. documento')).'</p>
|
||||
<p class="small-bold">'.tr('Nr. documento', [], ['upper' => true]).'</p>
|
||||
<p>$numero_doc$</p>
|
||||
</td>
|
||||
|
||||
<td class="border-right border-bottom border-top text-center">
|
||||
<p class="small-bold">'.strtoupper(tr('Data documento')).'</p>
|
||||
<p class="small-bold">'.tr('Data documento', [], ['upper' => true]).'</p>
|
||||
<p>$data$</p>
|
||||
</td>
|
||||
|
||||
<td class="border-right border-bottom border-top text-center">
|
||||
<p class="small-bold">'.strtoupper(tr('Cliente')).'</p>
|
||||
<p class="small-bold">'.tr('Cliente', [], ['upper' => true]).'</p>
|
||||
<p>$c_codice$</p>
|
||||
</td>
|
||||
|
||||
<td class="border-right border-bottom border-top center text-center">
|
||||
<p class="small-bold">'.strtoupper(tr('Foglio')).'</p>
|
||||
<p class="small-bold">'.tr('Foglio', [], ['upper' => true]).'</p>
|
||||
<p>{PAGENO}/{nb}</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2" style="height:10mm;padding-top:2mm;">
|
||||
<p class="small-bold">'.strtoupper(tr('Pagamento')).'</p>
|
||||
<p class="small-bold">'.tr('Pagamento', [], ['upper' => true]).'</p>
|
||||
<p>$pagamento$</p>
|
||||
</td>
|
||||
<td colspan="2" style="height:10mm;padding-top:2mm;">
|
||||
<p class="small-bold">'.strtoupper(tr('Banca di appoggio')).'</p>
|
||||
<p class="small-bold">'.tr('Banca di appoggio', [], ['upper' => true]).'</p>
|
||||
<p>$f_appoggiobancario$</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -76,7 +76,7 @@ echo '
|
||||
<table class="table" style="width:100%;margin-top:5mm;">
|
||||
<tr>
|
||||
<td colspan=2 class="border-full" style="height:16mm;">
|
||||
<p class="small-bold">'.strtoupper(tr('Spett.le')).'</p>
|
||||
<p class="small-bold">'.tr('Spett.le', [], ['upper' => true]).'</p>
|
||||
<p>$c_ragionesociale$</p>
|
||||
<p>$c_indirizzo$ $c_citta$</p>
|
||||
</td>
|
||||
@ -84,7 +84,7 @@ echo '
|
||||
|
||||
<tr>
|
||||
<td class="border-bottom border-left">
|
||||
<p class="small-bold">'.strtoupper(tr('Partita IVA')).'</p>
|
||||
<p class="small-bold">'.tr('Partita IVA', [], ['upper' => true]).'</p>
|
||||
</td>
|
||||
<td class="border-right border-bottom text-right">
|
||||
<small>$c_piva$</small>
|
||||
@ -93,7 +93,7 @@ echo '
|
||||
|
||||
<tr>
|
||||
<td class="border-bottom border-left">
|
||||
<p class="small-bold">'.strtoupper(tr('Codice fiscale')).'</p>
|
||||
<p class="small-bold">'.tr('Codice fiscale', [], ['upper' => true]).'</p>
|
||||
</td>
|
||||
<td class="border-right border-bottom text-right">
|
||||
<small>$c_codicefiscale$</small>
|
||||
|
@ -14,7 +14,10 @@ $replaces = [
|
||||
</td>
|
||||
|
||||
<td align="right" style="width:97mm;">
|
||||
'.str_replace(['_PAGE_', '_TOTAL_'], ['{PAGENO}', '{nb}'], tr('Pagina _PAGE_ di _TOTAL_')).'
|
||||
'.tr('Pagina _PAGE_ di _TOTAL_', [
|
||||
'_PAGE_' => '{PAGENO}',
|
||||
'_TOTAL_' => '{nb}',
|
||||
]).'
|
||||
</td>
|
||||
</tr>
|
||||
</table>',
|
||||
@ -73,36 +76,18 @@ foreach ($replace as $prefix => $values) {
|
||||
|
||||
$citta = '';
|
||||
|
||||
if ($values['cap'] != '') {
|
||||
if (!empty($values['cap'])) {
|
||||
$citta .= $values['cap'];
|
||||
}
|
||||
if ($values['citta'] != '') {
|
||||
if (!empty($values['citta'])) {
|
||||
$citta .= ' '.$values['citta'];
|
||||
}
|
||||
if ($values['provincia'] != '') {
|
||||
if (!empty($values['provincia'])) {
|
||||
$citta .= ' ('.$values['provincia'].')';
|
||||
}
|
||||
|
||||
$values['citta_full'] = $citta;
|
||||
|
||||
/*
|
||||
if ($values['piva'] != $values['codicefiscale']) {
|
||||
$values['piva'] = !empty($values['piva']) ? 'P.Iva: '.$values['piva'] : '';
|
||||
$values['codicefiscale'] = !empty($values['codicefiscale']) ? 'C.F.: '.$values['codicefiscale'] : '';
|
||||
} else {
|
||||
$values['piva'] = !empty($values['piva']) ? 'P.Iva/C.F.: '.$values['piva'] : '';
|
||||
$values['codicefiscale'] = '';
|
||||
}
|
||||
|
||||
$values['capsoc'] = !empty($values['capsoc']) ? 'Cap.Soc.: '.$values['capsoc'] : '';
|
||||
$values['sitoweb'] = !empty($values['sitoweb']) ? 'Web: '.$values['sitoweb'] : '';
|
||||
$values['telefono'] = !empty($values['telefono']) ? 'Tel: '.$values['telefono'] : '';
|
||||
$values['fax'] = !empty($values['fax']) ? 'Fax: '.$values['fax'] : '';
|
||||
$values['cellulare'] = !empty($values['cellulare']) ? 'Cell: '.$values['cellulare'] : '';
|
||||
$values['email'] = !empty($values['email']) ? 'Email: '.$values['email'] : '';
|
||||
$values['codiceiban'] = !empty($values['codiceiban']) ? 'IBAN: '.$values['codiceiban'] : '';
|
||||
*/
|
||||
|
||||
if ($key == 'c_') {
|
||||
$keys = array_unique(array_merge($keys, array_keys($values)));
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ if (!empty($rs2)) {
|
||||
|
||||
<tr>
|
||||
<td align="center" colspan="6" valign="middle" style="font-size:11pt;" bgcolor="#cccccc">
|
||||
<b>'.strtoupper(tr('Materiale utilizzato')).'</b>
|
||||
<b>'.tr('Materiale utilizzato', [], ['upper' => true]).'</b>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -201,7 +201,7 @@ if (!empty($rs2)) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" align="right">
|
||||
<b>'.strtoupper(tr('Totale materiale utilizzato')).':</b>
|
||||
<b>'.tr('Totale materiale utilizzato', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right" bgcolor="#dddddd">
|
||||
@ -225,7 +225,7 @@ if (!empty($rs2)) {
|
||||
|
||||
<tr>
|
||||
<td align="center" colspan="6" valign="middle" style="font-size:11pt;" bgcolor="#cccccc">
|
||||
<b>'.strtoupper(tr('Spese aggiuntive')).'</b>
|
||||
<b>'.tr('Spese aggiuntive', [], ['upper' => true]).'</b>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -313,7 +313,7 @@ if (!empty($rs2)) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="5" align="right">
|
||||
<b>'.strtoupper(tr('Totale spese aggiuntive')).':</b>
|
||||
<b>'.tr('Totale spese aggiuntive', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right" bgcolor="#dddddd">
|
||||
@ -335,7 +335,7 @@ echo '
|
||||
|
||||
<tr>
|
||||
<td align="center" colspan="5" valign="middle" style="font-size:11pt;" bgcolor="#cccccc">
|
||||
<b>'.strtoupper(tr('Ore tecnici')).'</b>
|
||||
<b>'.tr('Ore tecnici', [], ['upper' => true]).'</b>
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
@ -522,7 +522,7 @@ if ($visualizza_costi) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="4" align="right">
|
||||
<b>'.strtoupper(tr('Totale intervento')).':</b>
|
||||
<b>'.tr('Totale intervento', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right" bgcolor="#dddddd">
|
||||
@ -549,7 +549,7 @@ if ($visualizza_costi) {
|
||||
echo '
|
||||
<tr>
|
||||
<td valign="middle" align="right">
|
||||
<b>'.strtoupper(tr('Imponibile')).':</b>
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right" bgcolor="#cccccc">
|
||||
@ -569,7 +569,7 @@ if ($visualizza_costi) {
|
||||
echo '
|
||||
<tr>
|
||||
<td valign="middle" align="right">
|
||||
<b>'.strtoupper(tr('Sconto incondizionato')).':</b>
|
||||
<b>'.tr('Sconto incondizionato', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right" bgcolor="#cccccc">
|
||||
@ -581,7 +581,7 @@ if ($visualizza_costi) {
|
||||
echo '
|
||||
<tr>
|
||||
<td valign="middle" align="right">
|
||||
<b>'.strtoupper(tr('Imponibile scontato')).':</b>
|
||||
<b>'.tr('Imponibile scontato', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right" bgcolor="#cccccc">
|
||||
@ -602,7 +602,9 @@ if ($visualizza_costi) {
|
||||
echo '
|
||||
<tr>
|
||||
<td valign="middle" align="right">
|
||||
<b>'.strtoupper(tr('Iva')).' ('.Translator::numberToLocale($percentuale_iva, 0).'%):</b>
|
||||
<b>'.tr('Iva (_PRC_%)', [
|
||||
'_PRC_' => Translator::numberToLocale($percentuale_iva, 0),
|
||||
], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<td align="right" bgcolor="#cccccc">
|
||||
@ -616,7 +618,7 @@ if ($visualizza_costi) {
|
||||
echo '
|
||||
<tr>
|
||||
<td valign="middle" align="right">
|
||||
<b>'.strtoupper(tr('Totale intervento')).':</b>
|
||||
<b>'.tr('Totale intervento', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td align="right" bgcolor="#cccccc">
|
||||
<b>'.Translator::numberToLocale($totale, 2).' €</b>
|
||||
|
@ -1,3 +1,34 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/info.php';
|
||||
|
||||
$replaces['pagination'] = str_replace(['{PAGENO}', '{nb}'], ['[[page_cu]]', '[[page_nb]]'], $replaces['pagination']);
|
||||
|
||||
$prefixes = [
|
||||
'c_',
|
||||
'f_',
|
||||
];
|
||||
|
||||
foreach ($prefixes as $prefix) {
|
||||
if ($replaces[$prefix.'piva'] != $replaces[$prefix.'codicefiscale']) {
|
||||
$replaces[$prefix.'piva'] = !empty($replaces[$prefix.'piva']) ? 'P.Iva: '.$replaces[$prefix.'piva'] : '';
|
||||
$replaces[$prefix.'codicefiscale'] = !empty($replaces[$prefix.'codicefiscale']) ? 'C.F.: '.$replaces[$prefix.'codicefiscale'] : '';
|
||||
} else {
|
||||
$replaces[$prefix.'piva'] = !empty($replaces[$prefix.'piva']) ? 'P.Iva/C.F.: '.$replaces[$prefix.'piva'] : '';
|
||||
$replaces[$prefix.'codicefiscale'] = '';
|
||||
}
|
||||
|
||||
$replaces[$prefix.'capsoc'] = !empty($replaces[$prefix.'capsoc']) ? 'Cap.Soc.: '.$replaces[$prefix.'capsoc'] : '';
|
||||
$replaces[$prefix.'sitoweb'] = !empty($replaces[$prefix.'sitoweb']) ? 'Web: '.$replaces[$prefix.'sitoweb'] : '';
|
||||
$replaces[$prefix.'telefono'] = !empty($replaces[$prefix.'telefono']) ? 'Tel: '.$replaces[$prefix.'telefono'] : '';
|
||||
$replaces[$prefix.'fax'] = !empty($replaces[$prefix.'fax']) ? 'Fax: '.$replaces[$prefix.'fax'] : '';
|
||||
$replaces[$prefix.'cellulare'] = !empty($replaces[$prefix.'cellulare']) ? 'Cell: '.$replaces[$prefix.'cellulare'] : '';
|
||||
$replaces[$prefix.'email'] = !empty($replaces[$prefix.'email']) ? 'Email: '.$replaces[$prefix.'email'] : '';
|
||||
$replaces[$prefix.'codiceiban'] = !empty($replaces[$prefix.'codiceiban']) ? 'IBAN: '.$replaces[$prefix.'codiceiban'] : '';
|
||||
|
||||
foreach ($replaces as $key => $value) {
|
||||
if (starts_with($key, $prefix)) {
|
||||
$replaces[$key] = empty($value) ? $value : $value.'<br/>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||
$body .= "</td>\n";
|
||||
|
||||
$body .= "<td align=\"right\" style=\"width:20mm;\">\n";
|
||||
$body .= ' '.str_replace(' ', ' ', Translator::numberToLocale($rs[$i]['budget_totale'], 2).' €')."\n";
|
||||
$body .= ' '.Translator::numberToLocale($rs[$i]['budget_totale'], 2).' €\n';
|
||||
$body .= "</td></tr>\n";
|
||||
|
||||
$totale += $rs[$i]['budget_totale'];
|
||||
@ -138,7 +138,7 @@ $body .= " <b>TOTALE:</b>\n";
|
||||
$body .= "</td>\n";
|
||||
|
||||
$body .= "<td align=\"right\">\n";
|
||||
$body .= ' <b>'.str_replace(' ', ' ', Translator::numberToLocale($totale, 2).' €')."</b>\n";
|
||||
$body .= ' <b>'.Translator::numberToLocale($totale, 2)." €</b>\n";
|
||||
$body .= "</td></tr>\n";
|
||||
|
||||
$body .= "</tbody>\n";
|
||||
|
@ -910,4 +910,4 @@ UPDATE `or_righe_ordini` SET `abilita_serial` = 1 WHERE `idarticolo` IN (SELECT
|
||||
|
||||
-- Rimozione sconto/rincaro per i preventivi
|
||||
UPDATE `co_righe_preventivi` SET `sconto_unitario` = `prc_guadagno`, `tipo_sconto` = 'PRC', `sconto` = `prc_guadagno` * `qta` WHERE `prc_guadagno` != 0;
|
||||
ALTER TABLE `co_righe_preventivi` DROP `prc_guadagno `;
|
||||
ALTER TABLE `co_righe_preventivi` DROP `prc_guadagno`;
|
||||
|
Loading…
x
Reference in New Issue
Block a user