Ottimizzazioni per php8.3
This commit is contained in:
parent
8907734985
commit
95f20080f2
|
@ -53,7 +53,7 @@ if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
|
|||
$response = Response::error('ok');
|
||||
}
|
||||
|
||||
json_decode($response);
|
||||
json_decode((string) $response);
|
||||
|
||||
// Impostazioni di Content-Type e Charset Header
|
||||
if (json_last_error() == JSON_ERROR_NONE) {
|
||||
|
|
|
@ -364,7 +364,7 @@ if (empty($record) || !$has_access) {
|
|||
</div>
|
||||
</div>';
|
||||
}
|
||||
echo'
|
||||
echo '
|
||||
<div>
|
||||
<i class="fa fa-clock-o bg-gray"></i>
|
||||
</div>
|
||||
|
|
|
@ -95,7 +95,7 @@ echo '
|
|||
</html>';
|
||||
|
||||
// Retrocompatibilità
|
||||
if (!empty($id_record) || basename($_SERVER['PHP_SELF']) == 'controller.php' || basename($_SERVER['PHP_SELF']) == 'index.php') {
|
||||
if (!empty($id_record) || basename((string) $_SERVER['PHP_SELF']) == 'controller.php' || basename((string) $_SERVER['PHP_SELF']) == 'index.php') {
|
||||
unset($_SESSION['infos']);
|
||||
unset($_SESSION['errors']);
|
||||
unset($_SESSION['warnings']);
|
||||
|
|
|
@ -76,7 +76,7 @@ echo '
|
|||
|
||||
<input type="hidden" name="id_documento" value="'.$documento->id.'">
|
||||
<input type="hidden" name="type" value="'.$options['type'].'">
|
||||
<input type="hidden" name="class" value="'.get_class($documento).'">
|
||||
<input type="hidden" name="class" value="'.$documento::class.'">
|
||||
<input type="hidden" name="is_evasione" value="1">';
|
||||
|
||||
// Creazione fattura dal documento
|
||||
|
|
|
@ -47,7 +47,7 @@ if (!empty(post('db_host'))) {
|
|||
'db_username' => $db_username,
|
||||
'db_password' => $db_password,
|
||||
]);
|
||||
} catch (Exception $e) {
|
||||
} catch (Exception) {
|
||||
}
|
||||
|
||||
// Test della configurazione
|
||||
|
|
|
@ -31,47 +31,18 @@ $modules = [
|
|||
|
||||
$sapi_name = php_sapi_name();
|
||||
$php_interface = '';
|
||||
switch (true) {
|
||||
case strpos($sapi_name, 'apache') !== false:
|
||||
// PHP è in esecuzione come modulo Apache (4)
|
||||
$php_interface = 'apache';
|
||||
break;
|
||||
case strpos($sapi_name, 'fpm-fcgi') !== false:
|
||||
// PHP è in esecuzione come PHP-FPM FastCGI (3)
|
||||
$php_interface = 'fpm-fcgi';
|
||||
break;
|
||||
case strpos($sapi_name, 'fpm') !== false:
|
||||
// PHP è in esecuzione come PHP-FPM (9)
|
||||
$php_interface = 'fpm';
|
||||
break;
|
||||
case strpos($sapi_name, 'cgi-fcgi') !== false:
|
||||
// PHP è in esecuzione come FastCGI (8)
|
||||
$php_interface = 'cgi-fcgi';
|
||||
break;
|
||||
case strpos($sapi_name, 'cgi') !== false:
|
||||
// PHP è in esecuzione come modulo CGI (2)
|
||||
$php_interface = 'cgi';
|
||||
break;
|
||||
case strpos($sapi_name, 'cli') !== false:
|
||||
// PHP è in esecuzione dalla riga di comando (command line interface) (1)
|
||||
$php_interface = 'cli';
|
||||
break;
|
||||
case strpos($sapi_name, 'embed') !== false:
|
||||
// PHP è incorporato in un'applicazione (5)
|
||||
$php_interface = 'embed';
|
||||
break;
|
||||
case strpos($sapi_name, 'litespeed') !== false:
|
||||
// PHP è in esecuzione come modulo LiteSpeed (6)
|
||||
$php_interface = 'litespeed';
|
||||
break;
|
||||
case strpos($sapi_name, 'isapi') !== false:
|
||||
// PHP è in esecuzione come modulo ISAPI in IIS (7)
|
||||
$php_interface = 'isapi';
|
||||
break;
|
||||
default:
|
||||
// Non è possibile determinare il tipo di interfaccia di PHP (0)
|
||||
$php_interface = 'n.d.';
|
||||
}
|
||||
$php_interface = match (true) {
|
||||
str_contains($sapi_name, 'apache') => 'apache',
|
||||
str_contains($sapi_name, 'fpm-fcgi') => 'fpm-fcgi',
|
||||
str_contains($sapi_name, 'fpm') => 'fpm',
|
||||
str_contains($sapi_name, 'cgi-fcgi') => 'cgi-fcgi',
|
||||
str_contains($sapi_name, 'cgi') => 'cgi',
|
||||
str_contains($sapi_name, 'cli') => 'cli',
|
||||
str_contains($sapi_name, 'embed') => 'embed',
|
||||
str_contains($sapi_name, 'litespeed') => 'litespeed',
|
||||
str_contains($sapi_name, 'isapi') => 'isapi',
|
||||
default => 'n.d.',
|
||||
};
|
||||
|
||||
if (function_exists('apache_get_modules')) {
|
||||
$available_modules = apache_get_modules();
|
||||
|
|
|
@ -107,24 +107,24 @@ if (!empty($type) && $type != 'menu' && $type != 'custom') {
|
|||
|
||||
foreach ($total['fields'] as $key => $field) {
|
||||
$attr_td = '';
|
||||
$name = trim($field);
|
||||
$name = trim((string) $field);
|
||||
|
||||
// Check per tipologie di campi particolari
|
||||
if (preg_match('/^color_/', $field)) {
|
||||
if (preg_match('/^color_/', (string) $field)) {
|
||||
$attr_td .= " width='140'";
|
||||
$field = str_replace('color_', '', $field);
|
||||
}
|
||||
|
||||
// Data (larghezza fissa)
|
||||
elseif (preg_match('/^Data/', $field)) {
|
||||
elseif (preg_match('/^Data/', (string) $field)) {
|
||||
$attr_td .= " width='100'";
|
||||
}
|
||||
|
||||
// Icona di stampa
|
||||
elseif (trim($field) == '_print_') {
|
||||
elseif (trim((string) $field) == '_print_') {
|
||||
$attr_td .= " width='30'";
|
||||
$field = str_replace('_print_', '', $field);
|
||||
} elseif (preg_match('/^icon_/', $field)) {
|
||||
} elseif (preg_match('/^icon_/', (string) $field)) {
|
||||
$attr_td .= " width='30'";
|
||||
$name = str_replace('icon_', 'icon_title_', $name);
|
||||
$field = str_replace('icon_', '', $field);
|
||||
|
|
|
@ -61,7 +61,7 @@ $ddt = DDT::whereHas('stato', function ($query) {
|
|||
})->get();
|
||||
foreach ($ddt as $elemento) {
|
||||
$documenti_disponibili->push([
|
||||
'id' => get_class($elemento).'|'.$elemento->id,
|
||||
'id' => $elemento::class.'|'.$elemento->id,
|
||||
'text' => $elemento->getReference(1),
|
||||
'optgroup' => tr('Ddt in ').$source->getDocument()->direzione,
|
||||
]);
|
||||
|
@ -77,7 +77,7 @@ $ordini = Ordine::whereHas('stato', function ($query) {
|
|||
})->get();
|
||||
foreach ($ordini as $elemento) {
|
||||
$documenti_disponibili->push([
|
||||
'id' => get_class($elemento).'|'.$elemento->id,
|
||||
'id' => $elemento::class.'|'.$elemento->id,
|
||||
'text' => $elemento->getReference(1),
|
||||
'optgroup' => tr('Ordini ').$tipo_ordini,
|
||||
]);
|
||||
|
|
|
@ -44,7 +44,7 @@ echo '
|
|||
|
||||
$righe = $documento->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
$riga_class = get_class($riga);
|
||||
$riga_class = $riga::class;
|
||||
|
||||
$riferimento_locale = $riga_class.'|'.$riga->id;
|
||||
$presente = in_array($riferimento_locale, $riferimenti);
|
||||
|
|
|
@ -43,12 +43,12 @@ if (!$riferimenti->isEmpty()) {
|
|||
|
||||
foreach ($riferimenti as $riferimento) {
|
||||
$riga = $riferimento->target;
|
||||
$riga_class = get_class($source);
|
||||
$riga_class = $source::class;
|
||||
|
||||
echo '
|
||||
<tr data-id="'.$riga->id.'" data-type="'.$riga_class.'">
|
||||
<td>
|
||||
<button type="button" class="btn btn-xs btn-danger pull-right" onclick="rimuoviRiferimento(this, \''.addslashes($source_type).'\', \''.$source_id.'\', \''.$riferimento->id.'\')">
|
||||
<button type="button" class="btn btn-xs btn-danger pull-right" onclick="rimuoviRiferimento(this, \''.addslashes((string) $source_type).'\', \''.$source_id.'\', \''.$riferimento->id.'\')">
|
||||
<i class="fa fa-trash"></i>
|
||||
</button>
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ if (Auth::check()) {
|
|||
|
||||
echo '
|
||||
search.push("search_'.$field_name.'");
|
||||
search["search_'.$field_name.'"] = "'.addslashes($value).'";';
|
||||
search["search_'.$field_name.'"] = "'.addslashes((string) $value).'";';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -206,7 +206,7 @@ if (Auth::check()) {
|
|||
|
||||
search: search,
|
||||
translations: translations,
|
||||
locale: "'.explode('_', $lang)[0].'",
|
||||
locale: "'.explode('_', (string) $lang)[0].'",
|
||||
full_locale: "'.$lang.'",
|
||||
|
||||
start_date: "'.$_SESSION['period_start'].'",
|
||||
|
@ -276,7 +276,7 @@ if (Auth::check()) {
|
|||
date_format: "'.formatter()->getDatePattern().'",
|
||||
time_format: "'.formatter()->getTimePattern().'",
|
||||
|
||||
locale: "'.explode('_', $lang)[0].'",
|
||||
locale: "'.explode('_', (string) $lang)[0].'",
|
||||
full_locale: "'.$lang.'",
|
||||
};
|
||||
</script>';
|
||||
|
@ -530,9 +530,9 @@ if (Auth::check()) {
|
|||
$count = 0;
|
||||
$opt = '';
|
||||
if (!empty($plugin['options2'])) {
|
||||
$opt = json_decode($plugin['options2'], true);
|
||||
$opt = json_decode((string) $plugin['options2'], true);
|
||||
} elseif (!empty($plugin['options'])) {
|
||||
$opt = json_decode($plugin['options'], true);
|
||||
$opt = json_decode((string) $plugin['options'], true);
|
||||
}
|
||||
|
||||
if (!empty($opt)) {
|
||||
|
@ -573,8 +573,8 @@ if (Auth::check()) {
|
|||
<li data-toggle="control-sidebar" class="btn-default nav-item">
|
||||
<a class="bg-info nav-link" data-toggle="tab" href="#tab_checks" id="link-tab_checks">
|
||||
'.tr('Checklist')
|
||||
. ($checklists_total ? ' <span class="badge pull-right">' . $checklists_unchecked->count() . tr(' / ') . $checklists_total->count() . '</span>' : '')
|
||||
. '
|
||||
.($checklists_total ? ' <span class="badge pull-right">'.$checklists_unchecked->count().tr(' / ').$checklists_total->count().'</span>' : '')
|
||||
.'
|
||||
</a>
|
||||
</li>';
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ function calcola_sconto($data)
|
|||
|
||||
$price = floatval($data['prezzo']);
|
||||
|
||||
$percentages = explode('+', $data['sconto']);
|
||||
$percentages = explode('+', (string) $data['sconto']);
|
||||
foreach ($percentages as $percentage) {
|
||||
$discount = $price / 100 * floatval($percentage);
|
||||
|
||||
|
@ -187,7 +187,7 @@ function reference($document, $text = null)
|
|||
}
|
||||
|
||||
$description = $text ?: tr('Rif. _DOCUMENT_', [
|
||||
'_DOCUMENT_' => strtolower($content),
|
||||
'_DOCUMENT_' => strtolower((string) $content),
|
||||
]);
|
||||
|
||||
return Modules::link($module_id, $document_id, $description, $description, $extra);
|
||||
|
@ -201,16 +201,16 @@ function reference($document, $text = null)
|
|||
*/
|
||||
function parseScontoCombinato($combinato)
|
||||
{
|
||||
$sign = substr($combinato, 0, 1);
|
||||
$sign = substr((string) $combinato, 0, 1);
|
||||
$original = $sign != '+' && $sign != '-' ? '+'.$combinato : $combinato;
|
||||
$pieces = preg_split('/[+,-]+/', $original);
|
||||
$pieces = preg_split('/[+,-]+/', (string) $original);
|
||||
unset($pieces[0]);
|
||||
|
||||
$result = 1;
|
||||
$text = $original;
|
||||
foreach ($pieces as $piece) {
|
||||
$sign = substr($text, 0, 1);
|
||||
$text = substr($text, 1 + strlen($piece));
|
||||
$sign = substr((string) $text, 0, 1);
|
||||
$text = substr((string) $text, 1 + strlen($piece));
|
||||
|
||||
$result *= 1 - floatval($sign.$piece) / 100;
|
||||
}
|
||||
|
@ -336,7 +336,7 @@ function checkPrefix($cellulare)
|
|||
|
||||
// Controlla se il campo "cellulare" inizia con uno dei prefissi
|
||||
foreach ($internationalPrefixes as $prefix) {
|
||||
if (strpos($cellulare, $prefix) === 0) {
|
||||
if (str_starts_with((string) $cellulare, $prefix)) {
|
||||
return true; // Un prefisso è già presente
|
||||
}
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@ function delete($files)
|
|||
// Eliminazione
|
||||
try {
|
||||
$fs->remove($files);
|
||||
} catch (IOException $e) {
|
||||
} catch (IOException) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -129,16 +129,16 @@ function copyr($source, $destination, $ignores = [])
|
|||
|
||||
try {
|
||||
$fs->chmod($destination, 0777, 0000, true);
|
||||
} catch (IOException $e) {
|
||||
} catch (IOException) {
|
||||
}
|
||||
|
||||
foreach ($files as $file) {
|
||||
$filename = rtrim($destination, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$file->getRelativePathname();
|
||||
$filename = rtrim((string) $destination, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$file->getRelativePathname();
|
||||
|
||||
// Copia effettiva del file
|
||||
try {
|
||||
$fs->copy($file, $filename, true);
|
||||
} catch (IOException $e) {
|
||||
} catch (IOException) {
|
||||
$result = false;
|
||||
}
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ function getOS()
|
|||
];
|
||||
|
||||
foreach ($os as $key => $value) {
|
||||
if (strpos($_SERVER['HTTP_USER_AGENT'], $key)) {
|
||||
if (strpos((string) $_SERVER['HTTP_USER_AGENT'], $key)) {
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
@ -209,7 +209,7 @@ function get_client_ip()
|
|||
$ipaddress = 'UNKNOWN';
|
||||
}
|
||||
|
||||
return strip_tags($ipaddress);
|
||||
return strip_tags((string) $ipaddress);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -351,7 +351,7 @@ function prepareToField($string)
|
|||
*/
|
||||
function isMobile()
|
||||
{
|
||||
return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER['HTTP_USER_AGENT']);
|
||||
return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", (string) $_SERVER['HTTP_USER_AGENT']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -364,10 +364,10 @@ function isMobile()
|
|||
function getURLPath()
|
||||
{
|
||||
$path = $_SERVER['SCRIPT_FILENAME'];
|
||||
$prefix = rtrim($_SERVER['DOCUMENT_ROOT'], '/\\');
|
||||
$prefix = rtrim((string) $_SERVER['DOCUMENT_ROOT'], '/\\');
|
||||
|
||||
if (substr($path, 0, strlen($prefix)) == $prefix) {
|
||||
$path = substr($path, strlen($prefix));
|
||||
if (str_starts_with((string) $path, $prefix)) {
|
||||
$path = substr((string) $path, strlen($prefix));
|
||||
} else {
|
||||
$path = str_replace(base_dir(), base_path(), $path);
|
||||
}
|
||||
|
@ -406,7 +406,7 @@ function clean($string, $permitted = '')
|
|||
|
||||
function check_query($query)
|
||||
{
|
||||
$query = mb_strtoupper($query);
|
||||
$query = mb_strtoupper((string) $query);
|
||||
|
||||
$blacklist = ['INSERT', 'UPDATE', 'TRUNCATE', 'DELETE', 'DROP', 'GRANT', 'CREATE', 'REVOKE'];
|
||||
foreach ($blacklist as $value) {
|
||||
|
@ -449,11 +449,10 @@ function session_get($name, $default = null)
|
|||
* Imposta un parametro nella sessione secondo un nome indicato.
|
||||
*
|
||||
* @param string $name Nome del parametro in dot-notation
|
||||
* @param mixed $value Valore da impostare
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function session_set($name, $value)
|
||||
function session_set($name, mixed $value)
|
||||
{
|
||||
$session = &$_SESSION;
|
||||
|
||||
|
|
25
lib/util.php
25
lib/util.php
|
@ -307,7 +307,7 @@ if (!function_exists('download')) {
|
|||
ob_end_clean();
|
||||
|
||||
if (!headers_sent()) {
|
||||
$filename = !empty($filename) ? $filename : basename($file);
|
||||
$filename = !empty($filename) ? $filename : basename((string) $file);
|
||||
|
||||
// Required for some browsers
|
||||
if (ini_get('zlib.output_compression')) {
|
||||
|
@ -385,13 +385,13 @@ if (!function_exists('isHTTPS')) {
|
|||
*/
|
||||
function isHTTPS($trust_proxy_headers = false)
|
||||
{
|
||||
if (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
|
||||
if (!empty($_SERVER['HTTPS']) && strtolower((string) $_SERVER['HTTPS']) !== 'off') {
|
||||
// Check the standard HTTPS headers
|
||||
return true;
|
||||
} elseif ($trust_proxy_headers && isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
|
||||
// Check proxy headers if allowed
|
||||
return true;
|
||||
} elseif (!empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
|
||||
} elseif (!empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower((string) $_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -457,17 +457,12 @@ if (!function_exists('color_inverse')) {
|
|||
return '#000';
|
||||
}
|
||||
} else {
|
||||
switch ($start_colour) {
|
||||
case 'black':
|
||||
return 'white';
|
||||
case 'blue':
|
||||
return 'white';
|
||||
case 'purple':
|
||||
return 'white';
|
||||
// Aggiungere altri casi per colori specifici
|
||||
default:
|
||||
return '#000'; // Se il colore non è specificato, restituisce il colore originale
|
||||
}
|
||||
return match ($start_colour) {
|
||||
'black' => 'white',
|
||||
'blue' => 'white',
|
||||
'purple' => 'white',
|
||||
default => '#000',
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -558,7 +553,7 @@ if (!function_exists('temp_file')) {
|
|||
]);
|
||||
$file = rtrim($base_directory, DIRECTORY_SEPARATOR).
|
||||
DIRECTORY_SEPARATOR.
|
||||
ltrim($name, DIRECTORY_SEPARATOR);
|
||||
ltrim((string) $name, DIRECTORY_SEPARATOR);
|
||||
|
||||
file_put_contents($file, $content);
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ include_once __DIR__.'/../../core.php';
|
|||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
{[ "type": "select", "label": "<?php echo tr('Tipo archiviazione'); ?>", "name": "class", "value": "<?php echo explode('\\', $record['class'])[4]; ?>", "values": "list=\"LocalAdapter\":\"Archiviazione locale\",\"FTPAdapter\":\"Archiviazione FTP\"", "required": 1, "disabled": "1" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Tipo archiviazione'); ?>", "name": "class", "value": "<?php echo explode('\\', (string) $record['class'])[4]; ?>", "values": "list=\"LocalAdapter\":\"Archiviazione locale\",\"FTPAdapter\":\"Archiviazione FTP\"", "required": 1, "disabled": "1" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
|
|
|
@ -26,7 +26,7 @@ class FTPAdapter extends OriginalAdapter
|
|||
{
|
||||
public function __construct($options)
|
||||
{
|
||||
$options = json_decode($options, 1);
|
||||
$options = json_decode((string) $options, 1);
|
||||
|
||||
parent::__construct(FtpConnectionOptions::fromArray($options));
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ class LocalAdapter extends OriginalAdapter
|
|||
{
|
||||
public function __construct($options)
|
||||
{
|
||||
$options = json_decode($options);
|
||||
$options = json_decode((string) $options);
|
||||
|
||||
parent::__construct(base_dir().'/'.$options->directory);
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ class OSMFilesystem extends Filesystem
|
|||
public function upload($directory, $filename, $contents)
|
||||
{
|
||||
// Verifico se l'esensione non è consentita
|
||||
$extension = pathinfo($filename, PATHINFO_EXTENSION);
|
||||
$extension = pathinfo((string) $filename, PATHINFO_EXTENSION);
|
||||
$extension = strtolower($extension);
|
||||
|
||||
// Controllo sulle estensioni permesse
|
||||
|
@ -49,7 +49,7 @@ class OSMFilesystem extends Filesystem
|
|||
if (!$this->directoryExists($directory)) {
|
||||
try {
|
||||
$this->createDirectory($directory);
|
||||
} catch (\Exception $e) {
|
||||
} catch (\Exception) {
|
||||
flash()->error(tr('Impossibile creare la cartella controllare i permessi!'));
|
||||
|
||||
return false;
|
||||
|
@ -67,6 +67,6 @@ class OSMFilesystem extends Filesystem
|
|||
|
||||
protected static function isSupportedType($extension)
|
||||
{
|
||||
return !in_array(strtolower($extension), array_keys(self::$not_allowed_types));
|
||||
return !in_array(strtolower((string) $extension), array_keys(self::$not_allowed_types));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@ class DatiFattureElettroniche extends Controllo
|
|||
'descrizione' => $riepilogo_anomalie,
|
||||
]);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
} catch (\Exception) {
|
||||
$this->addResult([
|
||||
'id' => $fattura_vendita->id,
|
||||
'nome' => $fattura_vendita->getReference(),
|
||||
|
@ -163,7 +163,7 @@ class DatiFattureElettroniche extends Controllo
|
|||
protected function htmlDiff($old, $new)
|
||||
{
|
||||
$ret = '';
|
||||
$diff = $this->diff(preg_split("/[\s]+/", $old), preg_split("/[\s]+/", $new));
|
||||
$diff = $this->diff(preg_split("/[\s]+/", (string) $old), preg_split("/[\s]+/", (string) $new));
|
||||
foreach ($diff as $k) {
|
||||
if (is_array($k)) {
|
||||
$ret .= (!empty($k['d']) ? '<del>'.implode(' ', $k['d']).'</del> ' : '').
|
||||
|
|
|
@ -69,7 +69,7 @@ class PianoConti extends Controllo
|
|||
GROUP BY `an_anagrafiche`.`idanagrafica`');
|
||||
|
||||
foreach ($anagrafiche_interessate as $anagrafica) {
|
||||
$tipi = explode(',', $anagrafica['tipi_anagrafica']);
|
||||
$tipi = explode(',', (string) $anagrafica['tipi_anagrafica']);
|
||||
$cliente = in_array('Cliente', $tipi) && empty($anagrafica['idconto_cliente']);
|
||||
$fornitore = in_array('Fornitore', $tipi) && empty($anagrafica['idconto_fornitore']);
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ class UpdateHook extends CachedManager
|
|||
$api = self::getAPI();
|
||||
|
||||
if (!$api['prerelease'] or setting('Abilita canale pre-release per aggiornamenti')) {
|
||||
$version[0] = ltrim($api['tag_name'], 'v');
|
||||
$version[0] = ltrim((string) $api['tag_name'], 'v');
|
||||
$version[1] = !empty($api['prerelease']) ? 'beta' : 'stabile';
|
||||
$current = \Update::getVersion();
|
||||
|
||||
|
|
|
@ -383,10 +383,10 @@ if (filter('op') == 'aggiungi-allegato' || filter('op') == 'modifica-allegato')
|
|||
elseif (filter('op') == 'rimuovi-allegato') {
|
||||
$filename = filter('filename');
|
||||
|
||||
if (strpos($filename, setting('Logo stampe')) !== false) {
|
||||
if (str_contains($filename, setting('Logo stampe'))) {
|
||||
$nome = 'Logo stampe';
|
||||
}
|
||||
if (strpos($filename, setting('Filigrana stampe')) !== false) {
|
||||
if (str_contains($filename, setting('Filigrana stampe'))) {
|
||||
$nome = 'Filigrana stampe';
|
||||
}
|
||||
|
||||
|
|
|
@ -548,9 +548,9 @@ switch ($resource) {
|
|||
$rs = $data['results'];
|
||||
|
||||
foreach ($rs as $k => $r) {
|
||||
$currentDate = date('Y-m-d', strtotime($superselect['data']));
|
||||
$startDate = date('Y-m-d', strtotime($r['data_inizio']));
|
||||
$endDate = date('Y-m-d', strtotime($r['data_fine']));
|
||||
$currentDate = date('Y-m-d', strtotime((string) $superselect['data']));
|
||||
$startDate = date('Y-m-d', strtotime((string) $r['data_inizio']));
|
||||
$endDate = date('Y-m-d', strtotime((string) $r['data_fine']));
|
||||
|
||||
$rs[$k] = array_merge($r, [
|
||||
'text' => tr('N. prot.').' '.$r['numero_protocollo'].' - '.Translator::numberToLocale($r['totale']).'/'.Translator::numberToLocale($r['massimale']).' € ['.Translator::dateToLocale($r['data_fine']).']',
|
||||
|
|
|
@ -87,7 +87,7 @@ switch (post('op')) {
|
|||
$anagrafica->lat = $coordinates->getLatitude();
|
||||
$anagrafica->lng = $coordinates->getLongitude();
|
||||
$anagrafica->save();
|
||||
} catch (Exception $e) {
|
||||
} catch (Exception) {
|
||||
flash()->error("Impossibile recuperare le coordinate dell'anagrafica ".$anagrafica->ragione_sociale." per l'indirizzo ".$anagrafica->sedeLegale->indirizzo.' '.$anagrafica->sedeLegale->citta.' '.$anagrafica->sedeLegale->cap);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,10 +71,9 @@ if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_ana
|
|||
<a class="dropdown-item" data-widget="modal" data-href="add.php?id_module='.(new Module())->getByField('title', 'Prima nota', Models\Locale::getPredefined()->id).'&id_anagrafica='.$record['idanagrafica'].'"><i class="fa fa-euro"></i> '.tr('Nuova registrazione contabile (fornitore)').'</a>';
|
||||
}
|
||||
|
||||
echo'
|
||||
echo '
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
}
|
||||
|
||||
if (in_array($id_agente, $tipi_anagrafica)) {
|
||||
|
|
|
@ -214,7 +214,7 @@ if (in_array($id_azienda, $tipi_anagrafica)) {
|
|||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "telefono", "label": "<?php echo tr('Cellulare'); ?>", "name": "cellulare", "class": "text-center", "value": "$cellulare$", "icon-after": "<?php echo !empty($record['cellulare']) ? "<btn class='clickable' onclick=sendWhatsAppMessage(".prepare($record['cellulare']).") ><i class='fa fa-whatsapp tip' title='".((strpos($record['cellulare'], '+') === 0) ? substr($record['cellulare'], 1) : $record['cellulare'])."'></i>" : "<i class='fa fa-whatsapp tip' title='".tr('Compila il campo per utilizzare WhatsApp.')."'></i>"; ?>" ]}
|
||||
{[ "type": "telefono", "label": "<?php echo tr('Cellulare'); ?>", "name": "cellulare", "class": "text-center", "value": "$cellulare$", "icon-after": "<?php echo !empty($record['cellulare']) ? "<btn class='clickable' onclick=sendWhatsAppMessage(".prepare($record['cellulare']).") ><i class='fa fa-whatsapp tip' title='".((str_starts_with((string) $record['cellulare'], '+')) ? substr((string) $record['cellulare'], 1) : $record['cellulare'])."'></i>" : "<i class='fa fa-whatsapp tip' title='".tr('Compila il campo per utilizzare WhatsApp.')."'></i>"; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
@ -482,7 +482,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
|
|||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<a href="'.base_path().'/controller.php?id_module='.$modulo_banche.'&search_Anagrafica='.rawurlencode($anagrafica['ragione_sociale']).'">
|
||||
<a href="'.base_path().'/controller.php?id_module='.$modulo_banche.'&search_Anagrafica='.rawurlencode((string) $anagrafica['ragione_sociale']).'">
|
||||
'.tr("Visualizza le banche disponibili per l'Anagrafica").' <i class="fa fa-external-link"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -25,7 +25,7 @@ use Modules\Anagrafiche\Tipo;
|
|||
$rs = Tipo::get();
|
||||
|
||||
foreach ($rs as $riga) {
|
||||
${'id_'.strtolower($riga->getTranslation('title', Models\Locale::getPredefined()->id))} = $riga->id;
|
||||
${'id_'.strtolower((string) $riga->getTranslation('title', Models\Locale::getPredefined()->id))} = $riga->id;
|
||||
}
|
||||
|
||||
if (!empty($id_record)) {
|
||||
|
|
|
@ -237,22 +237,22 @@ class Anagrafica extends Model
|
|||
$value = null;
|
||||
}
|
||||
|
||||
$this->attributes['piva'] = trim(strtoupper($value));
|
||||
$this->attributes['piva'] = trim(strtoupper((string) $value));
|
||||
}
|
||||
|
||||
public function setNomeAttribute($value)
|
||||
{
|
||||
$this->attributes['nome'] = trim($value);
|
||||
$this->attributes['nome'] = trim((string) $value);
|
||||
}
|
||||
|
||||
public function setCognomeAttribute($value)
|
||||
{
|
||||
$this->attributes['cognome'] = trim($value);
|
||||
$this->attributes['cognome'] = trim((string) $value);
|
||||
}
|
||||
|
||||
public function setCodiceFiscaleAttribute($value)
|
||||
{
|
||||
$this->attributes['codice_fiscale'] = trim(strtoupper($value));
|
||||
$this->attributes['codice_fiscale'] = trim(strtoupper((string) $value));
|
||||
}
|
||||
|
||||
public function setCodiceDestinatarioAttribute($value)
|
||||
|
@ -261,7 +261,7 @@ class Anagrafica extends Model
|
|||
$value = '';
|
||||
}
|
||||
|
||||
$this->attributes['codice_destinatario'] = trim(strtoupper($value));
|
||||
$this->attributes['codice_destinatario'] = trim(strtoupper((string) $value));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -250,7 +250,7 @@ class CSV extends CSVImporter
|
|||
// Individuazione del tipo dell'anagrafica
|
||||
$tipologie = [];
|
||||
if (!empty($record['tipologia'])) {
|
||||
$tipi_selezionati = explode(',', $record['tipologia']);
|
||||
$tipi_selezionati = explode(',', (string) $record['tipologia']);
|
||||
|
||||
foreach ($tipi_selezionati as $tipo) {
|
||||
$id_tipo = (new Tipo())->getByField('title', $tipo);
|
||||
|
@ -324,7 +324,7 @@ class CSV extends CSVImporter
|
|||
foreach ($campi_sede as $field) {
|
||||
if ($primary_key != $field) {
|
||||
if (isset($record[$field])) {
|
||||
$dati_sede[$field] = trim($record[$field]);
|
||||
$dati_sede[$field] = trim((string) $record[$field]);
|
||||
unset($record[$field]);
|
||||
}
|
||||
}
|
||||
|
@ -332,7 +332,7 @@ class CSV extends CSVImporter
|
|||
|
||||
// Ricerca di eventuale anagrafica corrispondente sulla base del campo definito come primary_key (es. codice)
|
||||
if (!empty($primary_key)) {
|
||||
$anagrafica = Anagrafica::where($primary_key, '=', trim($record[$primary_key]))->first();
|
||||
$anagrafica = Anagrafica::where($primary_key, '=', trim((string) $record[$primary_key]))->first();
|
||||
}
|
||||
|
||||
// Se non trovo nessuna anagrafica corrispondente, allora la creo
|
||||
|
|
|
@ -277,7 +277,7 @@ class CSV extends CSVImporter
|
|||
$sottocategoria = null;
|
||||
if (!empty($record['categoria'])) {
|
||||
// Categoria
|
||||
$categoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower($record['categoria'])))->first();
|
||||
$categoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower((string) $record['categoria'])))->first();
|
||||
|
||||
if (empty($categoria)) {
|
||||
$categoria = Categoria::build();
|
||||
|
@ -287,7 +287,7 @@ class CSV extends CSVImporter
|
|||
|
||||
// Sotto-categoria
|
||||
if (!empty($record['sottocategoria'])) {
|
||||
$sottocategoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower($record['sottocategoria'])))->first();
|
||||
$sottocategoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower((string) $record['sottocategoria'])))->first();
|
||||
|
||||
if (empty($sottocategoria)) {
|
||||
$sottocategoria = Categoria::build();
|
||||
|
@ -474,7 +474,7 @@ class CSV extends CSVImporter
|
|||
$anagrafica->save();
|
||||
}
|
||||
|
||||
$dettagli['dir'] = strtolower($dettagli['dir']);
|
||||
$dettagli['dir'] = strtolower((string) $dettagli['dir']);
|
||||
if ($dettagli['dir'] == 'fornitore') {
|
||||
$dettagli['dir'] = 'uscita';
|
||||
} elseif ($dettagli['dir'] == 'cliente') {
|
||||
|
|
|
@ -45,7 +45,7 @@ class Movimento extends Model
|
|||
$model->idsede = $id_sede ?: 0; // Sede legale
|
||||
|
||||
if (!empty($document)) {
|
||||
$class = get_class($document);
|
||||
$class = $document::class;
|
||||
$id = $document->id;
|
||||
|
||||
$model->reference_type = $class;
|
||||
|
|
|
@ -31,7 +31,7 @@ foreach ($rs as $r) {
|
|||
// Campi da evidenziare
|
||||
$result['labels'] = [];
|
||||
foreach ($fields as $name => $value) {
|
||||
if (str_contains($r[$name], $term)) {
|
||||
if (str_contains((string) $r[$name], (string) $term)) {
|
||||
$text = str_replace($term, "<span class='highlight'>".$term.'</span>', $r[$name]);
|
||||
|
||||
$result['labels'][] = $name.': '.$text.'<br/>';
|
||||
|
|
|
@ -26,7 +26,7 @@ switch (filter('op')) {
|
|||
|
||||
$backups = Backup::getList();
|
||||
$backup = $backups[$number];
|
||||
$filename = basename($backup);
|
||||
$filename = basename((string) $backup);
|
||||
|
||||
download($backup, $filename);
|
||||
|
||||
|
@ -38,7 +38,7 @@ switch (filter('op')) {
|
|||
|
||||
$backups = Backup::getList();
|
||||
$backup = $backups[$number];
|
||||
$filename = basename($backup);
|
||||
$filename = basename((string) $backup);
|
||||
|
||||
delete($backup);
|
||||
|
||||
|
|
|
@ -222,7 +222,7 @@ if (file_exists($backup_dir)) {
|
|||
|
||||
if (!empty($backups_zip)) {
|
||||
foreach ($backups_zip as $id => $backup) {
|
||||
$name = basename($backup);
|
||||
$name = basename((string) $backup);
|
||||
$info = Backup::readName($backup);
|
||||
|
||||
$data = $info['YYYY'].'-'.$info['m'].'-'.$info['d'];
|
||||
|
@ -273,7 +273,7 @@ if (file_exists($backup_dir)) {
|
|||
// Backup non compressi e quindi non scaricabili
|
||||
if (!empty($backups_file)) {
|
||||
foreach ($backups_file as $backup) {
|
||||
$name = basename($backup);
|
||||
$name = basename((string) $backup);
|
||||
$info = Backup::readName($backup);
|
||||
|
||||
$data = $info['YYYY'].'-'.$info['m'].'-'.$info['d'];
|
||||
|
|
|
@ -21,5 +21,5 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
try {
|
||||
$backup_dir = Backup::getDirectory();
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
}
|
||||
|
|
|
@ -434,14 +434,14 @@ class IBAN
|
|||
$keys = array_keys(self::$parsers);
|
||||
|
||||
$length = strlen($structure);
|
||||
$current = strlen($nation);
|
||||
$current = strlen((string) $nation);
|
||||
$result = $nation;
|
||||
while ($current <= $length) {
|
||||
$char = $structure[$current];
|
||||
if (in_array($char, $keys)) {
|
||||
$count = substr_count($structure, $char);
|
||||
$result .= str_pad(
|
||||
substr($contents[self::$parsers[$char]], 0, $count),
|
||||
substr((string) $contents[self::$parsers[$char]], 0, $count),
|
||||
$count, STR_PAD_LEFT);
|
||||
$current += $count;
|
||||
} else {
|
||||
|
|
|
@ -190,7 +190,7 @@ switch (post('op')) {
|
|||
|
||||
try {
|
||||
$articolo->qta = $qta;
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
|
||||
|
@ -385,7 +385,7 @@ switch (post('op')) {
|
|||
$dbo->query('DELETE FROM my_impianti_contratti WHERE idcontratto='.prepare($id_record));
|
||||
|
||||
flash()->info(tr('Contratto eliminato!'));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Sono stati utilizzati alcuni serial number nel documento: impossibile procedere!'));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -262,9 +262,9 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
$operations['crea_fattura'] = [
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'data' => [
|
||||
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'msg' => '{[ "type": "checkbox", "label": "<small>'.tr('Aggiungere alle fatture di vendita non ancora emesse?').'</small>", "placeholder": "'.tr('Aggiungere alle fatture esistenti non ancora emesse?').'", "name": "accodare" ]}<br>
|
||||
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_fatture, 'is_sezionale' => 1]).', "value": "'.$id_segment.'", "select-options-escape": true ]}<br>
|
||||
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `title`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` =\'entrata\' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}<br>
|
||||
|
|
|
@ -21,15 +21,15 @@ include_once __DIR__.'/../../core.php';
|
|||
use Models\Module;
|
||||
|
||||
$block_edit = $record['is_completato'];
|
||||
$data_accettazione = $record['data_accettazione'] ? strtotime($record['data_accettazione']) : '';
|
||||
$data_conclusione = $record['data_conclusione'] ? strtotime($record['data_conclusione']) : '';
|
||||
$data_accettazione = $record['data_accettazione'] ? strtotime((string) $record['data_accettazione']) : '';
|
||||
$data_conclusione = $record['data_conclusione'] ? strtotime((string) $record['data_conclusione']) : '';
|
||||
|
||||
if ($data_conclusione < $data_accettazione && !empty($data_accettazione) && !empty($data_conclusione)) {
|
||||
echo '
|
||||
<div class="alert alert-warning"><a class="clickable" onclick="$(\'.alert\').hide();"><i class="fa fa-times"></i></a> '.tr('Attenzione! La data di accettazione supera la data di conclusione del contratto. Verificare le informazioni inserite.').'</div>';
|
||||
}
|
||||
|
||||
echo'
|
||||
echo '
|
||||
<form action="" method="post" id="edit-form">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="op" value="update">
|
||||
|
@ -47,7 +47,7 @@ echo'
|
|||
<h3 class="card-title">'.tr('Dati cliente').'</h3>
|
||||
<div class="card-tools pull-right">
|
||||
<button type="button" class="btn btn-card-tool" data-card-widget="collapse">
|
||||
<i class="fa fa-'. (empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
||||
<i class="fa fa-'.(empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -71,8 +71,7 @@ echo'
|
|||
|
||||
<div class="col-md-3">';
|
||||
if ($record['idagente'] != 0) {
|
||||
echo
|
||||
Modules::link('Anagrafiche', $record['idagente'], null, null, 'class="pull-right"');
|
||||
echo Modules::link('Anagrafiche', $record['idagente'], null, null, 'class="pull-right"');
|
||||
}
|
||||
?>
|
||||
{[ "type": "select", "label": "<?php echo tr('Agente'); ?>", "name": "idagente", "ajax-source": "agenti", "select-options": {"idanagrafica": <?php echo $record['idanagrafica']; ?>}, "value": "$idagente$" ]}
|
||||
|
@ -584,7 +583,7 @@ $elementi = $dbo->fetchArray('
|
|||
\'Interventi\'
|
||||
FROM `in_interventi`
|
||||
JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id`
|
||||
WHERE (`in_righe_interventi`.`original_document_id` = '.prepare($contratto->id).' '.($contratto ? 'AND `in_righe_interventi`.`original_document_type` = '.prepare(get_class($contratto)) : '').')
|
||||
WHERE (`in_righe_interventi`.`original_document_id` = '.prepare($contratto->id).' '.($contratto ? 'AND `in_righe_interventi`.`original_document_type` = '.prepare($contratto::class) : '').')
|
||||
OR `in_interventi`.`id_contratto` = '.prepare($id_record).'
|
||||
|
||||
ORDER BY `data`');
|
||||
|
|
|
@ -45,7 +45,6 @@ if ($contratto->idreferente) {
|
|||
$referente = $dbo->selectOne('an_referenti', '*', ['id' => $contratto->idreferente]);
|
||||
}
|
||||
|
||||
|
||||
// Preventivo
|
||||
$preventivo = null;
|
||||
if ($contratto->id_preventivo) {
|
||||
|
|
|
@ -72,7 +72,7 @@ foreach ($righe as $riga) {
|
|||
}
|
||||
|
||||
echo '
|
||||
<tr data-id="'.$riga->id.'" data-type="'.get_class($riga).'" '.$extra.'>
|
||||
<tr data-id="'.$riga->id.'" data-type="'.$riga::class.'" '.$extra.'>
|
||||
<td class="text-center">';
|
||||
if (!$block_edit) {
|
||||
echo '
|
||||
|
@ -147,7 +147,7 @@ foreach ($righe as $riga) {
|
|||
$evasione_bar['in_righe_interventi'] = 'warning';
|
||||
$evasione_bar['or_righe_ordini'] = 'success';
|
||||
foreach ($evasione_bar as $table => $color) {
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', get_class($riga))->get();
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
|
||||
if ($righe_ev->count() > 0) {
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
echo '
|
||||
|
|
|
@ -274,14 +274,14 @@ class Contratto extends Document
|
|||
{
|
||||
$maschera = Generator::getMaschera($id_segment);
|
||||
|
||||
if (strpos($maschera, 'm') !== false) {
|
||||
if (str_contains($maschera, 'm')) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'co_contratti', 'numero', [
|
||||
'YEAR(data_bozza) = '.prepare(date('Y', strtotime($data))),
|
||||
'MONTH(data_bozza) = '.prepare(date('m', strtotime($data))),
|
||||
'YEAR(data_bozza) = '.prepare(date('Y', strtotime((string) $data))),
|
||||
'MONTH(data_bozza) = '.prepare(date('m', strtotime((string) $data))),
|
||||
]);
|
||||
} elseif ((strpos($maschera, 'YYYY') !== false) or (strpos($maschera, 'yy') !== false)) {
|
||||
} elseif ((str_contains($maschera, 'YYYY')) or (str_contains($maschera, 'yy'))) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'co_contratti', 'numero', [
|
||||
'YEAR(data_bozza) = '.prepare(date('Y', strtotime($data))),
|
||||
'YEAR(data_bozza) = '.prepare(date('Y', strtotime((string) $data))),
|
||||
]);
|
||||
} else {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'co_contratti', 'numero');
|
||||
|
|
|
@ -65,7 +65,7 @@ if (!empty($rs)) {
|
|||
$data_conclusione = !empty($r['data_conclusione']) ? Translator::dateToLocale($r['data_conclusione']) : '';
|
||||
|
||||
// Se scaduto, segna la riga in rosso
|
||||
$class = (strtotime($r['data_conclusione']) < strtotime(date('Y-m-d')) && !empty($data_conclusione)) ? 'danger' : '';
|
||||
$class = (strtotime((string) $r['data_conclusione']) < strtotime(date('Y-m-d')) && !empty($data_conclusione)) ? 'danger' : '';
|
||||
|
||||
if (isset($r['ore_rimanenti'])) {
|
||||
// Se ore finite, segna la riga in rosso
|
||||
|
|
|
@ -98,11 +98,11 @@ switch (filter('op')) {
|
|||
$results = [];
|
||||
foreach ($sessioni as $sessione) {
|
||||
if (setting('Visualizzazione colori sessioni') == 'Sfondo colore stato - bordo colore tecnico') {
|
||||
$backgroundcolor = strtoupper($sessione['colore']);
|
||||
$bordercolor = strtoupper($sessione['colore_tecnico']);
|
||||
$backgroundcolor = strtoupper((string) $sessione['colore']);
|
||||
$bordercolor = strtoupper((string) $sessione['colore_tecnico']);
|
||||
} else {
|
||||
$backgroundcolor = strtoupper($sessione['colore_tecnico']);
|
||||
$bordercolor = strtoupper($sessione['colore']);
|
||||
$backgroundcolor = strtoupper((string) $sessione['colore_tecnico']);
|
||||
$bordercolor = strtoupper((string) $sessione['colore']);
|
||||
}
|
||||
|
||||
$results[] = [
|
||||
|
@ -210,7 +210,7 @@ switch (filter('op')) {
|
|||
$results[] = [
|
||||
'id' => $modulo_eventi->id.'_'.$evento['id'],
|
||||
'title' => '<b>'.tr('Evento').':</b> '.$evento['nome'].'</b>',
|
||||
'start' => ($evento['is_recurring'] ? date('Y-', strtotime($start)).date('m-d', strtotime($evento['data'])) : $evento['data']),
|
||||
'start' => ($evento['is_recurring'] ? date('Y-', strtotime($start)).date('m-d', strtotime((string) $evento['data'])) : $evento['data']),
|
||||
// 'end' => $evento['data'],
|
||||
'extendedProps' => [
|
||||
'link' => base_path().'/editor.php?id_module='.$modulo_eventi->id.'&id_record='.$evento['id'],
|
||||
|
@ -329,7 +329,7 @@ switch (filter('op')) {
|
|||
$tooltip .= '<b>'.tr('Data scadenza').'</b>: '.Translator::timestampToLocale($rs[0]['data_scadenza']).'<br/>';
|
||||
}
|
||||
|
||||
$tooltip .= '<b>'.tr('Tipo intervento').'</b>: '.nl2br($desc_tipointervento).'<br/>';
|
||||
$tooltip .= '<b>'.tr('Tipo intervento').'</b>: '.nl2br((string) $desc_tipointervento).'<br/>';
|
||||
|
||||
$tooltip .= '<b>'.tr('Tecnici').'</b>: '.implode(', ', $tecnici).'<br/>';
|
||||
|
||||
|
@ -338,25 +338,25 @@ switch (filter('op')) {
|
|||
}
|
||||
|
||||
if ($rs[0]['richiesta'] != '') {
|
||||
$tooltip .= '<b>'.tr('Richiesta').'</b>:<div class=\'shorten\'> '.nl2br($rs[0]['richiesta']).'</div>';
|
||||
$tooltip .= '<b>'.tr('Richiesta').'</b>:<div class=\'shorten\'> '.nl2br((string) $rs[0]['richiesta']).'</div>';
|
||||
}
|
||||
|
||||
if ($rs[0]['descrizione'] != '') {
|
||||
$tooltip .= '<b>'.tr('Descrizione').'</b>:<div class=\'shorten\'> '.nl2br($rs[0]['descrizione']).'</div>';
|
||||
$tooltip .= '<b>'.tr('Descrizione').'</b>:<div class=\'shorten\'> '.nl2br((string) $rs[0]['descrizione']).'</div>';
|
||||
}
|
||||
|
||||
if ($rs[0]['informazioniaggiuntive'] != '') {
|
||||
$tooltip .= '<b>'.tr('Informazioni aggiuntive').'</b>: '.nl2br($rs[0]['informazioniaggiuntive']).'<br/>';
|
||||
$tooltip .= '<b>'.tr('Informazioni aggiuntive').'</b>: '.nl2br((string) $rs[0]['informazioniaggiuntive']).'<br/>';
|
||||
}
|
||||
|
||||
$tooltip .= '<b>'.tr('Ragione sociale').'</b>: '.nl2br($rs[0]['ragione_sociale']).'<br/>';
|
||||
$tooltip .= '<b>'.tr('Ragione sociale').'</b>: '.nl2br((string) $rs[0]['ragione_sociale']).'<br/>';
|
||||
|
||||
if (!empty($rs[0]['telefono'])) {
|
||||
$tooltip .= '<b>'.tr('Telefono').'</b>: '.nl2br($rs[0]['telefono']).'<br/>';
|
||||
$tooltip .= '<b>'.tr('Telefono').'</b>: '.nl2br((string) $rs[0]['telefono']).'<br/>';
|
||||
}
|
||||
|
||||
if (!empty($rs[0]['cellulare'])) {
|
||||
$tooltip .= '<b>'.tr('Cellulare').'</b>: '.nl2br($rs[0]['cellulare']).'<br/>';
|
||||
$tooltip .= '<b>'.tr('Cellulare').'</b>: '.nl2br((string) $rs[0]['cellulare']).'<br/>';
|
||||
}
|
||||
|
||||
if (!empty($rs[0]['indirizzo']) || !empty($rs[0]['citta']) || !empty($rs[0]['provincia']) || !empty($rs[0]['cap'])) {
|
||||
|
@ -364,7 +364,7 @@ switch (filter('op')) {
|
|||
}
|
||||
|
||||
if (!empty($rs[0]['note_anagrafica'])) {
|
||||
$tooltip .= '<b>'.tr('Note anagrafica').'</b>: '.nl2br($rs[0]['note_anagrafica']).'<br/>';
|
||||
$tooltip .= '<b>'.tr('Note anagrafica').'</b>: '.nl2br((string) $rs[0]['note_anagrafica']).'<br/>';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -492,7 +492,7 @@ switch (filter('op')) {
|
|||
// Elenco interventi da pianificare
|
||||
foreach ($promemoria as $sessione) {
|
||||
if ($sessione['mese'] == $mese || $mese == 'all') {
|
||||
if (date('Ymd', strtotime($sessione['data_scadenza'])) < date('Ymd') and !empty($sessione['data_scadenza'])) {
|
||||
if (date('Ymd', strtotime((string) $sessione['data_scadenza'])) < date('Ymd') and !empty($sessione['data_scadenza'])) {
|
||||
$class = 'danger';
|
||||
} else {
|
||||
$class = 'primary';
|
||||
|
@ -511,7 +511,7 @@ switch (filter('op')) {
|
|||
<div id="id-'.$sessione['id'].'" class="fc-event fc-event-'.$class.'" data-id="'.$sessione['id'].'" data-idcontratto="'.$sessione['idcontratto'].'" data-ref="'.$sessione['ref'].'" data-id_tecnico="'.$sessione['id_tecnico'].'">'.($sessione['ref'] == 'intervento' ? Modules::link($modulo_riferimento, $id_riferimento, '<i class="fa fa-wrench"></i>', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-'.$class.' btn-xs pull-right"') : Modules::link($modulo_riferimento, $id_riferimento, '<i class="fa fa-file-text-o"></i>', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-'.$class.' btn-xs pull-right"')).'
|
||||
<b>'.$sessione['ragione_sociale'].'</b>
|
||||
<br>'.dateFormat($sessione['data_richiesta']).' ('.$sessione['tipo_intervento'].')
|
||||
<div class="request">'.(!empty($sessione['richiesta']) ? ' - '.strip_tags($sessione['richiesta']) : '').'</div>
|
||||
<div class="request">'.(!empty($sessione['richiesta']) ? ' - '.strip_tags((string) $sessione['richiesta']) : '').'</div>
|
||||
'.(!empty($sessione['numero_contratto']) ? '<span class="badge badge-'.$class.'">'.tr('Contratto numero: ').$sessione['numero_contratto'].tr(' del ').dateFormat($sessione['data_contratto']).'<span>' : '').' '.(!empty($sessione['data_scadenza'] && $sessione['data_scadenza'] != '0000-00-00 00:00:00') ? '<span class="badge badge-'.$class.'" >'.tr('Entro il: ').dateFormat($sessione['data_scadenza']).'</span>' : '').' '.(!empty($sessione['id_tecnico']) ? '<span class="badge" style="color:'.color_inverse($sessione['colore']).';background-color:'.$sessione['colore'].';" >'.tr('Tecnico').': '.$sessione['ragione_sociale_tecnico'].'</span>' : '').'
|
||||
</div>';
|
||||
}
|
||||
|
@ -551,7 +551,7 @@ switch (filter('op')) {
|
|||
$results[] = [
|
||||
'id' => $evento['id'],
|
||||
'title' => $evento['nome'],
|
||||
'start' => ($evento['is_recurring'] ? date('Y-', strtotime($start)).date('m-d', strtotime($evento['data'])) : $evento['data']),
|
||||
'start' => ($evento['is_recurring'] ? date('Y-', strtotime($start)).date('m-d', strtotime((string) $evento['data'])) : $evento['data']),
|
||||
// 'end' => date('Y-m-d', strtotime($evento['data']. '+1 day')),
|
||||
'display' => 'background',
|
||||
'allDay' => true,
|
||||
|
|
|
@ -178,7 +178,7 @@ switch (filter('op')) {
|
|||
|
||||
try {
|
||||
$articolo->qta = post('qta');
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
|
||||
|
@ -381,7 +381,7 @@ switch (filter('op')) {
|
|||
$riga = $riga ?: Sconto::find($id_riga);
|
||||
try {
|
||||
$riga->delete();
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
|
||||
|
@ -442,7 +442,7 @@ switch (filter('op')) {
|
|||
$ddt->delete();
|
||||
|
||||
flash()->info(tr('Ddt eliminato!'));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Sono stati utilizzati alcuni serial number nel documento: impossibile procedere!'));
|
||||
}
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ switch (post('op')) {
|
|||
$documento = DDT::find($id);
|
||||
try {
|
||||
$documento->delete();
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -190,9 +190,9 @@ if (App::debug()) {
|
|||
}
|
||||
|
||||
$operations['crea_fattura'] = [
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'data' => [
|
||||
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'msg' => '{[ "type": "checkbox", "label": "<small>'.tr('Aggiungere alle _TYPE_ non ancora emesse?', ['_TYPE_' => strtolower($module_fatture)]).'", "placeholder": "'.tr('Aggiungere alle _TYPE_ nello stato bozza?', ['_TYPE_' => strtolower($module_fatture)]).'</small>", "name": "accodare" ]}<br>
|
||||
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_fatture, 'is_sezionale' => 1]).', "value": "'.$id_segment.'", "select-options-escape": true ]}<br>
|
||||
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `co_tipidocumento_lang`.`title`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id`=`co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` ='.prepare($dir).' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}<br>
|
||||
|
|
|
@ -81,7 +81,7 @@ foreach ($righe as $riga) {
|
|||
}
|
||||
|
||||
echo '
|
||||
<tr data-id="'.$riga->id.'" data-type="'.get_class($riga).'">
|
||||
<tr data-id="'.$riga->id.'" data-type="'.$riga::class.'">
|
||||
<td class="text-center">';
|
||||
if (!$block_edit) {
|
||||
echo '
|
||||
|
@ -168,7 +168,7 @@ foreach ($righe as $riga) {
|
|||
$evasione_bar['in_righe_interventi'] = 'warning';
|
||||
$evasione_bar['or_righe_ordini'] = 'success';
|
||||
foreach ($evasione_bar as $table => $color) {
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', get_class($riga))->get();
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
|
||||
if ($righe_ev->count() > 0) {
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
if ($perc_ev > 0) {
|
||||
|
|
|
@ -99,7 +99,7 @@ class EmailHook extends Manager
|
|||
try {
|
||||
$email = EmailNotification::build($mail);
|
||||
$email->send();
|
||||
} catch (Exception $e) {
|
||||
} catch (Exception) {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ class Mail extends Model
|
|||
|
||||
public function getOptionsAttribute()
|
||||
{
|
||||
return json_decode($this->attributes['options'], true);
|
||||
return json_decode((string) $this->attributes['options'], true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -302,7 +302,7 @@ switch ($op) {
|
|||
|
||||
$totale_documento = abs($totale_documento);
|
||||
$totale_documento = $dati_generali['ImportoTotaleDocumento'] ?: $totale_documento;
|
||||
} catch (Exception $e) {
|
||||
} catch (Exception) {
|
||||
}
|
||||
|
||||
echo json_encode([
|
||||
|
@ -369,7 +369,7 @@ switch ($op) {
|
|||
$dbo->query('UPDATE co_fatturazione_contratti SET iddocumento=0 WHERE iddocumento='.prepare($id_record));
|
||||
|
||||
flash()->info(tr('Fattura eliminata!'));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Sono stati utilizzati alcuni serial number nel documento: impossibile procedere!'));
|
||||
}
|
||||
|
||||
|
@ -527,7 +527,7 @@ switch ($op) {
|
|||
|
||||
try {
|
||||
$articolo->qta = $qta;
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
$articolo->save();
|
||||
|
@ -651,7 +651,7 @@ switch ($op) {
|
|||
flash()->info(tr('Intervento _NUM_ rimosso!', [
|
||||
'_NUM_' => $idintervento,
|
||||
]));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Errore durante l\'eliminazione della riga!'));
|
||||
}
|
||||
}
|
||||
|
@ -673,7 +673,7 @@ switch ($op) {
|
|||
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
|
||||
|
|
|
@ -85,8 +85,8 @@ foreach ($rs as $key => $value) {
|
|||
$prezzo = $intervento->totale;
|
||||
|
||||
$rs[$key]['prezzo'] = Translator::numberToLocale($prezzo);
|
||||
$rs[$key]['descrizione_intervento'] = str_replace("'", ' ', strip_tags($rs[$key]['descrizione_intervento']));
|
||||
$rs[$key]['info'] = str_replace("'", ' ', strip_tags($module_interventi->replacePlaceholders($value['id'], setting('Descrizione personalizzata in fatturazione')))) ?: $rs[$key]['info'];
|
||||
$rs[$key]['descrizione_intervento'] = str_replace("'", ' ', strip_tags((string) $rs[$key]['descrizione_intervento']));
|
||||
$rs[$key]['info'] = str_replace("'", ' ', strip_tags((string) $module_interventi->replacePlaceholders($value['id'], setting('Descrizione personalizzata in fatturazione')))) ?: $rs[$key]['info'];
|
||||
}
|
||||
|
||||
// Intervento
|
||||
|
|
|
@ -128,7 +128,7 @@ switch (post('op')) {
|
|||
$file = $fattura_elettronica->save();
|
||||
$added[] = $fattura->numero_esterno;
|
||||
}
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
$failed[] = $fattura->numero_esterno;
|
||||
}
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ switch (post('op')) {
|
|||
|
||||
$added[] = $fattura->numero_esterno;
|
||||
}
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
$failed[] = $fattura->numero_esterno;
|
||||
}
|
||||
}
|
||||
|
@ -201,7 +201,7 @@ switch (post('op')) {
|
|||
} else {
|
||||
$include = $fattura->isFE();
|
||||
}
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
$include = false;
|
||||
}
|
||||
|
||||
|
@ -440,7 +440,7 @@ switch (post('op')) {
|
|||
$documento = Fattura::find($id);
|
||||
try {
|
||||
$documento->delete();
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -172,7 +172,7 @@ if ($dir == 'entrata' && $fattura->stato->id == $id_stato_bozza) {
|
|||
if ($fattura->is_fattura_conto_terzi) {
|
||||
echo '
|
||||
<div class="alert alert-info">
|
||||
<i class="fa fa-info"></i> '.tr("Questa è una fattura per conto di terzi. Nell'XML della Fattura Elettronica sarà indicato il fornitore _FORNITORE_ come cessionario e il cliente come cedente/prestatore", ['_FORNITORE_' => '"<b>'.stripslashes($database->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).'</b>"']).'.</b>
|
||||
<i class="fa fa-info"></i> '.tr("Questa è una fattura per conto di terzi. Nell'XML della Fattura Elettronica sarà indicato il fornitore _FORNITORE_ come cessionario e il cliente come cedente/prestatore", ['_FORNITORE_' => '"<b>'.stripslashes((string) $database->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).'</b>"']).'.</b>
|
||||
</div>';
|
||||
}
|
||||
|
||||
|
@ -282,13 +282,13 @@ $query .= ' ORDER BY `title`';
|
|||
|
||||
|
||||
<div class="row">
|
||||
<?php if ($dir == 'entrata') {; ?>
|
||||
<?php if ($dir == 'entrata') { ?>
|
||||
<div class="col-md-2 offset-md-8" <?php echo ($record['is_fiscale']) ? '' : 'hidden'; ?> >
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato FE'); ?>", "name": "codice_stato_fe", "values": "query=SELECT `codice` as id, CONCAT_WS(' - ',`codice`, `title`) as text FROM `fe_stati_documento` LEFT JOIN `fe_stati_documento_lang` ON (`fe_stati_documento_lang`.`id_record` = `fe_stati_documento`.`codice` AND `fe_stati_documento_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>)", "value": "$codice_stato_fe$", "disabled": <?php echo intval(Interaction::isEnabled() || ($fattura->stato->id == $id_stato_bozza && $abilita_genera)); ?>, "class": "unblockable", "help": "<?php echo (!empty($record['data_stato_fe'])) ? Translator::timestampToLocale($record['data_stato_fe']) : ''; ?>" ]}
|
||||
</div>
|
||||
|
||||
<?php }
|
||||
echo'
|
||||
echo '
|
||||
<div class="col-md-2">
|
||||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstatodocumento", "required": 1, "values": "query='.$query.'", "value": "'.$fattura->stato->id.'", "class": "'.(($fattura->stato->id != $id_stato_bozza && !$abilita_genera) ? '' : 'unblockable').'", "extra": "onchange=\"return cambiaStato()\"" ]}
|
||||
</div>
|
||||
|
@ -300,7 +300,7 @@ $query .= ' ORDER BY `title`';
|
|||
<h3 class="card-title">'.tr('Dati cliente').'</h3>
|
||||
<div class="card-tools pull-right">
|
||||
<button type="button" class="btn btn-card-tool" data-card-widget="collapse">
|
||||
<i class="fa fa-'. (empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
||||
<i class="fa fa-'.(empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -312,7 +312,7 @@ $query .= ' ORDER BY `title`';
|
|||
|
||||
if ($dir == 'entrata') {
|
||||
?>
|
||||
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "ajax-source": "clienti", "help": "<?php echo tr("In caso di autofattura indicare l'azienda: ").stripslashes($database->fetchOne('SELECT `ragione_sociale` FROM `an_anagrafiche` WHERE `idanagrafica` = '.prepare(setting('Azienda predefinita')))['ragione_sociale']); ?>", "value": "$idanagrafica$" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "ajax-source": "clienti", "help": "<?php echo tr("In caso di autofattura indicare l'azienda: ").stripslashes((string) $database->fetchOne('SELECT `ragione_sociale` FROM `an_anagrafiche` WHERE `idanagrafica` = '.prepare(setting('Azienda predefinita')))['ragione_sociale']); ?>", "value": "$idanagrafica$" ]}
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
|
@ -462,7 +462,7 @@ if ($dir == 'entrata') {
|
|||
if ($dir == 'entrata') {
|
||||
?>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Fattura per conto terzi'); ?>", "name": "is_fattura_conto_terzi", "value": "$is_fattura_conto_terzi$", "help": "<?php echo tr('Nell\'XML della Fattura Elettronica sarà indicato il fornitore ('.stripslashes($database->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).') come cessionario e il cliente come cedente/prestatore.'); ?>", "placeholder": "<?php echo tr('Fattura per conto terzi'); ?>" ]}
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Fattura per conto terzi'); ?>", "name": "is_fattura_conto_terzi", "value": "$is_fattura_conto_terzi$", "help": "<?php echo tr('Nell\'XML della Fattura Elettronica sarà indicato il fornitore ('.stripslashes((string) $database->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).') come cessionario e il cliente come cedente/prestatore.'); ?>", "placeholder": "<?php echo tr('Fattura per conto terzi'); ?>" ]}
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
|
|
@ -22,7 +22,7 @@ echo '
|
|||
<tbody>
|
||||
<tr class="fourth-level">
|
||||
<th colspan="2">
|
||||
'.str_repeat($space, 3).'2.2.1.16 AltriDatiGestionali - '.tr('Riga _NUM_', [
|
||||
'.str_repeat((string) $space, 3).'2.2.1.16 AltriDatiGestionali - '.tr('Riga _NUM_', [
|
||||
'_NUM_' => $key,
|
||||
]);
|
||||
|
||||
|
@ -40,7 +40,7 @@ echo '
|
|||
// Tipo Dato
|
||||
echo '
|
||||
<tr class="fifth-level">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 5).'2.2.1.16.1 TipoDato</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 5).'2.2.1.16.1 TipoDato</td>
|
||||
<td>
|
||||
{[ "type": "text", "name": "altri_dati['.$key.'][tipo_dato]", "value": "'.$dato['tipo_dato'].'", "maxlength": 10 ]}
|
||||
</td>
|
||||
|
@ -49,7 +49,7 @@ echo '
|
|||
// Riferimento Testo
|
||||
echo '
|
||||
<tr class="fifth-level">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 5).'2.2.1.16.2 RiferimentoTesto</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 5).'2.2.1.16.2 RiferimentoTesto</td>
|
||||
<td>
|
||||
{[ "type": "text", "name": "altri_dati['.$key.'][riferimento_testo]", "value": "'.$dato['riferimento_testo'].'", "maxlength": 60 ]}
|
||||
</td>
|
||||
|
@ -58,7 +58,7 @@ echo '
|
|||
// Riferimento Numero
|
||||
echo '
|
||||
<tr class="fifth-level">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 5).'2.2.1.16.3 RiferimentoNumero</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 5).'2.2.1.16.3 RiferimentoNumero</td>
|
||||
<td>
|
||||
{[ "type": "number", "name": "altri_dati['.$key.'][riferimento_numero]", "value": "'.$dato['riferimento_numero'].'" ]}
|
||||
</td>
|
||||
|
@ -67,7 +67,7 @@ echo '
|
|||
// Riferimento Data
|
||||
echo '
|
||||
<tr class="fifth-level" id="last-altri_dati-'.$key.'">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 5).'2.2.1.16.4 RiferimentoData</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 5).'2.2.1.16.4 RiferimentoData</td>
|
||||
<td>
|
||||
{[ "type": "date", "name": "altri_dati['.$key.'][riferimento_data]", "value": "'.$dato['riferimento_data'].'"]}
|
||||
</td>
|
||||
|
|
|
@ -22,7 +22,7 @@ echo '
|
|||
<tbody>
|
||||
<tr class="fourth-level">
|
||||
<th colspan="2">
|
||||
'.str_repeat($space, 3).$info['code'].' '.$info['name'].' - '.tr('Riga _NUM_', [
|
||||
'.str_repeat((string) $space, 3).$info['code'].' '.$info['name'].' - '.tr('Riga _NUM_', [
|
||||
'_NUM_' => $key,
|
||||
]);
|
||||
|
||||
|
@ -47,7 +47,7 @@ foreach ($dato['riferimento_linea'] as $linea) {
|
|||
echo '
|
||||
<tr class="fifth-level" title="RiferimentoNumeroLinea-'.$nome.'-'.$key.'">
|
||||
<td style="vertical-align: middle;">
|
||||
'.str_repeat($space, 4).$info['code'].'.1 RiferimentoNumeroLinea - '.tr('Riga _NUM_', [
|
||||
'.str_repeat((string) $space, 4).$info['code'].'.1 RiferimentoNumeroLinea - '.tr('Riga _NUM_', [
|
||||
'_NUM_' => $index,
|
||||
]);
|
||||
|
||||
|
@ -71,7 +71,7 @@ foreach ($dato['riferimento_linea'] as $linea) {
|
|||
// IdDocumento
|
||||
echo '
|
||||
<tr class="fifth-level">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 4).$info['code'].'.2 IdDocumento</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 4).$info['code'].'.2 IdDocumento</td>
|
||||
<td>
|
||||
{[ "type": "text", "name": "'.$nome.'['.$key.'][id_documento]", "value": "'.$dato['id_documento'].'", "maxlength": 20 ]}
|
||||
</td>
|
||||
|
@ -80,7 +80,7 @@ echo '
|
|||
// Data
|
||||
echo '
|
||||
<tr class="fifth-level">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 4).$info['code'].'.3 Data</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 4).$info['code'].'.3 Data</td>
|
||||
<td>
|
||||
{[ "type": "date", "name": "'.$nome.'['.$key.'][data]", "value": "'.$dato['data'].'", "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]}
|
||||
</td>
|
||||
|
@ -89,7 +89,7 @@ echo '
|
|||
// NumItem
|
||||
echo '
|
||||
<tr class="fifth-level">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 4).$info['code'].'.4 NumItem</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 4).$info['code'].'.4 NumItem</td>
|
||||
<td>
|
||||
{[ "type": "text", "name": "'.$nome.'['.$key.'][num_item]", "value": "'.$dato['num_item'].'", "maxlength": 20, "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]}
|
||||
</td>
|
||||
|
@ -98,7 +98,7 @@ echo '
|
|||
// CodiceCommessaConvenzione
|
||||
echo '
|
||||
<tr class="fifth-level">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 4).$info['code'].'.5 CodiceCommessaConvenzione</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 4).$info['code'].'.5 CodiceCommessaConvenzione</td>
|
||||
<td>
|
||||
{[ "type": "text", "name": "'.$nome.'['.$key.'][codice_commessa]", "value": "'.$dato['codice_commessa'].'", "maxlength": 100, "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]}
|
||||
</td>
|
||||
|
@ -107,7 +107,7 @@ echo '
|
|||
// CodiceCUP
|
||||
echo '
|
||||
<tr class="fifth-level">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 4).$info['code'].'.6 CodiceCUP</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 4).$info['code'].'.6 CodiceCUP</td>
|
||||
<td>
|
||||
{[ "type": "text", "name": "'.$nome.'['.$key.'][codice_cup]", "value": "'.$dato['codice_cup'].'", "maxlength": 15, "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]}
|
||||
</td>
|
||||
|
@ -116,7 +116,7 @@ echo '
|
|||
// CodiceCIG
|
||||
echo '
|
||||
<tr class="fifth-level" id="last-'.$nome.'-'.$key.'">
|
||||
<td style="vertical-align: middle;">'.str_repeat($space, 4).$info['code'].'.7 CodiceCIG</td>
|
||||
<td style="vertical-align: middle;">'.str_repeat((string) $space, 4).$info['code'].'.7 CodiceCIG</td>
|
||||
<td>
|
||||
{[ "type": "text", "name": "'.$nome.'['.$key.'][codice_cig]", "value": "'.$dato['codice_cig'].'", "maxlength": 15, "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]}
|
||||
</td>
|
||||
|
|
|
@ -85,7 +85,6 @@ $interventi_programmati = Intervento::select('in_interventi.*')
|
|||
->where('in_interventi.id', '!=', $id_record)
|
||||
->get();
|
||||
|
||||
|
||||
// Insoluti
|
||||
$insoluti = Scadenza::where('idanagrafica', $fattura->idanagrafica)
|
||||
->whereRaw('co_scadenziario.da_pagare > co_scadenziario.pagato')
|
||||
|
|
|
@ -81,7 +81,7 @@ if (!empty($id_record)) {
|
|||
$fattura_acquisto_originale = null;
|
||||
|
||||
if (!empty($fattura)) {
|
||||
$reverse_charge = $fattura->getRighe()->first(fn ($item, $key) => $item->aliquota != null && $item->aliquota->codice_natura_fe !== null && substr($item->aliquota->codice_natura_fe, 0, 2) == 'N6')->id;
|
||||
$reverse_charge = $fattura->getRighe()->first(fn ($item, $key) => $item->aliquota != null && $item->aliquota->codice_natura_fe !== null && str_starts_with($item->aliquota->codice_natura_fe, 'N6'))->id;
|
||||
$autofattura_vendita = Fattura::find($fattura->id_autofattura);
|
||||
|
||||
$abilita_autofattura = (($fattura->anagrafica->nazione->iso2 != 'IT' && !empty($fattura->anagrafica->nazione->iso2)) || $reverse_charge) && $dir == 'uscita' && $fattura->id_autofattura == null;
|
||||
|
|
|
@ -310,7 +310,7 @@ if (!function_exists('aggiungi_movimento')) {
|
|||
$importo_cliente = sum($importo_cliente, -$iva_fattura, 2);
|
||||
}
|
||||
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_controparte).', '.prepare(($importo_cliente + $totale_bolli) * $segno_mov1_cliente).', '.prepare($primanota).' )';
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime((string) $data)).' ('.$ragione_sociale.')').', '.prepare($idconto_controparte).', '.prepare(($importo_cliente + $totale_bolli) * $segno_mov1_cliente).', '.prepare($primanota).' )';
|
||||
$dbo->query($query2);
|
||||
|
||||
// 2) Aggiungo il totale sul conto dei ricavi/spese scelto
|
||||
|
@ -322,7 +322,7 @@ if (!function_exists('aggiungi_movimento')) {
|
|||
$idconto_riga = $riga['idconto'];
|
||||
$riga['imponibile'] = $is_nota ? -$riga['imponibile'] : $riga['imponibile'];
|
||||
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_riga).', '.prepare($riga['imponibile'] * $segno_mov2_ricavivendite).', '.prepare($primanota).')';
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime((string) $data)).' ('.$ragione_sociale.')').', '.prepare($idconto_riga).', '.prepare($riga['imponibile'] * $segno_mov2_ricavivendite).', '.prepare($primanota).')';
|
||||
$dbo->query($query2);
|
||||
}
|
||||
|
||||
|
@ -332,7 +332,7 @@ if (!function_exists('aggiungi_movimento')) {
|
|||
$descrizione_conto_iva = ($dir == 'entrata') ? 'Iva su vendite' : 'Iva su acquisti';
|
||||
$idconto_iva = setting('Conto per '.$descrizione_conto_iva);
|
||||
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_iva).', '.prepare($iva_fattura * $segno_mov3_iva).', '.prepare($primanota).')';
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime((string) $data)).' ('.$ragione_sociale.')').', '.prepare($idconto_iva).', '.prepare($iva_fattura * $segno_mov3_iva).', '.prepare($primanota).')';
|
||||
$dbo->query($query2);
|
||||
}
|
||||
|
||||
|
@ -340,7 +340,7 @@ if (!function_exists('aggiungi_movimento')) {
|
|||
if ($iva_indetraibile_fattura != 0 && !$split_payment) {
|
||||
$idconto_iva2 = setting('Conto per Iva indetraibile');
|
||||
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_iva2).', '.prepare($iva_indetraibile_fattura * $segno_mov3_iva).', '.prepare($primanota).')';
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime((string) $data)).' ('.$ragione_sociale.')').', '.prepare($idconto_iva2).', '.prepare($iva_indetraibile_fattura * $segno_mov3_iva).', '.prepare($primanota).')';
|
||||
$dbo->query($query2);
|
||||
}
|
||||
|
||||
|
@ -349,7 +349,7 @@ if (!function_exists('aggiungi_movimento')) {
|
|||
if ($totale_rivalsainps != 0) {
|
||||
$idconto_inps = setting('Conto per Erario c/INPS');
|
||||
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_inps).', '.prepare($totale_rivalsainps * $segno_mov4_inps).', '.prepare($primanota).')';
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime((string) $data)).' ('.$ragione_sociale.')').', '.prepare($idconto_inps).', '.prepare($totale_rivalsainps * $segno_mov4_inps).', '.prepare($primanota).')';
|
||||
$dbo->query($query2);
|
||||
}
|
||||
|
||||
|
@ -359,11 +359,11 @@ if (!function_exists('aggiungi_movimento')) {
|
|||
$idconto_ritenutaacconto = setting("Conto per Erario c/ritenute d'acconto");
|
||||
|
||||
// DARE nel conto ritenuta
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_ritenutaacconto).', '.prepare($totale_ritenutaacconto * $segno_mov5_ritenutaacconto).', '.prepare($primanota).')';
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime((string) $data)).' ('.$ragione_sociale.')').', '.prepare($idconto_ritenutaacconto).', '.prepare($totale_ritenutaacconto * $segno_mov5_ritenutaacconto).', '.prepare($primanota).')';
|
||||
$dbo->query($query2);
|
||||
|
||||
// AVERE nel riepilogativo clienti
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_controparte).', '.prepare(($totale_ritenutaacconto * $segno_mov5_ritenutaacconto) * -1).', '.prepare($primanota).')';
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime((string) $data)).' ('.$ragione_sociale.')').', '.prepare($idconto_controparte).', '.prepare(($totale_ritenutaacconto * $segno_mov5_ritenutaacconto) * -1).', '.prepare($primanota).')';
|
||||
$dbo->query($query2);
|
||||
}
|
||||
|
||||
|
@ -373,11 +373,11 @@ if (!function_exists('aggiungi_movimento')) {
|
|||
$idconto_ritenutaenasarco = setting('Conto per Erario c/enasarco');
|
||||
|
||||
// DARE nel conto ritenuta
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_ritenutaenasarco).', '.prepare($totale_ritenutacontributi * $segno_mov5_ritenutaacconto).', '.prepare($primanota).')';
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime((string) $data)).' ('.$ragione_sociale.')').', '.prepare($idconto_ritenutaenasarco).', '.prepare($totale_ritenutacontributi * $segno_mov5_ritenutaacconto).', '.prepare($primanota).')';
|
||||
$dbo->query($query2);
|
||||
|
||||
// AVERE nel riepilogativo clienti
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_controparte).', '.prepare(($totale_ritenutacontributi * $segno_mov5_ritenutaacconto) * -1).', '.prepare($primanota).')';
|
||||
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime((string) $data)).' ('.$ragione_sociale.')').', '.prepare($idconto_controparte).', '.prepare(($totale_ritenutacontributi * $segno_mov5_ritenutaacconto) * -1).', '.prepare($primanota).')';
|
||||
$dbo->query($query2);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -112,7 +112,7 @@ foreach ($righe as $riga) {
|
|||
}
|
||||
|
||||
echo '
|
||||
<tr data-id="'.$riga->id.'" data-type="'.get_class($riga).'" '.$extra.'>
|
||||
<tr data-id="'.$riga->id.'" data-type="'.$riga::class.'" '.$extra.'>
|
||||
<td class="text-center">';
|
||||
if (!$block_edit) {
|
||||
echo '
|
||||
|
@ -184,8 +184,8 @@ foreach ($righe as $riga) {
|
|||
|
||||
if (!empty($riga->note)) {
|
||||
if (strlen($riga->note) > 50) {
|
||||
$prima_parte = substr($riga->note, 0, (strpos($riga->note, ' ', 50) < 60) && (strpos($riga->note, ' ', 50) != 0) ? strpos($riga->note, ' ', 50) : 50);
|
||||
$seconda_parte = substr($riga->note, (strpos($riga->note, ' ', 50) < 60) && (strpos($riga->note, ' ', 50) != 0) ? strpos($riga->note, ' ', 50) : 50);
|
||||
$prima_parte = substr($riga->note, 0, (strpos($riga->note, ' ', 50) < 60) && (!str_starts_with($riga->note, ' ')) ? strpos($riga->note, ' ', 50) : 50);
|
||||
$seconda_parte = substr($riga->note, (strpos($riga->note, ' ', 50) < 60) && (!str_starts_with($riga->note, ' ')) ? strpos($riga->note, ' ', 50) : 50);
|
||||
$stringa_modificata = '<span class="right badge badge-default">'.$prima_parte.'</small>
|
||||
<span id="read-more-target-'.$riga->id.'" class="read-more-target"><span class="right badge badge-default">'.$seconda_parte.'</small></span><a href="#read-more-target-'.$riga->id.'" class="read-more-trigger">...</a>';
|
||||
} else {
|
||||
|
|
|
@ -48,7 +48,7 @@ trait RelationTrait
|
|||
*/
|
||||
public function getDatiAggiuntiviFEAttribute()
|
||||
{
|
||||
$result = $this->attributes['dati_aggiuntivi_fe'] ? json_decode($this->attributes['dati_aggiuntivi_fe'], true) : '';
|
||||
$result = $this->attributes['dati_aggiuntivi_fe'] ? json_decode((string) $this->attributes['dati_aggiuntivi_fe'], true) : '';
|
||||
|
||||
return (array) $result;
|
||||
}
|
||||
|
|
|
@ -362,7 +362,7 @@ class Fattura extends Document
|
|||
*/
|
||||
public function getDatiAggiuntiviFEAttribute()
|
||||
{
|
||||
$result = ($this->attributes['dati_aggiuntivi_fe'] ? json_decode($this->attributes['dati_aggiuntivi_fe'], true) : '');
|
||||
$result = ($this->attributes['dati_aggiuntivi_fe'] ? json_decode((string) $this->attributes['dati_aggiuntivi_fe'], true) : '');
|
||||
|
||||
return (array) $result;
|
||||
}
|
||||
|
@ -494,7 +494,7 @@ class Fattura extends Document
|
|||
{
|
||||
$nome = 'Ricevuta';
|
||||
|
||||
return $this->uploads()->filter(fn ($item) => false !== strstr($item->getTranslation('title'), $nome))->sortBy('created_at');
|
||||
return $this->uploads()->filter(fn ($item) => str_contains((string) $item->getTranslation('title'), $nome))->sortBy('created_at');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -29,11 +29,8 @@ use Modules\Fatture\Fattura;
|
|||
*/
|
||||
class Bollo
|
||||
{
|
||||
private $fattura;
|
||||
|
||||
public function __construct(Fattura $fattura)
|
||||
public function __construct(private readonly Fattura $fattura)
|
||||
{
|
||||
$this->fattura = $fattura;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -32,11 +32,8 @@ use Util\XML;
|
|||
*/
|
||||
class Scadenze
|
||||
{
|
||||
private $fattura;
|
||||
|
||||
public function __construct(Fattura $fattura)
|
||||
public function __construct(private readonly Fattura $fattura)
|
||||
{
|
||||
$this->fattura = $fattura;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -48,7 +48,7 @@ echo '
|
|||
</div>';
|
||||
$expression = $record['expression'];
|
||||
|
||||
preg_match('/(.*?) (.*?) (.*?) (.*?) (.*?)/U', $record['expression'], $exp);
|
||||
preg_match('/(.*?) (.*?) (.*?) (.*?) (.*?)/U', (string) $record['expression'], $exp);
|
||||
|
||||
$minuto = $exp[1];
|
||||
$ora = $exp[2];
|
||||
|
|
|
@ -115,7 +115,7 @@ class CSV extends CSVImporter
|
|||
$sottocategoria = null;
|
||||
if (!empty($record['categoria'])) {
|
||||
// Categoria
|
||||
$categoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower($record['categoria'])))->first();
|
||||
$categoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower((string) $record['categoria'])))->first();
|
||||
|
||||
if (empty($categoria)) {
|
||||
$categoria = Categoria::build();
|
||||
|
@ -125,7 +125,7 @@ class CSV extends CSVImporter
|
|||
|
||||
// Sotto-categoria
|
||||
if (!empty($record['sottocategoria'])) {
|
||||
$sottocategoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower($record['sottocategoria'])))->first();
|
||||
$sottocategoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower((string) $record['sottocategoria'])))->first();
|
||||
|
||||
if (empty($sottocategoria)) {
|
||||
$sottocategoria = Categoria::build();
|
||||
|
|
|
@ -49,7 +49,7 @@ switch (filter('op')) {
|
|||
|
||||
if (!empty($import_manager)) {
|
||||
// Generazione percorso
|
||||
$file = $modulo_import->upload_directory.'/example-'.strtolower($import->getTranslation('title')).'.csv';
|
||||
$file = $modulo_import->upload_directory.'/example-'.strtolower((string) $import->getTranslation('title')).'.csv';
|
||||
$filepath = base_dir().'/'.$file;
|
||||
|
||||
// Generazione del file
|
||||
|
|
|
@ -66,7 +66,7 @@ switch (filter('op')) {
|
|||
foreach (post('setting') as $id => $value) {
|
||||
$result = Settings::get($id);
|
||||
|
||||
if (preg_match("/multiple\[(.+?)\]/", $result['tipo'], $m)) {
|
||||
if (preg_match("/multiple\[(.+?)\]/", (string) $result['tipo'], $m)) {
|
||||
$value = implode(',', $value);
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,7 @@ switch (filter('op')) {
|
|||
|
||||
// list
|
||||
// verifico che il valore scelto sia nella lista enumerata nel db
|
||||
elseif (preg_match("/list\[(.+?)\]/", $result['tipo'], $m)) {
|
||||
elseif (preg_match("/list\[(.+?)\]/", (string) $result['tipo'], $m)) {
|
||||
flash()->error(tr('Il valore inserito del parametro _NAME_ deve essere un compreso tra i valori previsti!', [
|
||||
'_NAME_' => '"'.$result['nome'].'"',
|
||||
]));
|
||||
|
|
|
@ -388,9 +388,9 @@ switch (post('op')) {
|
|||
foreach ($sessioni as $sessione) {
|
||||
// Se è la prima sessione che copio importo la data con quella della richiesta
|
||||
if ($numero_sessione == 0) {
|
||||
$orario_inizio = date('Y-m-d', strtotime($data_ricorrenza)).' '.date('H:i:s', strtotime($sessione->orario_inizio));
|
||||
$orario_inizio = date('Y-m-d', strtotime((string) $data_ricorrenza)).' '.date('H:i:s', strtotime($sessione->orario_inizio));
|
||||
} else {
|
||||
$diff = strtotime($sessione->orario_inizio) - strtotime($inizio_old);
|
||||
$diff = strtotime($sessione->orario_inizio) - strtotime((string) $inizio_old);
|
||||
$orario_inizio = date('Y-m-d H:i:s', strtotime($new_sessione->orario_inizio) + $diff);
|
||||
}
|
||||
|
||||
|
@ -449,7 +449,7 @@ switch (post('op')) {
|
|||
$dbo->query('DELETE FROM my_impianti_interventi WHERE idintervento='.prepare($id_record));
|
||||
|
||||
flash()->info(tr('Intervento eliminato!'));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Sono stati utilizzati alcuni serial number nel documento: impossibile procedere!'));
|
||||
}
|
||||
|
||||
|
@ -463,7 +463,7 @@ switch (post('op')) {
|
|||
$riga = $riga ?: Sconto::find($id_riga);
|
||||
try {
|
||||
$riga->delete();
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
|
||||
|
@ -527,7 +527,7 @@ switch (post('op')) {
|
|||
|
||||
try {
|
||||
$articolo->qta = $qta;
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
|
||||
|
@ -1071,7 +1071,7 @@ switch (post('op')) {
|
|||
if ($numero_sessione == 0) {
|
||||
$orario_inizio = date('Y-m-d', strtotime($data_richiesta)).' '.date('H:i:s', strtotime($sessione->orario_inizio));
|
||||
} else {
|
||||
$diff = strtotime($sessione->orario_inizio) - strtotime($inizio_old);
|
||||
$diff = strtotime($sessione->orario_inizio) - strtotime((string) $inizio_old);
|
||||
$orario_inizio = date('Y-m-d H:i:s', strtotime($new_sessione->orario_inizio) + $diff);
|
||||
}
|
||||
|
||||
|
|
|
@ -219,7 +219,7 @@ echo input([
|
|||
'name' => 'richiesta',
|
||||
'id' => 'richiesta_add',
|
||||
'required' => 1,
|
||||
'value' => htmlentities($richiesta),
|
||||
'value' => htmlentities((string) $richiesta),
|
||||
'extra' => 'style=\'max-height:80px;\'',
|
||||
]);
|
||||
echo '
|
||||
|
@ -230,7 +230,7 @@ echo input([
|
|||
'label' => tr('Descrizione'),
|
||||
'name' => 'descrizione',
|
||||
'id' => 'descrizione_add',
|
||||
'value' => htmlentities($descrizione),
|
||||
'value' => htmlentities((string) $descrizione),
|
||||
'extra' => 'style=\'max-height:80px;\'',
|
||||
]);
|
||||
echo '
|
||||
|
|
|
@ -173,7 +173,7 @@ switch (post('op')) {
|
|||
}
|
||||
}
|
||||
|
||||
$descrizione = str_replace("'", ' ', strip_tags($module->replacePlaceholders($intervento['id'], setting('Descrizione personalizzata in fatturazione')))) ?: tr('Attività numero _NUM_ del _DATE_', [
|
||||
$descrizione = str_replace("'", ' ', strip_tags((string) $module->replacePlaceholders($intervento['id'], setting('Descrizione personalizzata in fatturazione')))) ?: tr('Attività numero _NUM_ del _DATE_', [
|
||||
'_NUM_' => $intervento['codice_intervento'],
|
||||
'_DATE_' => Translator::dateToLocale($intervento['data']),
|
||||
]);
|
||||
|
@ -265,7 +265,7 @@ switch (post('op')) {
|
|||
if ($numero_sessione == 0) {
|
||||
$orario_inizio = date('Y-m-d', strtotime($data_richiesta)).' '.date('H:i:s', strtotime($sessione->orario_inizio));
|
||||
} else {
|
||||
$diff = strtotime($sessione->orario_inizio) - strtotime($inizio_old);
|
||||
$diff = strtotime($sessione->orario_inizio) - strtotime((string) $inizio_old);
|
||||
$orario_inizio = date('Y-m-d H:i:s', strtotime($new_sessione->orario_inizio) + $diff);
|
||||
}
|
||||
|
||||
|
@ -336,7 +336,7 @@ switch (post('op')) {
|
|||
|
||||
// Eliminazione associazione interventi e my_impianti
|
||||
$dbo->query('DELETE FROM my_impianti_interventi WHERE idintervento='.prepare($id_record));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -427,9 +427,9 @@ $operations['export-bulk'] = [
|
|||
];
|
||||
|
||||
$operations['crea_fattura'] = [
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'data' => [
|
||||
'title' => tr('Fatturare gli _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('title'))]).' <small><i class="fa fa-question-circle-o tip" title="'.tr('Verranno fatturati solo gli interventi completati non collegati a contratti o preventivi').'."></i></small>',
|
||||
'title' => tr('Fatturare gli _TYPE_ selezionati?', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]).' <small><i class="fa fa-question-circle-o tip" title="'.tr('Verranno fatturati solo gli interventi completati non collegati a contratti o preventivi').'."></i></small>',
|
||||
'msg' => '{[ "type": "checkbox", "label": "<small>'.tr('Aggiungere alle fatture di vendita non ancora emesse?').'</small>", "placeholder": "'.tr('Aggiungere alle fatture di vendita nello stato bozza?').'", "name": "accodare" ]}<br>
|
||||
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_fatture, 'is_sezionale' => 1]).', "value": "'.$id_segment.'", "select-options-escape": true ]}<br>
|
||||
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `title`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` =\'entrata\' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}<br>
|
||||
|
|
|
@ -225,7 +225,7 @@ if (!function_exists('aggiungi_intervento_in_fattura')) {
|
|||
$riga->qta = round($qta_gruppo, $decimals);
|
||||
|
||||
// Riferimento al documento di origine
|
||||
$riga->original_document_type = get_class($intervento);
|
||||
$riga->original_document_type = $intervento::class;
|
||||
$riga->original_document_id = $intervento->id;
|
||||
|
||||
$riga->save();
|
||||
|
@ -256,7 +256,7 @@ if (!function_exists('aggiungi_intervento_in_fattura')) {
|
|||
$riga->qta = $gruppo->count();
|
||||
|
||||
// Riferimento al documento di origine
|
||||
$riga->original_document_type = get_class($intervento);
|
||||
$riga->original_document_type = $intervento::class;
|
||||
$riga->original_document_id = $intervento->id;
|
||||
|
||||
$riga->save();
|
||||
|
@ -292,7 +292,7 @@ if (!function_exists('aggiungi_intervento_in_fattura')) {
|
|||
$riga->setSconto($viaggio->scontokm_unitario, $viaggio->tipo_scontokm);
|
||||
|
||||
// Riferimento al documento di origine
|
||||
$riga->original_document_type = get_class($intervento);
|
||||
$riga->original_document_type = $intervento::class;
|
||||
$riga->original_document_id = $intervento->id;
|
||||
|
||||
$riga->qta = $qta_trasferta;
|
||||
|
@ -351,7 +351,7 @@ if (!function_exists('verifica_numero_intervento')) {
|
|||
// Recupero maschera per questo segmento
|
||||
$maschera = Generator::getMaschera($id_segment);
|
||||
|
||||
if ((strpos($maschera, 'YYYY') == false) or (strpos($maschera, 'yy') == false)) {
|
||||
if ((!str_contains($maschera, 'YYYY')) or (!str_contains($maschera, 'yy'))) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice', [
|
||||
'DATE(data_richiesta) < '.prepare($data->format('Y-m-d')),
|
||||
'YEAR(data_richiesta) = '.prepare($data->format('Y')),
|
||||
|
|
|
@ -50,7 +50,7 @@ if (!empty($results)) {
|
|||
<td>
|
||||
'.Modules::link('Interventi', $result['id'], $intervento->getReference()).'
|
||||
</td>
|
||||
<td>'.nl2br($result['descrizione']).'</td>
|
||||
<td>'.nl2br((string) $result['descrizione']).'</td>
|
||||
<td class="text-right">'.moneyFormat($intervento->totale).'</td>
|
||||
</tr>';
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ foreach ($righe as $riga) {
|
|||
$descrizione = (!empty($riga->articolo) ? $riga->codice.' - ' : '').$riga['descrizione'];
|
||||
|
||||
echo '
|
||||
<tr data-id="'.$riga->id.'" data-type="'.get_class($riga).'" '.$extra.'>
|
||||
<tr data-id="'.$riga->id.'" data-type="'.$riga::class.'" '.$extra.'>
|
||||
<td class="text-center">';
|
||||
if (!$block_edit) {
|
||||
echo '
|
||||
|
|
|
@ -54,7 +54,7 @@ class Sessioni extends Resource implements RetrieveInterface, CreateInterface, D
|
|||
|
||||
try {
|
||||
add_tecnico($data['id_intervento'], $user['idanagrafica'], $data['orario_inizio'], $data['orario_fine']);
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
} catch (\InvalidArgumentException) {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ class Sync extends Resource implements RetrieveInterface, UpdateInterface
|
|||
$result .= "PRODID:-// OpenSTAManager\n";
|
||||
|
||||
foreach ($rs as $r) {
|
||||
$richiesta = str_replace("\r\n", "\n", strip_tags($r['richiesta']));
|
||||
$richiesta = str_replace("\r\n", "\n", strip_tags((string) $r['richiesta']));
|
||||
$richiesta = str_replace("\r", "\n", $richiesta);
|
||||
$richiesta = str_replace("\n", '\\n', $richiesta);
|
||||
|
||||
|
@ -120,7 +120,7 @@ class Sync extends Resource implements RetrieveInterface, UpdateInterface
|
|||
$richiesta = str_replace('\\r\\n', "\n", $richiesta);
|
||||
$richiesta = str_replace('\\n', "\n", $richiesta);
|
||||
|
||||
$summary = trim($event['SUMMARY']);
|
||||
$summary = trim((string) $event['SUMMARY']);
|
||||
$summary = str_replace('\\r\\n', "\n", $summary);
|
||||
$summary = str_replace('\\n', "\n", $summary);
|
||||
|
||||
|
|
|
@ -220,7 +220,7 @@ class Intervento extends Document
|
|||
|
||||
// $ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice');
|
||||
|
||||
if ((strpos($maschera, 'YYYY') == false) or (strpos($maschera, 'yy') == false)) {
|
||||
if ((!str_contains($maschera, 'YYYY')) or (!str_contains($maschera, 'yy'))) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice', [
|
||||
'YEAR(data_richiesta) = '.prepare(date('Y', strtotime($data))),
|
||||
], $data);
|
||||
|
|
|
@ -33,7 +33,7 @@ if (!empty($rs)) {
|
|||
</tr>';
|
||||
|
||||
foreach ($rs as $r) {
|
||||
$data_richiesta = $r['data_richiesta'] ? date('d/m/Y', strtotime($r['data_richiesta'])) : '';
|
||||
$data_richiesta = $r['data_richiesta'] ? date('d/m/Y', strtotime((string) $r['data_richiesta'])) : '';
|
||||
|
||||
echo '
|
||||
<tr >
|
||||
|
|
|
@ -29,7 +29,7 @@ $interventi_da_pianificare = Intervento::doesntHave('sessioni')
|
|||
$raggruppamenti = $interventi_da_pianificare->groupBy(function ($item, $key) {
|
||||
$data = $item->data_scadenza ?: $item->data_richiesta;
|
||||
|
||||
return ucfirst($data->isoFormat('MMMM YYYY'));
|
||||
return ucfirst((string) $data->isoFormat('MMMM YYYY'));
|
||||
});
|
||||
|
||||
$counter = 0;
|
||||
|
|
|
@ -86,7 +86,7 @@ switch (filter('op')) {
|
|||
// Selezione manuale
|
||||
$id_receivers = post('receivers');
|
||||
foreach ($id_receivers as $id_receiver) {
|
||||
[$tipo, $id] = explode('_', $id_receiver);
|
||||
[$tipo, $id] = explode('_', (string) $id_receiver);
|
||||
if ($tipo == 'anagrafica') {
|
||||
$type = Anagrafica::class;
|
||||
} elseif ($tipo == 'sede') {
|
||||
|
|
|
@ -34,7 +34,7 @@ class Destinatario extends Model
|
|||
$model = new static();
|
||||
$model->id_list = $lista->id;
|
||||
|
||||
$model->record_type = get_class($origine);
|
||||
$model->record_type = $origine::class;
|
||||
$model->record_id = $origine->id;
|
||||
|
||||
$model->save();
|
||||
|
|
|
@ -109,10 +109,10 @@ $segment = $dbo->selectOne('zz_segments_lang', 'title', ['id_record' => $_SESSIO
|
|||
|
||||
if ($segment != 'Tutti') {
|
||||
$operations['copy_listino'] = [
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Copia _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Copia _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'data' => [
|
||||
'title' => tr('Copiare i listini selezionati?'),
|
||||
'msg' => '{[ "type": "select", "multiple":"1", "label": "<small>'.tr('Selezionare le anagrafiche in cui copiare i listini selezionati:').'</small>", "ajax-source":"'.strtolower($segment).'", "name": "idanagrafica[]" ]}',
|
||||
'msg' => '{[ "type": "select", "multiple":"1", "label": "<small>'.tr('Selezionare le anagrafiche in cui copiare i listini selezionati:').'</small>", "ajax-source":"'.strtolower((string) $segment).'", "name": "idanagrafica[]" ]}',
|
||||
'button' => tr('Procedi'),
|
||||
'class' => 'btn btn-lg btn-warning',
|
||||
'blank' => false,
|
||||
|
@ -120,7 +120,7 @@ if ($segment != 'Tutti') {
|
|||
];
|
||||
} else {
|
||||
$operations['copy_listino'] = [
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Copia _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Copia _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'data' => [
|
||||
'title' => tr('Selezionare prima un segmento tra "Clienti" e "Fornitori"'),
|
||||
'msg' => '',
|
||||
|
|
|
@ -101,7 +101,7 @@ switch (get('op')) {
|
|||
$descrizione .= '<hr>';
|
||||
$descrizione .= '<b>Data</b>: '.(!empty($rs_sessioni['data']) ? Translator::dateToLocale($rs_sessioni['data']) : Translator::dateToLocale($records[$i]['data_richiesta'])).'<br>';
|
||||
$descrizione .= '<b>Stato</b>: '.$records[$i]['stato'].'<br>';
|
||||
$descrizione .= '<b>Richiesta</b>: '.substr(strip_tags($records[$i]['richiesta']), 0, 200).'<br>';
|
||||
$descrizione .= '<b>Richiesta</b>: '.substr(strip_tags((string) $records[$i]['richiesta']), 0, 200).'<br>';
|
||||
if (!empty($rs_sessioni['tecnici'])) {
|
||||
$descrizione .= '<b>Tecnici</b>: '.$rs_sessioni['tecnici'];
|
||||
}
|
||||
|
|
|
@ -115,7 +115,7 @@ switch (filter('op')) {
|
|||
$email->send();
|
||||
|
||||
$inviata = true;
|
||||
} catch (Exception $e) {
|
||||
} catch (Exception) {
|
||||
// $mail->delete();
|
||||
}
|
||||
} else {
|
||||
|
@ -168,7 +168,7 @@ switch (filter('op')) {
|
|||
// Selezione manuale
|
||||
$id_receivers = post('receivers');
|
||||
foreach ($id_receivers as $id_receiver) {
|
||||
[$tipo, $id] = explode('_', $id_receiver);
|
||||
[$tipo, $id] = explode('_', (string) $id_receiver);
|
||||
if ($tipo == 'anagrafica') {
|
||||
$type = Anagrafica::class;
|
||||
} elseif ($tipo == 'sede') {
|
||||
|
|
|
@ -25,7 +25,7 @@ if (!empty($search)) {
|
|||
include_once __DIR__.'/select.php';
|
||||
|
||||
$results = collect($results)->mapToGroups(function ($item, $key) {
|
||||
[$tipo, $id] = explode('_', $item['id']);
|
||||
[$tipo, $id] = explode('_', (string) $item['id']);
|
||||
|
||||
return [$tipo => $id];
|
||||
});
|
||||
|
@ -120,7 +120,7 @@ foreach ($destinatari_filtrati as $destinatario) {
|
|||
).'
|
||||
</div>',
|
||||
'<div class="text-center">'.(empty($lista) && !empty($origine->email) && !empty($origine->enable_newsletter) ? '
|
||||
<a class="btn btn-warning btn-xs" data-type="'.get_class($origine).'" data-id="'.$origine->id.'" data-email="'.$origine->email.'" onclick="testInvio(this)">
|
||||
<a class="btn btn-warning btn-xs" data-type="'.$origine::class.'" data-id="'.$origine->id.'" data-email="'.$origine->email.'" onclick="testInvio(this)">
|
||||
<i class="fa fa-paper-plane "></i>
|
||||
</a>' : '').'
|
||||
<a class="btn btn-danger ask btn-xs" data-backto="record-edit" data-op="remove_receiver" data-type="'.$destinatario->record_type.'" data-id="'.$destinatario->record_id.'">
|
||||
|
|
|
@ -34,7 +34,7 @@ class Destinatario extends Model
|
|||
$model = new static();
|
||||
$model->id_newsletter = $newsletter->id;
|
||||
|
||||
$model->record_type = get_class($origine);
|
||||
$model->record_type = $origine::class;
|
||||
$model->record_id = $origine->id;
|
||||
|
||||
$model->save();
|
||||
|
|
|
@ -186,7 +186,7 @@ switch (post('op')) {
|
|||
|
||||
try {
|
||||
$articolo->qta = post('qta');
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
|
||||
|
@ -334,7 +334,7 @@ switch (post('op')) {
|
|||
|
||||
try {
|
||||
$riga->delete();
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
|
||||
|
@ -378,7 +378,7 @@ switch (post('op')) {
|
|||
$ordine->delete();
|
||||
|
||||
flash()->info(tr('Ordine eliminato!'));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Sono stati utilizzati alcuni serial number nel documento: impossibile procedere!'));
|
||||
}
|
||||
|
||||
|
|
|
@ -210,11 +210,11 @@ switch (post('op')) {
|
|||
}
|
||||
if ($module->getTranslation('title') == 'Ordini cliente') {
|
||||
$module_fatture = Module::find($id_modulo_fatture)->getTranslation('title');
|
||||
$module_fatture ? strtolower($module_fatture) : '';
|
||||
$module_fatture ? strtolower((string) $module_fatture) : '';
|
||||
$operations['crea_fattura'] = [
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'data' => [
|
||||
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'msg' => '{[ "type": "checkbox", "label": "<small>'.tr('Aggiungere alle _TYPE_ non ancora emesse?', ['_TYPE_' => $module_fatture]).'", "placeholder": "'.tr('Aggiungere alle _TYPE_ nello stato bozza?', ['_TYPE_' => $module_fatture]).'</small>", "name": "accodare" ]}
|
||||
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_modulo_fatture, 'is_sezionale' => 1]).', "value": "'.$id_segment.'", "select-options-escape": true ]}
|
||||
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `title`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` =\'entrata\' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}<br>
|
||||
|
|
|
@ -380,8 +380,8 @@ foreach ($materiali_art as $key => $materiali_array1) {
|
|||
foreach ($materiali_array1 as $materiali_array2) {
|
||||
foreach ($materiali_array2 as $materiale) {
|
||||
$margine = $materiale['ricavo'] - $materiale['costo'];
|
||||
$margine_prc = (int) (1 - ($materiale['costo'] / ($materiale['ricavo'] ? $materiale['ricavo'] : 1))) * 100;
|
||||
$ricarico_prc = ($materiale['ricavo'] && $materiale['costo']) ? (int) ((($materiale['ricavo'] / ($materiale['costo'] ? $materiale['costo'] : 1)) - 1) * 100) : 100;
|
||||
$margine_prc = (int) (1 - ($materiale['costo'] / ($materiale['ricavo'] ?: 1))) * 100;
|
||||
$ricarico_prc = ($materiale['ricavo'] && $materiale['costo']) ? (int) ((($materiale['ricavo'] / ($materiale['costo'] ?: 1)) - 1) * 100) : 100;
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.Modules::link('Articoli', $materiale['id'], $key).'</td>
|
||||
|
@ -398,8 +398,8 @@ foreach ($materiali_art as $key => $materiali_array1) {
|
|||
ksort($materiali_righe);
|
||||
foreach ($materiali_righe as $key => $materiale) {
|
||||
$margine = $materiale['ricavo'] - $materiale['costo'];
|
||||
$margine_prc = (int) (1 - ($materiale['costo'] / ($materiale['ricavo'] ? $materiale['ricavo'] : 1))) * 100;
|
||||
$ricarico_prc = ($materiale['ricavo'] && $materiale['costo']) ? (int) ((($materiale['ricavo'] / ($materiale['costo'] ? $materiale['costo'] : 1)) - 1) * 100) : 100;
|
||||
$margine_prc = (int) (1 - ($materiale['costo'] / ($materiale['ricavo'] ?: 1))) * 100;
|
||||
$ricarico_prc = ($materiale['ricavo'] && $materiale['costo']) ? (int) ((($materiale['ricavo'] / ($materiale['costo'] ?: 1)) - 1) * 100) : 100;
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$key.'</td>
|
||||
|
|
|
@ -86,7 +86,7 @@ foreach ($righe as $riga) {
|
|||
}
|
||||
|
||||
echo '
|
||||
<tr data-id="'.$riga->id.'" data-type="'.get_class($riga).'" '.$extra.'>
|
||||
<tr data-id="'.$riga->id.'" data-type="'.$riga::class.'" '.$extra.'>
|
||||
<td class="text-center">';
|
||||
if (!$block_edit) {
|
||||
echo '
|
||||
|
@ -221,7 +221,7 @@ foreach ($righe as $riga) {
|
|||
$evasione_bar['in_righe_interventi'] = 'warning';
|
||||
$evasione_bar['or_righe_ordini'] = 'success';
|
||||
foreach ($evasione_bar as $table => $color) {
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', get_class($riga))->get();
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
|
||||
if ($righe_ev->count() > 0) {
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
if ($perc_ev > 0) {
|
||||
|
|
|
@ -201,13 +201,13 @@ class Ordine extends Document
|
|||
} else {
|
||||
$maschera = Generator::getMaschera($id_segment);
|
||||
|
||||
if (strpos($maschera, 'm') !== false) {
|
||||
if (str_contains($maschera, 'm')) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [
|
||||
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
|
||||
'MONTH(data) = '.prepare(date('m', strtotime($data))),
|
||||
'idtipoordine IN (SELECT `id` FROM `or_tipiordine` WHERE `dir` = '.prepare($direzione).')',
|
||||
]);
|
||||
} elseif ((strpos($maschera, 'YYYY') !== false) or (strpos($maschera, 'yy') !== false)) {
|
||||
} elseif ((str_contains($maschera, 'YYYY')) or (str_contains($maschera, 'yy'))) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [
|
||||
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
|
||||
'idtipoordine IN (SELECT `id` FROM `or_tipiordine` WHERE `dir` = '.prepare($direzione).')',
|
||||
|
@ -241,13 +241,13 @@ class Ordine extends Document
|
|||
|
||||
$maschera = Generator::getMaschera($id_segment);
|
||||
|
||||
if (strpos($maschera, 'm') !== false) {
|
||||
if (str_contains($maschera, 'm')) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero_esterno', [
|
||||
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
|
||||
'MONTH(data) = '.prepare(date('m', strtotime($data))),
|
||||
'idtipoordine IN (SELECT `id` FROM `or_tipiordine` WHERE `dir` = '.prepare($direzione).')',
|
||||
]);
|
||||
} elseif ((strpos($maschera, 'YYYY') !== false) or (strpos($maschera, 'yy') !== false)) {
|
||||
} elseif ((str_contains($maschera, 'YYYY')) or (str_contains($maschera, 'yy'))) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero_esterno', [
|
||||
'YEAR(data) = '.prepare(date('Y', strtotime($data))),
|
||||
'idtipoordine IN (SELECT `id` FROM `or_tipiordine` WHERE `dir` = '.prepare($direzione).')',
|
||||
|
|
|
@ -61,7 +61,7 @@ class CSV extends CSVImporter
|
|||
$database = database();
|
||||
$primary_key = $this->getPrimaryKey();
|
||||
|
||||
$numero = explode('.', $record['numero']);
|
||||
$numero = explode('.', (string) $record['numero']);
|
||||
$codice_conto2 = $numero[0];
|
||||
$codice_conto3 = $numero[1];
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ switch (post('op')) {
|
|||
$preventivo->delete();
|
||||
|
||||
flash()->info(tr('Preventivo eliminato!'));
|
||||
} catch (InvalidArgumentException $e) {
|
||||
} catch (InvalidArgumentException) {
|
||||
flash()->error(tr('Sono stati utilizzati alcuni serial number nel documento: impossibile procedere!'));
|
||||
}
|
||||
|
||||
|
@ -209,7 +209,7 @@ switch (post('op')) {
|
|||
|
||||
try {
|
||||
$articolo->qta = $qta;
|
||||
} catch (UnexpectedValueException $e) {
|
||||
} catch (UnexpectedValueException) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
}
|
||||
|
||||
|
|
|
@ -165,9 +165,9 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
$operations['crea_fattura'] = [
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'data' => [
|
||||
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
|
||||
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]),
|
||||
'msg' => '{[ "type": "checkbox", "label": "<small>'.tr('Aggiungere alle fatture di vendita non ancora emesse?').'</small>", "placeholder": "'.tr('Aggiungere alle fatture di vendita nello stato bozza?').'", "name": "accodare" ]}<br>{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT `zz_segments`.`id`, `zz_segments_lang`.`title` AS descrizione FROM `zz_segments` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `id_module`=\''.$id_fatture.'\' ORDER BY `zz_segments_lang`.`title`", "value": "'.$id_segment.'" ]}<br>
|
||||
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `title`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` =\'entrata\' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}<br>
|
||||
{[ "type": "select", "label": "'.tr('Raggruppa per').'", "name": "raggruppamento", "required": 1, "values": "list=\"cliente\":\"Cliente\",\"sede\":\"Sede\"" ]}',
|
||||
|
|
|
@ -45,14 +45,14 @@ if (count($preventivo->revisioni) > 1) {
|
|||
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstato", "required": 1, "values": "query=SELECT `co_statipreventivi`.`id`, `co_statipreventivi_lang`.`title` AS descrizione, `colore` AS _bgcolor_ FROM `co_statipreventivi` LEFT JOIN `co_statipreventivi_lang` ON (`co_statipreventivi_lang`.`id_record` = `co_statipreventivi`.`id` AND `co_statipreventivi_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) ORDER BY `title`", "value": "$idstato$", "class": "unblockable" ]}
|
||||
</div>
|
||||
</div>
|
||||
<?php echo'
|
||||
<?php echo '
|
||||
<!-- DATI INTESTAZIONE -->
|
||||
<div class="card card-primary collapsable '.(empty($espandi_dettagli) ? 'collapsed-card' : '').'">
|
||||
<div class="card-header with-border">
|
||||
<h3 class="card-title">'.tr('Dati cliente').'</h3>
|
||||
<div class="card-tools pull-right">
|
||||
<button type="button" class="btn btn-card-tool" data-card-widget="collapse">
|
||||
<i class="fa fa-'. (empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
||||
<i class="fa fa-'.(empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -520,7 +520,7 @@ UNION
|
|||
\'Interventi\'
|
||||
FROM `in_interventi`
|
||||
JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id`
|
||||
WHERE (`in_righe_interventi`.`original_document_id` = '.prepare($preventivo->id).' AND `in_righe_interventi`.`original_document_type` = '.prepare(get_class($preventivo)).') OR `in_interventi`.`id_preventivo` = '.prepare($id_record).'
|
||||
WHERE (`in_righe_interventi`.`original_document_id` = '.prepare($preventivo->id).' AND `in_righe_interventi`.`original_document_type` = '.prepare($preventivo::class).') OR `in_interventi`.`id_preventivo` = '.prepare($id_record).'
|
||||
|
||||
ORDER BY `data`');
|
||||
|
||||
|
|
|
@ -25,9 +25,9 @@ use Models\Upload;
|
|||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Modules\Anagrafiche\Sede;
|
||||
use Modules\Contratti\Contratto;
|
||||
use Modules\Interventi\Intervento;
|
||||
use Modules\Ordini\Ordine;
|
||||
use Modules\Scadenzario\Scadenza;
|
||||
use Modules\Interventi\Intervento;
|
||||
|
||||
// Anagrafica
|
||||
$anagrafica = $preventivo->anagrafica;
|
||||
|
@ -154,7 +154,6 @@ if ($contratto) {
|
|||
</p>';
|
||||
}
|
||||
|
||||
|
||||
// Ordine
|
||||
if ($ordine) {
|
||||
echo '
|
||||
|
|
|
@ -76,7 +76,7 @@ foreach ($righe as $key => $riga) {
|
|||
++$num;
|
||||
|
||||
echo '
|
||||
<tr data-id="'.$riga->id.'" data-type="'.get_class($riga).'" '.$style_titolo.'>
|
||||
<tr data-id="'.$riga->id.'" data-type="'.$riga::class.'" '.$style_titolo.'>
|
||||
<td class="text-center">';
|
||||
if (!$block_edit) {
|
||||
echo '
|
||||
|
@ -177,7 +177,7 @@ foreach ($righe as $key => $riga) {
|
|||
$evasione_bar['in_righe_interventi'] = 'warning';
|
||||
$evasione_bar['or_righe_ordini'] = 'success';
|
||||
foreach ($evasione_bar as $table => $color) {
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', get_class($riga))->get();
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
|
||||
if ($righe_ev->count() > 0) {
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
if ($perc_ev > 0) {
|
||||
|
|
|
@ -303,14 +303,14 @@ class Preventivo extends Document
|
|||
{
|
||||
$maschera = Generator::getMaschera($id_segment);
|
||||
|
||||
if (strpos($maschera, 'm') !== false) {
|
||||
if (str_contains($maschera, 'm')) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'co_preventivi', 'numero', [
|
||||
'YEAR(data_bozza) = '.prepare(date('Y', strtotime($data))),
|
||||
'MONTH(data_bozza) = '.prepare(date('m', strtotime($data))),
|
||||
'YEAR(data_bozza) = '.prepare(date('Y', strtotime((string) $data))),
|
||||
'MONTH(data_bozza) = '.prepare(date('m', strtotime((string) $data))),
|
||||
]);
|
||||
} elseif ((strpos($maschera, 'YYYY') !== false) or (strpos($maschera, 'yy') !== false)) {
|
||||
} elseif ((str_contains($maschera, 'YYYY')) or (str_contains($maschera, 'yy'))) {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'co_preventivi', 'numero', [
|
||||
'YEAR(data_bozza) = '.prepare(date('Y', strtotime($data))),
|
||||
'YEAR(data_bozza) = '.prepare(date('Y', strtotime((string) $data))),
|
||||
]);
|
||||
} else {
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'co_preventivi', 'numero');
|
||||
|
|
|
@ -58,10 +58,10 @@ $singola_scadenza = get('single') != null;
|
|||
$is_insoluto = get('is_insoluto') != null;
|
||||
|
||||
$id_documenti = $id_documenti ?: get('id_documenti');
|
||||
$id_documenti = $id_documenti ? explode(',', $id_documenti) : [];
|
||||
$id_documenti = $id_documenti ? explode(',', (string) $id_documenti) : [];
|
||||
|
||||
$id_scadenze = $id_scadenze ?: get('id_scadenze');
|
||||
$id_scadenze = $id_scadenze ? explode(',', $id_scadenze) : [];
|
||||
$id_scadenze = $id_scadenze ? explode(',', (string) $id_scadenze) : [];
|
||||
|
||||
// Controllo per l'utilizzo dei modelli di Prima Nota (per singolo documento o singola scadenza)
|
||||
$permetti_modelli = (count($id_documenti) + count($id_scadenze)) <= 1;
|
||||
|
@ -230,7 +230,7 @@ if ($numero_documenti + $numero_scadenze > 1) {
|
|||
|
||||
$descrizione = tr('_OP_ _DOC_ num. _NUM_ del _DATE_ (_NAME_)', [
|
||||
'_OP_' => $operation,
|
||||
'_DOC_' => strtolower($tipo_fattura),
|
||||
'_DOC_' => strtolower((string) $tipo_fattura),
|
||||
'_NUM_' => $numero_fattura,
|
||||
'_DATE_' => Translator::dateToLocale($fattura['data']),
|
||||
'_NAME_' => $fattura->anagrafica['ragione_sociale'],
|
||||
|
|
|
@ -22,8 +22,8 @@ namespace Modules\Scadenzario;
|
|||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Modules\Pagamenti\Pagamento;
|
||||
use Modules\Fatture\Fattura;
|
||||
use Modules\Pagamenti\Pagamento;
|
||||
|
||||
class Scadenza extends Model
|
||||
{
|
||||
|
|
|
@ -79,7 +79,7 @@ $module_query = Modules::replaceAdditionals($record['id_module'], $total['query'
|
|||
|
||||
echo '
|
||||
<p><strong>'.tr('Query risultante').':</strong></p>
|
||||
<p>'.htmlentities($module_query).'</p>';
|
||||
<p>'.htmlentities((string) $module_query).'</p>';
|
||||
|
||||
$_SESSION['module_'.$id_module]['id_segment'] = $previous;
|
||||
$_SESSION['module_'.$record['id_module']]['id_segment'] = $previous_module;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue