diff --git a/api/index.php b/api/index.php index 5b6c34cd1..426f2489c 100755 --- a/api/index.php +++ b/api/index.php @@ -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) { diff --git a/editor.php b/editor.php index 9b4a65da8..5da162427 100755 --- a/editor.php +++ b/editor.php @@ -364,7 +364,7 @@ if (empty($record) || !$has_access) { '; } - echo' + echo '
diff --git a/include/bottom.php b/include/bottom.php index 6d8885386..ff123249b 100755 --- a/include/bottom.php +++ b/include/bottom.php @@ -95,7 +95,7 @@ echo ' '; // 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']); diff --git a/include/common/importa.php b/include/common/importa.php index b56f68f2b..7d773dde5 100755 --- a/include/common/importa.php +++ b/include/common/importa.php @@ -76,7 +76,7 @@ echo ' - + '; // Creazione fattura dal documento diff --git a/include/init/configuration.php b/include/init/configuration.php index dad585ffd..7943d80ef 100755 --- a/include/init/configuration.php +++ b/include/init/configuration.php @@ -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 diff --git a/include/init/requirements.php b/include/init/requirements.php index 0185c17a9..999ae188c 100755 --- a/include/init/requirements.php +++ b/include/init/requirements.php @@ -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(); diff --git a/include/manager.php b/include/manager.php index 3328596e8..d99d42ae8 100755 --- a/include/manager.php +++ b/include/manager.php @@ -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); diff --git a/include/riferimenti/riferimenti.php b/include/riferimenti/riferimenti.php index 4ecd21954..dc3659413 100644 --- a/include/riferimenti/riferimenti.php +++ b/include/riferimenti/riferimenti.php @@ -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, ]); diff --git a/include/riferimenti/righe_documento.php b/include/riferimenti/righe_documento.php index c51fda165..5c0676115 100644 --- a/include/riferimenti/righe_documento.php +++ b/include/riferimenti/righe_documento.php @@ -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); diff --git a/include/riferimenti/righe_riferimenti.php b/include/riferimenti/righe_riferimenti.php index a53cd7f0e..1bbd3b82a 100644 --- a/include/riferimenti/righe_riferimenti.php +++ b/include/riferimenti/righe_riferimenti.php @@ -43,12 +43,12 @@ if (!$riferimenti->isEmpty()) { foreach ($riferimenti as $riferimento) { $riga = $riferimento->target; - $riga_class = get_class($source); + $riga_class = $source::class; echo ' - diff --git a/include/top.php b/include/top.php index 1e50ffac9..87db438f9 100755 --- a/include/top.php +++ b/include/top.php @@ -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.'", }; '; @@ -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)) { @@ -568,13 +568,13 @@ if (Auth::check()) { if ($structure->permission != '-' && $structure->use_checklists) { $checklists_unchecked = $structure->recordChecks($id_record)->where('checked_at', null); $checklists_total = $structure->recordChecks($id_record); - + echo ' '; } diff --git a/lib/common.php b/lib/common.php index 6ed2a5d29..35de27839 100755 --- a/lib/common.php +++ b/lib/common.php @@ -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 } } diff --git a/lib/functions.php b/lib/functions.php index 7a5298341..e8fead340 100755 --- a/lib/functions.php +++ b/lib/functions.php @@ -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; diff --git a/lib/util.php b/lib/util.php index 49cb81b3f..2a602fcba 100755 --- a/lib/util.php +++ b/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); diff --git a/modules/adattatori_archiviazione/edit.php b/modules/adattatori_archiviazione/edit.php index 1ddaf519c..c566416b0 100644 --- a/modules/adattatori_archiviazione/edit.php +++ b/modules/adattatori_archiviazione/edit.php @@ -30,7 +30,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "select", "label": "", "name": "class", "value": "", "values": "list=\"LocalAdapter\":\"Archiviazione locale\",\"FTPAdapter\":\"Archiviazione FTP\"", "required": 1, "disabled": "1" ]} + {[ "type": "select", "label": "", "name": "class", "value": "", "values": "list=\"LocalAdapter\":\"Archiviazione locale\",\"FTPAdapter\":\"Archiviazione FTP\"", "required": 1, "disabled": "1" ]}
diff --git a/modules/adattatori_archiviazione/src/Adapters/FTPAdapter.php b/modules/adattatori_archiviazione/src/Adapters/FTPAdapter.php index fd01b2366..5142155d1 100644 --- a/modules/adattatori_archiviazione/src/Adapters/FTPAdapter.php +++ b/modules/adattatori_archiviazione/src/Adapters/FTPAdapter.php @@ -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)); } diff --git a/modules/adattatori_archiviazione/src/Adapters/LocalAdapter.php b/modules/adattatori_archiviazione/src/Adapters/LocalAdapter.php index 43deae555..2eaf350ea 100644 --- a/modules/adattatori_archiviazione/src/Adapters/LocalAdapter.php +++ b/modules/adattatori_archiviazione/src/Adapters/LocalAdapter.php @@ -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); } diff --git a/modules/adattatori_archiviazione/src/OSMFilesystem.php b/modules/adattatori_archiviazione/src/OSMFilesystem.php index 9d5ba80c3..2fccb6538 100644 --- a/modules/adattatori_archiviazione/src/OSMFilesystem.php +++ b/modules/adattatori_archiviazione/src/OSMFilesystem.php @@ -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)); } } diff --git a/modules/aggiornamenti/src/Controlli/DatiFattureElettroniche.php b/modules/aggiornamenti/src/Controlli/DatiFattureElettroniche.php index 90d6e1e83..918e3ba64 100644 --- a/modules/aggiornamenti/src/Controlli/DatiFattureElettroniche.php +++ b/modules/aggiornamenti/src/Controlli/DatiFattureElettroniche.php @@ -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']) ? ''.implode(' ', $k['d']).' ' : ''). diff --git a/modules/aggiornamenti/src/Controlli/PianoConti.php b/modules/aggiornamenti/src/Controlli/PianoConti.php index 717b873ed..c0f1cf0d5 100644 --- a/modules/aggiornamenti/src/Controlli/PianoConti.php +++ b/modules/aggiornamenti/src/Controlli/PianoConti.php @@ -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']); diff --git a/modules/aggiornamenti/src/UpdateHook.php b/modules/aggiornamenti/src/UpdateHook.php index e9470da60..6987d5e09 100755 --- a/modules/aggiornamenti/src/UpdateHook.php +++ b/modules/aggiornamenti/src/UpdateHook.php @@ -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(); diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php index 547bd83db..a08ee9ab4 100755 --- a/modules/anagrafiche/actions.php +++ b/modules/anagrafiche/actions.php @@ -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'; } diff --git a/modules/anagrafiche/ajax/select.php b/modules/anagrafiche/ajax/select.php index 6d5284bcb..756e33250 100755 --- a/modules/anagrafiche/ajax/select.php +++ b/modules/anagrafiche/ajax/select.php @@ -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']).']', diff --git a/modules/anagrafiche/bulk.php b/modules/anagrafiche/bulk.php index edbd406b3..cdc2802d0 100755 --- a/modules/anagrafiche/bulk.php +++ b/modules/anagrafiche/bulk.php @@ -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); } } diff --git a/modules/anagrafiche/buttons.php b/modules/anagrafiche/buttons.php index 11a6270c8..539ac3226 100755 --- a/modules/anagrafiche/buttons.php +++ b/modules/anagrafiche/buttons.php @@ -71,10 +71,9 @@ if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_ana '.tr('Nuova registrazione contabile (fornitore)').''; } - echo' + echo '
'; - } if (in_array($id_agente, $tipi_anagrafica)) { diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index 46621a5ce..e5a16ac9f 100755 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -214,7 +214,7 @@ if (in_array($id_azienda, $tipi_anagrafica)) {
- {[ "type": "telefono", "label": "", "name": "cellulare", "class": "text-center", "value": "$cellulare$", "icon-after": "" : ""; ?>" ]} + {[ "type": "telefono", "label": "", "name": "cellulare", "class": "text-center", "value": "$cellulare$", "icon-after": "" : ""; ?>" ]}
@@ -482,7 +482,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
- + '.tr("Visualizza le banche disponibili per l'Anagrafica").'
diff --git a/modules/anagrafiche/init.php b/modules/anagrafiche/init.php index 8617a87c8..10bdd7dbe 100755 --- a/modules/anagrafiche/init.php +++ b/modules/anagrafiche/init.php @@ -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)) { diff --git a/modules/anagrafiche/src/Anagrafica.php b/modules/anagrafiche/src/Anagrafica.php index fa2ad70cd..824a46f4b 100755 --- a/modules/anagrafiche/src/Anagrafica.php +++ b/modules/anagrafiche/src/Anagrafica.php @@ -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)); } /** diff --git a/modules/anagrafiche/src/Import/CSV.php b/modules/anagrafiche/src/Import/CSV.php index 4e32e9eb2..209b1c9f4 100644 --- a/modules/anagrafiche/src/Import/CSV.php +++ b/modules/anagrafiche/src/Import/CSV.php @@ -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 diff --git a/modules/articoli/src/Import/CSV.php b/modules/articoli/src/Import/CSV.php index 80c9bf54a..6f716a905 100644 --- a/modules/articoli/src/Import/CSV.php +++ b/modules/articoli/src/Import/CSV.php @@ -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') { diff --git a/modules/articoli/src/Movimento.php b/modules/articoli/src/Movimento.php index 8c51afb10..4e2f842a1 100755 --- a/modules/articoli/src/Movimento.php +++ b/modules/articoli/src/Movimento.php @@ -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; diff --git a/modules/automezzi/ajax/search.php b/modules/automezzi/ajax/search.php index 377f20bbb..3ffd2d6c3 100644 --- a/modules/automezzi/ajax/search.php +++ b/modules/automezzi/ajax/search.php @@ -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, "".$term.'', $r[$name]); $result['labels'][] = $name.': '.$text.'
'; diff --git a/modules/backups/actions.php b/modules/backups/actions.php index fdc68cb54..731016680 100755 --- a/modules/backups/actions.php +++ b/modules/backups/actions.php @@ -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); diff --git a/modules/backups/edit.php b/modules/backups/edit.php index 481f37788..e311fd998 100755 --- a/modules/backups/edit.php +++ b/modules/backups/edit.php @@ -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']; diff --git a/modules/backups/init.php b/modules/backups/init.php index 04d0d0fb9..4185630cb 100755 --- a/modules/backups/init.php +++ b/modules/backups/init.php @@ -21,5 +21,5 @@ include_once __DIR__.'/../../core.php'; try { $backup_dir = Backup::getDirectory(); -} catch (UnexpectedValueException $e) { +} catch (UnexpectedValueException) { } diff --git a/modules/banche/src/IBAN.php b/modules/banche/src/IBAN.php index 9bd17a926..601812ab9 100644 --- a/modules/banche/src/IBAN.php +++ b/modules/banche/src/IBAN.php @@ -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 { diff --git a/modules/contratti/actions.php b/modules/contratti/actions.php index d03cce0a5..ce899cb00 100644 --- a/modules/contratti/actions.php +++ b/modules/contratti/actions.php @@ -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!')); } } diff --git a/modules/contratti/bulk.php b/modules/contratti/bulk.php index 193ff036a..a89010d07 100755 --- a/modules/contratti/bulk.php +++ b/modules/contratti/bulk.php @@ -262,9 +262,9 @@ switch (post('op')) { } $operations['crea_fattura'] = [ - 'text' => ' '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]), + 'text' => ' '.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": "'.tr('Aggiungere alle fatture di vendita non ancora emesse?').'", "placeholder": "'.tr('Aggiungere alle fatture esistenti non ancora emesse?').'", "name": "accodare" ]}
{[ "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 ]}
{[ "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.'" ]}
diff --git a/modules/contratti/edit.php b/modules/contratti/edit.php index 4e3fa3679..cb4e60ded 100755 --- a/modules/contratti/edit.php +++ b/modules/contratti/edit.php @@ -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 '
'.tr('Attenzione! La data di accettazione supera la data di conclusione del contratto. Verificare le informazioni inserite.').'
'; } -echo' +echo '
@@ -47,7 +47,7 @@ echo'

'.tr('Dati cliente').'

@@ -71,8 +71,7 @@ echo'
'; 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": "", "name": "idagente", "ajax-source": "agenti", "select-options": {"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`'); diff --git a/modules/contratti/header.php b/modules/contratti/header.php index c7cbd81f1..80029b7b2 100644 --- a/modules/contratti/header.php +++ b/modules/contratti/header.php @@ -45,7 +45,6 @@ if ($contratto->idreferente) { $referente = $dbo->selectOne('an_referenti', '*', ['id' => $contratto->idreferente]); } - // Preventivo $preventivo = null; if ($contratto->id_preventivo) { diff --git a/modules/contratti/row-list.php b/modules/contratti/row-list.php index 51d1d9ed2..8a87be117 100755 --- a/modules/contratti/row-list.php +++ b/modules/contratti/row-list.php @@ -72,7 +72,7 @@ foreach ($righe as $riga) { } echo ' - + '; 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 ' diff --git a/modules/contratti/src/Contratto.php b/modules/contratti/src/Contratto.php index 9a7ad6879..0595e0764 100755 --- a/modules/contratti/src/Contratto.php +++ b/modules/contratti/src/Contratto.php @@ -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'); diff --git a/modules/contratti/widgets/contratti_scadenza.dashboard.php b/modules/contratti/widgets/contratti_scadenza.dashboard.php index 13532a911..8ffc22bbb 100755 --- a/modules/contratti/widgets/contratti_scadenza.dashboard.php +++ b/modules/contratti/widgets/contratti_scadenza.dashboard.php @@ -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 diff --git a/modules/dashboard/ajax.php b/modules/dashboard/ajax.php index c89640969..ac87e8d2d 100644 --- a/modules/dashboard/ajax.php +++ b/modules/dashboard/ajax.php @@ -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' => ''.tr('Evento').': '.$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' => $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 .= ''.tr('Data scadenza').': '.Translator::timestampToLocale($rs[0]['data_scadenza']).'
'; } - $tooltip .= ''.tr('Tipo intervento').': '.nl2br($desc_tipointervento).'
'; + $tooltip .= ''.tr('Tipo intervento').': '.nl2br((string) $desc_tipointervento).'
'; $tooltip .= ''.tr('Tecnici').': '.implode(', ', $tecnici).'
'; @@ -338,25 +338,25 @@ switch (filter('op')) { } if ($rs[0]['richiesta'] != '') { - $tooltip .= ''.tr('Richiesta').':
'.nl2br($rs[0]['richiesta']).'
'; + $tooltip .= ''.tr('Richiesta').':
'.nl2br((string) $rs[0]['richiesta']).'
'; } if ($rs[0]['descrizione'] != '') { - $tooltip .= ''.tr('Descrizione').':
'.nl2br($rs[0]['descrizione']).'
'; + $tooltip .= ''.tr('Descrizione').':
'.nl2br((string) $rs[0]['descrizione']).'
'; } if ($rs[0]['informazioniaggiuntive'] != '') { - $tooltip .= ''.tr('Informazioni aggiuntive').': '.nl2br($rs[0]['informazioniaggiuntive']).'
'; + $tooltip .= ''.tr('Informazioni aggiuntive').': '.nl2br((string) $rs[0]['informazioniaggiuntive']).'
'; } - $tooltip .= ''.tr('Ragione sociale').': '.nl2br($rs[0]['ragione_sociale']).'
'; + $tooltip .= ''.tr('Ragione sociale').': '.nl2br((string) $rs[0]['ragione_sociale']).'
'; if (!empty($rs[0]['telefono'])) { - $tooltip .= ''.tr('Telefono').': '.nl2br($rs[0]['telefono']).'
'; + $tooltip .= ''.tr('Telefono').': '.nl2br((string) $rs[0]['telefono']).'
'; } if (!empty($rs[0]['cellulare'])) { - $tooltip .= ''.tr('Cellulare').': '.nl2br($rs[0]['cellulare']).'
'; + $tooltip .= ''.tr('Cellulare').': '.nl2br((string) $rs[0]['cellulare']).'
'; } 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 .= ''.tr('Note anagrafica').': '.nl2br($rs[0]['note_anagrafica']).'
'; + $tooltip .= ''.tr('Note anagrafica').': '.nl2br((string) $rs[0]['note_anagrafica']).'
'; } } } 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')) {
'.($sessione['ref'] == 'intervento' ? Modules::link($modulo_riferimento, $id_riferimento, '', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-'.$class.' btn-xs pull-right"') : Modules::link($modulo_riferimento, $id_riferimento, '', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-'.$class.' btn-xs pull-right"')).' '.$sessione['ragione_sociale'].'
'.dateFormat($sessione['data_richiesta']).' ('.$sessione['tipo_intervento'].') -
'.(!empty($sessione['richiesta']) ? ' - '.strip_tags($sessione['richiesta']) : '').'
+
'.(!empty($sessione['richiesta']) ? ' - '.strip_tags((string) $sessione['richiesta']) : '').'
'.(!empty($sessione['numero_contratto']) ? ''.tr('Contratto numero: ').$sessione['numero_contratto'].tr(' del ').dateFormat($sessione['data_contratto']).'' : '').' '.(!empty($sessione['data_scadenza'] && $sessione['data_scadenza'] != '0000-00-00 00:00:00') ? ''.tr('Entro il: ').dateFormat($sessione['data_scadenza']).'' : '').' '.(!empty($sessione['id_tecnico']) ? ''.tr('Tecnico').': '.$sessione['ragione_sociale_tecnico'].'' : '').'
'; } @@ -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, diff --git a/modules/dashboard/edit.php b/modules/dashboard/edit.php index 24fab7145..f44941028 100755 --- a/modules/dashboard/edit.php +++ b/modules/dashboard/edit.php @@ -342,18 +342,18 @@ if (!empty($risultati_da_programmare)) { echo '
diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php index 75523a1b5..4eae2452a 100755 --- a/modules/ddt/actions.php +++ b/modules/ddt/actions.php @@ -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!')); } diff --git a/modules/ddt/bulk.php b/modules/ddt/bulk.php index a995e7f35..44c32d76f 100755 --- a/modules/ddt/bulk.php +++ b/modules/ddt/bulk.php @@ -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' => ' '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]), + 'text' => ' '.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": "'.tr('Aggiungere alle _TYPE_ non ancora emesse?', ['_TYPE_' => strtolower($module_fatture)]).'", "placeholder": "'.tr('Aggiungere alle _TYPE_ nello stato bozza?', ['_TYPE_' => strtolower($module_fatture)]).'", "name": "accodare" ]}
{[ "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 ]}
{[ "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.'" ]}
diff --git a/modules/ddt/row-list.php b/modules/ddt/row-list.php index 3ad0ff26d..948bbfec4 100755 --- a/modules/ddt/row-list.php +++ b/modules/ddt/row-list.php @@ -81,7 +81,7 @@ foreach ($righe as $riga) { } echo ' - + '; 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) { diff --git a/modules/emails/src/EmailHook.php b/modules/emails/src/EmailHook.php index b6abc997a..5114c6972 100755 --- a/modules/emails/src/EmailHook.php +++ b/modules/emails/src/EmailHook.php @@ -99,7 +99,7 @@ class EmailHook extends Manager try { $email = EmailNotification::build($mail); $email->send(); - } catch (Exception $e) { + } catch (Exception) { } } diff --git a/modules/emails/src/Mail.php b/modules/emails/src/Mail.php index d3955255e..882cb4872 100755 --- a/modules/emails/src/Mail.php +++ b/modules/emails/src/Mail.php @@ -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); } /** diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php index 46ff2c4ac..eabcc1ef3 100755 --- a/modules/fatture/actions.php +++ b/modules/fatture/actions.php @@ -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!')); } diff --git a/modules/fatture/add_intervento.php b/modules/fatture/add_intervento.php index bf5e7e591..dc5097ead 100755 --- a/modules/fatture/add_intervento.php +++ b/modules/fatture/add_intervento.php @@ -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 diff --git a/modules/fatture/bulk.php b/modules/fatture/bulk.php index deaec9054..566fa91e8 100755 --- a/modules/fatture/bulk.php +++ b/modules/fatture/bulk.php @@ -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) { } } diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index 58de48b15..4d1dd8211 100755 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -172,7 +172,7 @@ if ($dir == 'entrata' && $fattura->stato->id == $id_stato_bozza) { if ($fattura->is_fattura_conto_terzi) { echo '
- '.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_' => '"'.stripslashes($database->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).'"']).'. + '.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_' => '"'.stripslashes((string) $database->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).'"']).'.
'; } @@ -282,13 +282,13 @@ $query .= ' ORDER BY `title`';
- +
> {[ "type": "select", "label": "", "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` = id); ?>)", "value": "$codice_stato_fe$", "disabled": stato->id == $id_stato_bozza && $abilita_genera)); ?>, "class": "unblockable", "help": "" ]}
{[ "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()\"" ]}
@@ -300,7 +300,7 @@ $query .= ' ORDER BY `title`';

'.tr('Dati cliente').'

@@ -312,7 +312,7 @@ $query .= ' ORDER BY `title`'; if ($dir == 'entrata') { ?> - {[ "type": "select", "label": "", "name": "idanagrafica", "required": 1, "ajax-source": "clienti", "help": "fetchOne('SELECT `ragione_sociale` FROM `an_anagrafiche` WHERE `idanagrafica` = '.prepare(setting('Azienda predefinita')))['ragione_sociale']); ?>", "value": "$idanagrafica$" ]} + {[ "type": "select", "label": "", "name": "idanagrafica", "required": 1, "ajax-source": "clienti", "help": "fetchOne('SELECT `ragione_sociale` FROM `an_anagrafiche` WHERE `idanagrafica` = '.prepare(setting('Azienda predefinita')))['ragione_sociale']); ?>", "value": "$idanagrafica$" ]} @@ -387,7 +387,7 @@ echo ' {[ "type": "date", "class":"unblockable", "label": "", "name": "data_competenza", "required": 1, "value": "$data_competenza$", "min-date": "$data$", "help": "" ]} -fetchArray('SELECT `mg_articoli`.`id` FROM ((`mg_articoli` INNER JOIN `co_righe_documenti` ON `mg_articoli`.`id`=`co_righe_documenti`.`idarticolo`) INNER JOIN `co_documenti` ON `co_documenti`.`id`=`co_righe_documenti`.`iddocumento`) WHERE `co_documenti`.`id`='.prepare($id_record)); $id_plugin_sedi = (new Plugin())->getByField('title', 'Sedi', Models\Locale::getPredefined()->id); @@ -462,7 +462,7 @@ if ($dir == 'entrata') { if ($dir == 'entrata') { ?>
- {[ "type": "checkbox", "label": "", "name": "is_fattura_conto_terzi", "value": "$is_fattura_conto_terzi$", "help": "fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).') come cessionario e il cliente come cedente/prestatore.'); ?>", "placeholder": "" ]} + {[ "type": "checkbox", "label": "", "name": "is_fattura_conto_terzi", "value": "$is_fattura_conto_terzi$", "help": "fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')))['ragione_sociale']).') come cessionario e il cliente come cedente/prestatore.'); ?>", "placeholder": "" ]}
- '.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 ' - '.str_repeat($space, 5).'2.2.1.16.1 TipoDato + '.str_repeat((string) $space, 5).'2.2.1.16.1 TipoDato {[ "type": "text", "name": "altri_dati['.$key.'][tipo_dato]", "value": "'.$dato['tipo_dato'].'", "maxlength": 10 ]} @@ -49,7 +49,7 @@ echo ' // Riferimento Testo echo ' - '.str_repeat($space, 5).'2.2.1.16.2 RiferimentoTesto + '.str_repeat((string) $space, 5).'2.2.1.16.2 RiferimentoTesto {[ "type": "text", "name": "altri_dati['.$key.'][riferimento_testo]", "value": "'.$dato['riferimento_testo'].'", "maxlength": 60 ]} @@ -58,7 +58,7 @@ echo ' // Riferimento Numero echo ' - '.str_repeat($space, 5).'2.2.1.16.3 RiferimentoNumero + '.str_repeat((string) $space, 5).'2.2.1.16.3 RiferimentoNumero {[ "type": "number", "name": "altri_dati['.$key.'][riferimento_numero]", "value": "'.$dato['riferimento_numero'].'" ]} @@ -67,7 +67,7 @@ echo ' // Riferimento Data echo ' - '.str_repeat($space, 5).'2.2.1.16.4 RiferimentoData + '.str_repeat((string) $space, 5).'2.2.1.16.4 RiferimentoData {[ "type": "date", "name": "altri_dati['.$key.'][riferimento_data]", "value": "'.$dato['riferimento_data'].'"]} diff --git a/modules/fatture/fe/components/dati_documento.php b/modules/fatture/fe/components/dati_documento.php index eb3daf9c7..3d2185cf2 100755 --- a/modules/fatture/fe/components/dati_documento.php +++ b/modules/fatture/fe/components/dati_documento.php @@ -22,7 +22,7 @@ echo ' - '.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 ' - '.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 ' - '.str_repeat($space, 4).$info['code'].'.2 IdDocumento + '.str_repeat((string) $space, 4).$info['code'].'.2 IdDocumento {[ "type": "text", "name": "'.$nome.'['.$key.'][id_documento]", "value": "'.$dato['id_documento'].'", "maxlength": 20 ]} @@ -80,7 +80,7 @@ echo ' // Data echo ' - '.str_repeat($space, 4).$info['code'].'.3 Data + '.str_repeat((string) $space, 4).$info['code'].'.3 Data {[ "type": "date", "name": "'.$nome.'['.$key.'][data]", "value": "'.$dato['data'].'", "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]} @@ -89,7 +89,7 @@ echo ' // NumItem echo ' - '.str_repeat($space, 4).$info['code'].'.4 NumItem + '.str_repeat((string) $space, 4).$info['code'].'.4 NumItem {[ "type": "text", "name": "'.$nome.'['.$key.'][num_item]", "value": "'.$dato['num_item'].'", "maxlength": 20, "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]} @@ -98,7 +98,7 @@ echo ' // CodiceCommessaConvenzione echo ' - '.str_repeat($space, 4).$info['code'].'.5 CodiceCommessaConvenzione + '.str_repeat((string) $space, 4).$info['code'].'.5 CodiceCommessaConvenzione {[ "type": "text", "name": "'.$nome.'['.$key.'][codice_commessa]", "value": "'.$dato['codice_commessa'].'", "maxlength": 100, "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]} @@ -107,7 +107,7 @@ echo ' // CodiceCUP echo ' - '.str_repeat($space, 4).$info['code'].'.6 CodiceCUP + '.str_repeat((string) $space, 4).$info['code'].'.6 CodiceCUP {[ "type": "text", "name": "'.$nome.'['.$key.'][codice_cup]", "value": "'.$dato['codice_cup'].'", "maxlength": 15, "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]} @@ -116,7 +116,7 @@ echo ' // CodiceCIG echo ' - '.str_repeat($space, 4).$info['code'].'.7 CodiceCIG + '.str_repeat((string) $space, 4).$info['code'].'.7 CodiceCIG {[ "type": "text", "name": "'.$nome.'['.$key.'][codice_cig]", "value": "'.$dato['codice_cig'].'", "maxlength": 15, "readonly": '.(empty($dato['id_documento']) ? 1 : 0).' ]} diff --git a/modules/fatture/header.php b/modules/fatture/header.php index afc3c703e..8a5056f13 100644 --- a/modules/fatture/header.php +++ b/modules/fatture/header.php @@ -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') diff --git a/modules/fatture/init.php b/modules/fatture/init.php index 705c8ccff..d7c63aebc 100755 --- a/modules/fatture/init.php +++ b/modules/fatture/init.php @@ -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; diff --git a/modules/fatture/modutil.php b/modules/fatture/modutil.php index c560c55d5..6ece6c385 100755 --- a/modules/fatture/modutil.php +++ b/modules/fatture/modutil.php @@ -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); } } diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php index 50faa958f..e1c49afde 100755 --- a/modules/fatture/row-list.php +++ b/modules/fatture/row-list.php @@ -112,7 +112,7 @@ foreach ($righe as $riga) { } echo ' - + '; 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 = ''.$prima_parte.' '.$seconda_parte.'...'; } else { diff --git a/modules/fatture/src/Components/RelationTrait.php b/modules/fatture/src/Components/RelationTrait.php index 32614b119..18574e0f8 100755 --- a/modules/fatture/src/Components/RelationTrait.php +++ b/modules/fatture/src/Components/RelationTrait.php @@ -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; } diff --git a/modules/fatture/src/Fattura.php b/modules/fatture/src/Fattura.php index 1c92b4eac..add2086bc 100755 --- a/modules/fatture/src/Fattura.php +++ b/modules/fatture/src/Fattura.php @@ -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'); } /** diff --git a/modules/fatture/src/Gestori/Bollo.php b/modules/fatture/src/Gestori/Bollo.php index a3f721051..d9a49abe6 100644 --- a/modules/fatture/src/Gestori/Bollo.php +++ b/modules/fatture/src/Gestori/Bollo.php @@ -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; } /** diff --git a/modules/fatture/src/Gestori/Scadenze.php b/modules/fatture/src/Gestori/Scadenze.php index cb4c418d9..af0662b70 100644 --- a/modules/fatture/src/Gestori/Scadenze.php +++ b/modules/fatture/src/Gestori/Scadenze.php @@ -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; } /** diff --git a/modules/gestione_task/edit.php b/modules/gestione_task/edit.php index bb40faa16..7cbf46456 100644 --- a/modules/gestione_task/edit.php +++ b/modules/gestione_task/edit.php @@ -48,7 +48,7 @@ echo ' '; $expression = $record['expression']; -preg_match('/(.*?) (.*?) (.*?) (.*?) (.*?)/U', $record['expression'], $exp); +preg_match('/(.*?) (.*?) (.*?) (.*?) (.*?)/U', (string) $record['expression'], $exp); $minuto = $exp[1]; $ora = $exp[2]; diff --git a/modules/impianti/src/Import/CSV.php b/modules/impianti/src/Import/CSV.php index 6fdb313bb..d5b4de0f5 100644 --- a/modules/impianti/src/Import/CSV.php +++ b/modules/impianti/src/Import/CSV.php @@ -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(); diff --git a/modules/import/actions.php b/modules/import/actions.php index 1d79420c7..2f23fc4e6 100755 --- a/modules/import/actions.php +++ b/modules/import/actions.php @@ -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 diff --git a/modules/impostazioni/actions.php b/modules/impostazioni/actions.php index 25bf1de38..2e07e6577 100755 --- a/modules/impostazioni/actions.php +++ b/modules/impostazioni/actions.php @@ -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'].'"', ])); diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index 64f259660..cdc7c9103 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -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); } diff --git a/modules/interventi/add.php b/modules/interventi/add.php index f804ff5bd..d84d33394 100755 --- a/modules/interventi/add.php +++ b/modules/interventi/add.php @@ -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 ' diff --git a/modules/interventi/bulk.php b/modules/interventi/bulk.php index aa03e4888..f667c4a31 100755 --- a/modules/interventi/bulk.php +++ b/modules/interventi/bulk.php @@ -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' => ' '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]), + 'text' => ' '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]), 'data' => [ - 'title' => tr('Fatturare gli _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('title'))]).' ', + 'title' => tr('Fatturare gli _TYPE_ selezionati?', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]).' ', 'msg' => '{[ "type": "checkbox", "label": "'.tr('Aggiungere alle fatture di vendita non ancora emesse?').'", "placeholder": "'.tr('Aggiungere alle fatture di vendita nello stato bozza?').'", "name": "accodare" ]}
{[ "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 ]}
{[ "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.'" ]}
diff --git a/modules/interventi/modutil.php b/modules/interventi/modutil.php index 144e5f931..d5f90d5dc 100755 --- a/modules/interventi/modutil.php +++ b/modules/interventi/modutil.php @@ -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')), diff --git a/modules/interventi/plugins/my_impianti.interventi.php b/modules/interventi/plugins/my_impianti.interventi.php index e673120da..6a36451a7 100755 --- a/modules/interventi/plugins/my_impianti.interventi.php +++ b/modules/interventi/plugins/my_impianti.interventi.php @@ -50,7 +50,7 @@ if (!empty($results)) { '.Modules::link('Interventi', $result['id'], $intervento->getReference()).' - '.nl2br($result['descrizione']).' + '.nl2br((string) $result['descrizione']).' '.moneyFormat($intervento->totale).' '; } diff --git a/modules/interventi/row-list.php b/modules/interventi/row-list.php index 3a91670d3..56573ebcb 100755 --- a/modules/interventi/row-list.php +++ b/modules/interventi/row-list.php @@ -67,7 +67,7 @@ foreach ($righe as $riga) { $descrizione = (!empty($riga->articolo) ? $riga->codice.' - ' : '').$riga['descrizione']; echo ' - + '; if (!$block_edit) { echo ' diff --git a/modules/interventi/src/API/v1/Sessioni.php b/modules/interventi/src/API/v1/Sessioni.php index 8ca5c2c4a..2ec1c1383 100755 --- a/modules/interventi/src/API/v1/Sessioni.php +++ b/modules/interventi/src/API/v1/Sessioni.php @@ -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) { } } diff --git a/modules/interventi/src/API/v1/Sync.php b/modules/interventi/src/API/v1/Sync.php index e15059dbb..db91ae0c2 100755 --- a/modules/interventi/src/API/v1/Sync.php +++ b/modules/interventi/src/API/v1/Sync.php @@ -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); diff --git a/modules/interventi/src/Intervento.php b/modules/interventi/src/Intervento.php index aa9120556..c2e1c6bde 100755 --- a/modules/interventi/src/Intervento.php +++ b/modules/interventi/src/Intervento.php @@ -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); diff --git a/modules/interventi/widgets/interventi_confermati.php b/modules/interventi/widgets/interventi_confermati.php index 860170929..40e1e0486 100755 --- a/modules/interventi/widgets/interventi_confermati.php +++ b/modules/interventi/widgets/interventi_confermati.php @@ -33,7 +33,7 @@ if (!empty($rs)) { '; 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 ' diff --git a/modules/interventi/widgets/interventi_da_pianificare.php b/modules/interventi/widgets/interventi_da_pianificare.php index 06021a350..dc79b9227 100755 --- a/modules/interventi/widgets/interventi_da_pianificare.php +++ b/modules/interventi/widgets/interventi_da_pianificare.php @@ -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; diff --git a/modules/liste_newsletter/actions.php b/modules/liste_newsletter/actions.php index 629ecb3a9..3b9096ef0 100755 --- a/modules/liste_newsletter/actions.php +++ b/modules/liste_newsletter/actions.php @@ -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') { diff --git a/modules/liste_newsletter/src/Destinatario.php b/modules/liste_newsletter/src/Destinatario.php index 702b47fd6..f1b4e198c 100644 --- a/modules/liste_newsletter/src/Destinatario.php +++ b/modules/liste_newsletter/src/Destinatario.php @@ -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(); diff --git a/modules/listini/bulk.php b/modules/listini/bulk.php index 50930df9e..5aa71cc36 100644 --- a/modules/listini/bulk.php +++ b/modules/listini/bulk.php @@ -109,10 +109,10 @@ $segment = $dbo->selectOne('zz_segments_lang', 'title', ['id_record' => $_SESSIO if ($segment != 'Tutti') { $operations['copy_listino'] = [ - 'text' => ' '.tr('Copia _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]), + 'text' => ' '.tr('Copia _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]), 'data' => [ 'title' => tr('Copiare i listini selezionati?'), - 'msg' => '{[ "type": "select", "multiple":"1", "label": "'.tr('Selezionare le anagrafiche in cui copiare i listini selezionati:').'", "ajax-source":"'.strtolower($segment).'", "name": "idanagrafica[]" ]}', + 'msg' => '{[ "type": "select", "multiple":"1", "label": "'.tr('Selezionare le anagrafiche in cui copiare i listini selezionati:').'", "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' => ' '.tr('Copia _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]), + 'text' => ' '.tr('Copia _TYPE_', ['_TYPE_' => strtolower((string) $module->getTranslation('title'))]), 'data' => [ 'title' => tr('Selezionare prima un segmento tra "Clienti" e "Fornitori"'), 'msg' => '', diff --git a/modules/mappa/actions.php b/modules/mappa/actions.php index d9e2a32d1..60762c9d7 100644 --- a/modules/mappa/actions.php +++ b/modules/mappa/actions.php @@ -101,7 +101,7 @@ switch (get('op')) { $descrizione .= '
'; $descrizione .= 'Data: '.(!empty($rs_sessioni['data']) ? Translator::dateToLocale($rs_sessioni['data']) : Translator::dateToLocale($records[$i]['data_richiesta'])).'
'; $descrizione .= 'Stato: '.$records[$i]['stato'].'
'; - $descrizione .= 'Richiesta: '.substr(strip_tags($records[$i]['richiesta']), 0, 200).'
'; + $descrizione .= 'Richiesta: '.substr(strip_tags((string) $records[$i]['richiesta']), 0, 200).'
'; if (!empty($rs_sessioni['tecnici'])) { $descrizione .= 'Tecnici: '.$rs_sessioni['tecnici']; } diff --git a/modules/newsletter/actions.php b/modules/newsletter/actions.php index 0920565bb..26e90980b 100755 --- a/modules/newsletter/actions.php +++ b/modules/newsletter/actions.php @@ -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') { diff --git a/modules/newsletter/ajax/table.php b/modules/newsletter/ajax/table.php index 784ed8a7d..c900518a3 100644 --- a/modules/newsletter/ajax/table.php +++ b/modules/newsletter/ajax/table.php @@ -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) { ).' ', '
'.(empty($lista) && !empty($origine->email) && !empty($origine->enable_newsletter) ? ' - + ' : '').' diff --git a/modules/newsletter/src/Destinatario.php b/modules/newsletter/src/Destinatario.php index 34d3060a5..cbf64ee5e 100644 --- a/modules/newsletter/src/Destinatario.php +++ b/modules/newsletter/src/Destinatario.php @@ -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(); diff --git a/modules/ordini/actions.php b/modules/ordini/actions.php index fa228a833..826fa6539 100755 --- a/modules/ordini/actions.php +++ b/modules/ordini/actions.php @@ -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!')); } diff --git a/modules/ordini/bulk.php b/modules/ordini/bulk.php index 8dda79b75..74c21b1db 100644 --- a/modules/ordini/bulk.php +++ b/modules/ordini/bulk.php @@ -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' => ' '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]), + 'text' => ' '.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": "'.tr('Aggiungere alle _TYPE_ non ancora emesse?', ['_TYPE_' => $module_fatture]).'", "placeholder": "'.tr('Aggiungere alle _TYPE_ nello stato bozza?', ['_TYPE_' => $module_fatture]).'", "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.'" ]}
diff --git a/modules/ordini/buttons.php b/modules/ordini/buttons.php index 5d072e118..a414fac87 100755 --- a/modules/ordini/buttons.php +++ b/modules/ordini/buttons.php @@ -58,7 +58,7 @@ if ($dir == 'entrata') { '.tr('Ordine fornitore').'
'; -} +} echo ' diff --git a/modules/ordini/plugins/ordini.consuntivo.php b/modules/ordini/plugins/ordini.consuntivo.php index b1eabd245..ddc624b3b 100644 --- a/modules/ordini/plugins/ordini.consuntivo.php +++ b/modules/ordini/plugins/ordini.consuntivo.php @@ -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 ' '.Modules::link('Articoli', $materiale['id'], $key).' @@ -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 ' '.$key.' diff --git a/modules/ordini/row-list.php b/modules/ordini/row-list.php index 81b251978..10480206c 100755 --- a/modules/ordini/row-list.php +++ b/modules/ordini/row-list.php @@ -86,7 +86,7 @@ foreach ($righe as $riga) { } echo ' - + '; 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) { diff --git a/modules/ordini/src/Ordine.php b/modules/ordini/src/Ordine.php index 0f3a32126..714340464 100755 --- a/modules/ordini/src/Ordine.php +++ b/modules/ordini/src/Ordine.php @@ -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).')', diff --git a/modules/partitario/src/Import/CSV.php b/modules/partitario/src/Import/CSV.php index 3d84ca12d..8e0a6e751 100755 --- a/modules/partitario/src/Import/CSV.php +++ b/modules/partitario/src/Import/CSV.php @@ -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]; diff --git a/modules/preventivi/actions.php b/modules/preventivi/actions.php index 52448f090..33a4db666 100755 --- a/modules/preventivi/actions.php +++ b/modules/preventivi/actions.php @@ -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!')); } diff --git a/modules/preventivi/bulk.php b/modules/preventivi/bulk.php index 6d6ec0e83..55f19e678 100755 --- a/modules/preventivi/bulk.php +++ b/modules/preventivi/bulk.php @@ -165,9 +165,9 @@ switch (post('op')) { } $operations['crea_fattura'] = [ - 'text' => ' '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]), + 'text' => ' '.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": "'.tr('Aggiungere alle fatture di vendita non ancora emesse?').'", "placeholder": "'.tr('Aggiungere alle fatture di vendita nello stato bozza?').'", "name": "accodare" ]}
{[ "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.'" ]}
{[ "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.'" ]}
{[ "type": "select", "label": "'.tr('Raggruppa per').'", "name": "raggruppamento", "required": 1, "values": "list=\"cliente\":\"Cliente\",\"sede\":\"Sede\"" ]}', diff --git a/modules/preventivi/edit.php b/modules/preventivi/edit.php index c61994b61..2a00a68dd 100755 --- a/modules/preventivi/edit.php +++ b/modules/preventivi/edit.php @@ -45,14 +45,14 @@ if (count($preventivo->revisioni) > 1) { {[ "type": "select", "label": "", "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` = id); ?>) ORDER BY `title`", "value": "$idstato$", "class": "unblockable" ]}
-

'.tr('Dati cliente').'

@@ -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`'); diff --git a/modules/preventivi/header.php b/modules/preventivi/header.php index 80df20f7e..b6adcd112 100644 --- a/modules/preventivi/header.php +++ b/modules/preventivi/header.php @@ -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) {

'; } - // Ordine if ($ordine) { echo ' diff --git a/modules/preventivi/row-list.php b/modules/preventivi/row-list.php index 1f3025a68..4b35359e1 100755 --- a/modules/preventivi/row-list.php +++ b/modules/preventivi/row-list.php @@ -76,7 +76,7 @@ foreach ($righe as $key => $riga) { ++$num; echo ' - + '; 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) { diff --git a/modules/preventivi/src/Preventivo.php b/modules/preventivi/src/Preventivo.php index 82583e66d..0cd66664c 100755 --- a/modules/preventivi/src/Preventivo.php +++ b/modules/preventivi/src/Preventivo.php @@ -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'); diff --git a/modules/primanota/add.php b/modules/primanota/add.php index e4a1a5a5b..2211c04bc 100755 --- a/modules/primanota/add.php +++ b/modules/primanota/add.php @@ -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'], diff --git a/modules/scadenzario/src/Scadenza.php b/modules/scadenzario/src/Scadenza.php index d7e24fbcc..3c17e1450 100755 --- a/modules/scadenzario/src/Scadenza.php +++ b/modules/scadenzario/src/Scadenza.php @@ -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 { diff --git a/modules/segmenti/edit.php b/modules/segmenti/edit.php index d02fb0f7f..cb56e4f58 100755 --- a/modules/segmenti/edit.php +++ b/modules/segmenti/edit.php @@ -79,7 +79,7 @@ $module_query = Modules::replaceAdditionals($record['id_module'], $total['query' echo '

'.tr('Query risultante').':

-

'.htmlentities($module_query).'

'; +

'.htmlentities((string) $module_query).'

'; $_SESSION['module_'.$id_module]['id_segment'] = $previous; $_SESSION['module_'.$record['id_module']]['id_segment'] = $previous_module; diff --git a/modules/stampe/edit.php b/modules/stampe/edit.php index 3d4cfab50..d9df2fd9e 100755 --- a/modules/stampe/edit.php +++ b/modules/stampe/edit.php @@ -121,7 +121,7 @@ echo '
'; if (!empty($record['available_options'])) { - $available_options = json_decode($record['available_options']); + $available_options = json_decode((string) $record['available_options']); echo '

'.tr('Puoi utilizzare le seguenti opzioni per generare la stampa').':

    '; diff --git a/modules/statistiche/edit.php b/modules/statistiche/edit.php index f6b917b64..457e23d29 100755 --- a/modules/statistiche/edit.php +++ b/modules/statistiche/edit.php @@ -508,7 +508,7 @@ ORDER BY $dataset = ''; if ($_SESSION['superselect']['idtipiintervento']) { - $where = '`in_interventi_tecnici`.`id` IN('.implode(',', (array) json_decode($_SESSION['superselect']['idtipiintervento'])).')'; + $where = '`in_interventi_tecnici`.`id` IN('.implode(',', (array) json_decode((string) $_SESSION['superselect']['idtipiintervento'])).')'; } else { $where = '1=1'; } @@ -519,7 +519,7 @@ foreach ($tecnici as $tecnico) { $sessioni = Stats::monthly($sessioni, $start, $end); // Colore tecnico - $background = strtoupper($tecnico['colore']); + $background = strtoupper((string) $tecnico['colore']); if (empty($background) || $background == '#FFFFFF') { // Random color $background = '#'.dechex(random_int(256, 16777215)); @@ -546,7 +546,7 @@ echo '
    '; if ($_SESSION['superselect']['idtipiintervento']) { echo ' - {["type": "select", "multiple": "1", "label": "'.tr('Tipi attività').'", "name": "idtipiintervento[]", "ajax-source": "tipiintervento", "value": "'.implode(',', (array) json_decode($_SESSION['superselect']['idtipiintervento'])).'", "placeholder": "Tutti" ]}'; + {["type": "select", "multiple": "1", "label": "'.tr('Tipi attività').'", "name": "idtipiintervento[]", "ajax-source": "tipiintervento", "value": "'.implode(',', (array) json_decode((string) $_SESSION['superselect']['idtipiintervento'])).'", "placeholder": "Tutti" ]}'; } echo '
    diff --git a/modules/stato_servizi/elenco-moduli.php b/modules/stato_servizi/elenco-moduli.php index 981b38633..0483805db 100644 --- a/modules/stato_servizi/elenco-moduli.php +++ b/modules/stato_servizi/elenco-moduli.php @@ -286,7 +286,7 @@ function renderElencoModuli($elenco, $depth = 0) // COMPATIBILITA' // Controllo per ogni versione se la regexp combacia per dire che è compatibile o meno $compatibile = false; - $versioni_compatibili = explode(',', $record['compatibility']); + $versioni_compatibili = explode(',', (string) $record['compatibility']); foreach ($versioni_compatibili as $versione) { $compatibile = (preg_match('/'.$versione.'/', $versione_gestionale)) ? true : $compatibile; } @@ -330,7 +330,7 @@ function renderElencoModuli($elenco, $depth = 0)
'; // Possibilità di abilitare tutti i sottomoduli - $sotto_moduli_disabilitato = strpos($sotto_moduli, 'fa fa-plug') !== false; + $sotto_moduli_disabilitato = str_contains((string) $sotto_moduli, 'fa fa-plug'); if ($sotto_moduli_disabilitato) { $result .= '
diff --git a/modules/stato_servizi/src/API/v1/FolderSize.php b/modules/stato_servizi/src/API/v1/FolderSize.php index ea98ab4c4..62de30d6a 100755 --- a/modules/stato_servizi/src/API/v1/FolderSize.php +++ b/modules/stato_servizi/src/API/v1/FolderSize.php @@ -38,7 +38,7 @@ class FolderSize extends Resource implements RetrieveInterface base_dir().'/logs' => tr('Logs'), ]; } else { - $array = explode(',', $dirs); + $array = explode(',', (string) $dirs); foreach ($array as $key => $value) { $dirs = [ base_dir().'/'.$value => $key, diff --git a/modules/tecnici_tariffe/edit.php b/modules/tecnici_tariffe/edit.php index 1431eba11..880fb1db2 100755 --- a/modules/tecnici_tariffe/edit.php +++ b/modules/tecnici_tariffe/edit.php @@ -24,7 +24,7 @@ echo ' -
+

'.$record['ragione_sociale'].'

diff --git a/modules/viste/edit.php b/modules/viste/edit.php index d3bc252db..d9af8692b 100755 --- a/modules/viste/edit.php +++ b/modules/viste/edit.php @@ -70,7 +70,7 @@ echo ' if ($options != '' && $options != 'menu' && $options != 'custom') { $module_query = Util\Query::getQuery(Module::find($id_record)); - $beautiful_query = nl2br(htmlentities($module_query)); + $beautiful_query = nl2br(htmlentities((string) $module_query)); $beautiful_query = str_replace(' ', '    ', $beautiful_query); echo ' diff --git a/plugins/exportFE/edit.php b/plugins/exportFE/edit.php index dec76c6b8..2dcec6f85 100755 --- a/plugins/exportFE/edit.php +++ b/plugins/exportFE/edit.php @@ -180,7 +180,7 @@ if ($fattura !== null) { echo ' '.$errore['Codice'].' - '.htmlentities($errore['Descrizione']).' + '.htmlentities((string) $errore['Descrizione']).' '; } diff --git a/plugins/exportFE/init.php b/plugins/exportFE/init.php index 4dca2ff76..724d65ccf 100755 --- a/plugins/exportFE/init.php +++ b/plugins/exportFE/init.php @@ -25,5 +25,5 @@ use Plugins\ExportFE\FatturaElettronica; try { $fattura = Fattura::find($id_record); $fattura_pa = new FatturaElettronica($id_record); -} catch (UnexpectedValueException $e) { +} catch (UnexpectedValueException) { } diff --git a/plugins/exportFE/notifiche.php b/plugins/exportFE/notifiche.php index 0e8eabd86..9b484e3b6 100644 --- a/plugins/exportFE/notifiche.php +++ b/plugins/exportFE/notifiche.php @@ -43,7 +43,7 @@ foreach ($recepits as $nome) { ->first(); // Individuazione codice ricevuta - $filename = explode('.', $nome)[0]; + $filename = explode('.', (string) $nome)[0]; $pieces = explode('_', $filename); $codice_stato = $pieces[2]; diff --git a/plugins/exportFE/src/FatturaElettronica.php b/plugins/exportFE/src/FatturaElettronica.php index deea2be66..bdd590a4a 100755 --- a/plugins/exportFE/src/FatturaElettronica.php +++ b/plugins/exportFE/src/FatturaElettronica.php @@ -36,7 +36,7 @@ use Modules\Pagamenti\Pagamento; * * @since 2.4.2 */ -class FatturaElettronica +class FatturaElettronica implements \Stringable { /** @var Anagrafica Informazioni sull'anagrafica Azienda */ protected static $azienda = []; @@ -78,7 +78,7 @@ class FatturaElettronica } } - public function __toString() + public function __toString(): string { return $this->toXML(); } @@ -754,7 +754,7 @@ class FatturaElettronica // Provincia impostata e SOLO SE nazione ITALIA if (!empty($anagrafica['provincia']) && $anagrafica->nazione->iso2 == 'IT') { - $result['Provincia'] = strtoupper($anagrafica['provincia']); + $result['Provincia'] = strtoupper((string) $anagrafica['provincia']); } if (!empty($anagrafica->nazione->iso2)) { @@ -792,7 +792,7 @@ class FatturaElettronica // IscrizioneREA // Controllo che i codice non sia vuoto e che i primi due caratteri siano lettere - if (!empty($azienda['codicerea']) && (ctype_alpha($azienda['codicerea'][0]) && ctype_alpha($azienda['codicerea'][1]))) { + if (!empty($azienda['codicerea']) && (ctype_alpha((string) $azienda['codicerea'][0]) && ctype_alpha((string) $azienda['codicerea'][1]))) { $codice = explode('-', clean($azienda['codicerea'], '\-')); if (!empty($codice[0]) && !empty($codice[1])) { @@ -901,9 +901,9 @@ class FatturaElettronica protected static function chunkSplit($str, $chunklen) { $res = []; - $k = ceil(strlen($str) / $chunklen); + $k = ceil(strlen((string) $str) / $chunklen); for ($i = 0; $i < $k; ++$i) { - $res[] = substr($str, $i * $chunklen, $chunklen); + $res[] = substr((string) $str, $i * $chunklen, $chunklen); } return $res; @@ -1098,7 +1098,7 @@ class FatturaElettronica * Ripetibile: No */ - $result['CausaleTrasporto'] = safe_truncate(html_entity_decode($causale), 100, null); + $result['CausaleTrasporto'] = safe_truncate(html_entity_decode((string) $causale), 100, null); } if (!empty($documento['n_colli'])) { @@ -1426,9 +1426,9 @@ class FatturaElettronica $descrizione = $riga['descrizione']; // Aggiunta dei riferimenti ai documenti if (setting('Riferimento dei documenti in Fattura Elettronica') == 0) { - $pos = strpos($descrizione, 'Rif.'); + $pos = strpos((string) $descrizione, 'Rif.'); if ($pos !== false) { - $descrizione = substr($descrizione, 0, $pos); + $descrizione = substr((string) $descrizione, 0, $pos); } } @@ -1761,7 +1761,7 @@ class FatturaElettronica $attachments[] = [ 'NomeAttachment' => 'Fattura', 'FormatoAttachment' => 'PDF', - 'Attachment' => base64_encode($info['pdf']), + 'Attachment' => base64_encode((string) $info['pdf']), ]; return $attachments; diff --git a/plugins/exportFE/src/Interaction.php b/plugins/exportFE/src/Interaction.php index 885a6990f..70244dc70 100755 --- a/plugins/exportFE/src/Interaction.php +++ b/plugins/exportFE/src/Interaction.php @@ -64,7 +64,7 @@ class Interaction extends Services 'code' => $body['status'], 'message' => $body['message'], ]; - } catch (\UnexpectedValueException $e) { + } catch (\UnexpectedValueException) { } return [ @@ -88,7 +88,7 @@ class Interaction extends Services 'code' => $body['status'], 'results' => $body['results'], ]; - } catch (\UnexpectedValueException $e) { + } catch (\UnexpectedValueException) { } return [ diff --git a/plugins/exportFE/src/Validator.php b/plugins/exportFE/src/Validator.php index 00c135f69..7eba4e423 100755 --- a/plugins/exportFE/src/Validator.php +++ b/plugins/exportFE/src/Validator.php @@ -541,12 +541,14 @@ class Validator /** @var array Irregolarità nella fattura XML */ protected $errors; - /** @var string XML da validare */ - protected $xml; - - public function __construct($xml) + /** + * @param string $xml + */ + public function __construct( + /** @var string XML da validare */ + protected $xml + ) { - $this->xml = $xml; } /** @@ -628,7 +630,7 @@ class Validator // Formattazione testo elseif ($info['type'] == 'string' || $info['type'] == 'normalizedString') { // Sostituzione tag e contenuti specifici per XML (non sembra essere eseguita) - $output = htmlspecialchars($output, ENT_NOQUOTES | ENT_XML1 | ENT_SUBSTITUTE, 'UTF-8', false); + $output = htmlspecialchars((string) $output, ENT_NOQUOTES | ENT_XML1 | ENT_SUBSTITUTE, 'UTF-8', false); // Gestione dei caratteri non supportati e sostituzione con alternativi // Problemi noti: sostituendo 1 carattere con 2 o più potrebbero verificarsi problemi se, per il testo di quel nodo, si era raggiunta la lunghezza massima prevista dal tracciato @@ -672,7 +674,7 @@ class Validator // Riduzione delle dimensioni if ($info['type'] != 'integer' && isset($size[1])) { - $output = trim($output); + $output = trim((string) $output); $output = S::create($output)->substr(0, $size[1])->__toString(); } @@ -717,7 +719,7 @@ class Validator { $result = ''; $current = ''; - $length = strlen($string); + $length = strlen((string) $string); for ($i = 0; $i < $length; ++$i) { $current = ord($string[$i]); diff --git a/plugins/importFE/actions.php b/plugins/importFE/actions.php index 1b9f28843..60bb35fb6 100755 --- a/plugins/importFE/actions.php +++ b/plugins/importFE/actions.php @@ -75,7 +75,7 @@ switch (filter('op')) { return; } - } catch (Exception $e) { + } catch (Exception) { } // Individuazione ID fisico @@ -318,7 +318,7 @@ switch (filter('op')) { 'numero' => $dato['IdDocumento'], 'anno' => (new Carbon($dato['Data']))->format('Y'), ]; - } catch (Exception $e) { + } catch (Exception) { $dati_ordini[(int) $linea] = [ 'numero' => $dato['IdDocumento'], ]; @@ -337,7 +337,7 @@ switch (filter('op')) { 'numero' => $dato['IdDocumento'], 'anno' => (new Carbon($dato['Data']))->format('Y'), ]; - } catch (Exception $e) { + } catch (Exception) { $dati_ordini[(int) $dato['RiferimentoNumeroLinea']] = [ 'numero' => $dato['IdDocumento'], ]; @@ -362,7 +362,7 @@ switch (filter('op')) { 'numero' => $dato['NumeroDDT'], 'anno' => (new Carbon($dato['DataDDT']))->format('Y'), ]; - } catch (Exception $e) { + } catch (Exception) { $dati_ddt[(int) $linea] = [ 'numero' => $dato['NumeroDDT'], ]; @@ -380,7 +380,7 @@ switch (filter('op')) { 'numero' => $dato['NumeroDDT'], 'anno' => (new Carbon($dato['DataDDT']))->format('Y'), ]; - } catch (Exception $e) { + } catch (Exception) { $dati_ddt[(int) $dato['RiferimentoNumeroLinea']] = [ 'numero' => $dato['NumeroDDT'], ]; @@ -633,7 +633,7 @@ switch (filter('op')) { 'match_documento_da_fe' => $match_documento_da_fe, ], 'riga' => [ - 'tipo' => get_class($riga), + 'tipo' => $riga::class, 'id' => $riga->id, 'descrizione' => $riga->descrizione, 'qta' => $riga->qta, diff --git a/plugins/importFE/generate.php b/plugins/importFE/generate.php index 6186e4500..084cdc74d 100755 --- a/plugins/importFE/generate.php +++ b/plugins/importFE/generate.php @@ -423,7 +423,7 @@ if (!empty($righe)) { $i = 0; foreach ($codici as $codice) { $codici_articoli[] = (($i == 0) ? '' : '').$codice['CodiceValore'].' ('.$codice['CodiceTipo'].')'.(($i == 0) ? '' : ''); - if (str_contains($codice['CodiceTipo'], 'serial') || str_contains($codice['CodiceTipo'], 'Serial')) { + if (str_contains((string) $codice['CodiceTipo'], 'serial') || str_contains((string) $codice['CodiceTipo'], 'Serial')) { $serial[] = $codice['CodiceValore']; } ++$i; @@ -574,7 +574,7 @@ if (!empty($righe)) {
- {["type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli", "select-options": '.json_encode(['permetti_movimento_a_zero' => 1, 'dir' => 'entrata', 'idanagrafica' => $anagrafica ? $anagrafica->id : '']).', "icon-after": "add|'.(new Module())->getByField('title', 'Articoli', Models\Locale::getPredefined()->id).'|codice='.($codice_principale ? urlencode($codice_principale) : '').'&descrizione='.($riga['Descrizione'] ? urlencode($riga['Descrizione']) : '').'&prezzo_acquisto='.($riga['PrezzoUnitario'] ? urlencode($riga['PrezzoUnitario']) : '').'", "value": "'.$id_articolo.'", "label": "'.tr('Articolo').'","extra": "data-id=\''.$key.'\'" ]} + {["type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli", "select-options": '.json_encode(['permetti_movimento_a_zero' => 1, 'dir' => 'entrata', 'idanagrafica' => $anagrafica ? $anagrafica->id : '']).', "icon-after": "add|'.(new Module())->getByField('title', 'Articoli', Models\Locale::getPredefined()->id).'|codice='.($codice_principale ? urlencode((string) $codice_principale) : '').'&descrizione='.($riga['Descrizione'] ? urlencode((string) $riga['Descrizione']) : '').'&prezzo_acquisto='.($riga['PrezzoUnitario'] ? urlencode((string) $riga['PrezzoUnitario']) : '').'", "value": "'.$id_articolo.'", "label": "'.tr('Articolo').'","extra": "data-id=\''.$key.'\'" ]}
diff --git a/plugins/importFE/init.php b/plugins/importFE/init.php index 9b0169c3d..219d054a4 100755 --- a/plugins/importFE/init.php +++ b/plugins/importFE/init.php @@ -31,9 +31,9 @@ if (!empty($id_record)) { try { $fattura_pa = FatturaElettronica::manage($record['name']); $anagrafica = $fattura_pa->findAnagrafica(); - } catch (UnexpectedValueException $e) { + } catch (UnexpectedValueException) { $imported = true; - } catch (Exception $e) { + } catch (Exception) { $error = true; } diff --git a/plugins/importFE/list.php b/plugins/importFE/list.php index ec71aad22..b24115328 100755 --- a/plugins/importFE/list.php +++ b/plugins/importFE/list.php @@ -112,7 +112,7 @@ if (!empty($list)) { echo ' - diff --git a/plugins/importFE/riferimento.php b/plugins/importFE/riferimento.php index 52645c463..79f6124ca 100755 --- a/plugins/importFE/riferimento.php +++ b/plugins/importFE/riferimento.php @@ -62,7 +62,7 @@ foreach ($righe as $riga) { } $dettagli = [ - 'tipo' => get_class($riga), + 'tipo' => $riga::class, 'id' => $riga->id, 'descrizione' => str_replace(' ', '_', $riga->descrizione), 'qta' => $riga->qta, diff --git a/plugins/importFE/src/FatturaElettronica.php b/plugins/importFE/src/FatturaElettronica.php index c232e9ef4..9c5c62fda 100755 --- a/plugins/importFE/src/FatturaElettronica.php +++ b/plugins/importFE/src/FatturaElettronica.php @@ -113,7 +113,7 @@ class FatturaElettronica new static($name); return true; - } catch (\UnexpectedValueException $e) { + } catch (\UnexpectedValueException) { $file = static::getImportDirectory().'/'.$name; delete($file); @@ -130,7 +130,7 @@ class FatturaElettronica if ($tipo == 'TD06') { $manager = new Parcella($name); } - } catch (\UnexpectedValueException $e) { + } catch (\UnexpectedValueException) { $manager = new FatturaSemplificata($name); } @@ -174,14 +174,14 @@ class FatturaElettronica ]; foreach ($allegati as $allegato) { - $content = base64_decode($allegato['Attachment']); + $content = base64_decode((string) $allegato['Attachment']); $extension = '.pdf'; if (!empty($allegato['FormatoAttachment'])) { - $extension = '.'.strtolower($allegato['FormatoAttachment']); + $extension = '.'.strtolower((string) $allegato['FormatoAttachment']); } - if (preg_match('/\./', $allegato['NomeAttachment'])) { + if (preg_match('/\./', (string) $allegato['NomeAttachment'])) { $original = $allegato['NomeAttachment']; } else { $original = $allegato['NomeAttachment'].$extension; @@ -191,7 +191,7 @@ class FatturaElettronica 'name' => $allegato['NomeAttachment'], 'original_name' => $original, ])); - } catch (\UnexpectedValueException $e) { + } catch (\UnexpectedValueException) { } } @@ -355,7 +355,7 @@ class FatturaElettronica $nome = $info_pagamento['IstitutoFinanziario'] ?: 'Banca di '.$anagrafica->ragione_sociale; try { $banca_fornitore = Banca::build($anagrafica, $nome, $info_pagamento['IBAN'], $info_pagamento['BIC'] ?: ''); - } catch (\UnexpectedValueException $e) { + } catch (\UnexpectedValueException) { flash()->error(tr('Errore durante la creazione della banca: verificare la correttezza dei dati').'.'); } } @@ -420,7 +420,7 @@ class FatturaElettronica public static function parseDate($data) { - return date('Y-m-d', strtotime($data)); + return date('Y-m-d', strtotime((string) $data)); } protected function prepareFattura($id_tipo, $data, $data_registrazione, $id_sezionale, $ref_fattura) diff --git a/plugins/importFE/src/FatturaOrdinaria.php b/plugins/importFE/src/FatturaOrdinaria.php index 4276d5a95..beaa557c9 100755 --- a/plugins/importFE/src/FatturaOrdinaria.php +++ b/plugins/importFE/src/FatturaOrdinaria.php @@ -193,7 +193,7 @@ class FatturaOrdinaria extends FatturaElettronica $tot_arr = 0; foreach ($righe as $riga) { - if (strpos($riga['Descrizione'], 'Arrotondamento') !== false) { + if (str_contains((string) $riga['Descrizione'], 'Arrotondamento')) { $tot_arr += $riga['PrezzoUnitario']; } } @@ -501,7 +501,7 @@ class FatturaOrdinaria extends FatturaElettronica $descrizione = $dato['RiferimentoTesto']; $importo = floatval($dato['RiferimentoNumero']); - preg_match('/^(.+?) - (.+?) \((.+?)%\)$/', trim($descrizione), $m); + preg_match('/^(.+?) - (.+?) \((.+?)%\)$/', trim((string) $descrizione), $m); $nome = ucwords(strtolower($m[2])); $percentuale = $m[3]; diff --git a/plugins/listino_fornitori/src/METEL.php b/plugins/listino_fornitori/src/METEL.php index 029578f25..ce01504b4 100644 --- a/plugins/listino_fornitori/src/METEL.php +++ b/plugins/listino_fornitori/src/METEL.php @@ -78,14 +78,14 @@ class METEL $start = $key - 1; if ($fields_number - 1 == $i) { - $end = strlen($string); + $end = strlen((string) $string); } else { $end = $keys[$i + 1] - 1; } $length = $end - $start; - $piece = substr($string, $start, $length); + $piece = substr((string) $string, $start, $length); $results[$fields[$key]] = trim($piece); } diff --git a/plugins/pianificazione_fatturazione/ajax_cadenza.php b/plugins/pianificazione_fatturazione/ajax_cadenza.php index 16ca994e1..6562aa548 100755 --- a/plugins/pianificazione_fatturazione/ajax_cadenza.php +++ b/plugins/pianificazione_fatturazione/ajax_cadenza.php @@ -59,7 +59,7 @@ while ($data_corrente->lessThanOrEqualTo($data_conclusione)) { unset($checked); if ($id_module == (new Module())->getByField('title', 'Contratti', Models\Locale::getPredefined()->id)) { - if ($data == date('Y-m-t', strtotime($timeing, strtotime($data_fatturazione))) || $data_fatturazione == date('Y-m', strtotime($data_corrente))) { + if ($data == date('Y-m-t', strtotime((string) $timeing, strtotime((string) $data_fatturazione))) || $data_fatturazione == date('Y-m', strtotime($data_corrente))) { $checked = 'checked'; $data_fatturazione = date('Y-m', strtotime($data)); } diff --git a/plugins/pianificazione_fatturazione/ajax_rate.php b/plugins/pianificazione_fatturazione/ajax_rate.php index bdbaca8b0..61a318fc9 100644 --- a/plugins/pianificazione_fatturazione/ajax_rate.php +++ b/plugins/pianificazione_fatturazione/ajax_rate.php @@ -81,7 +81,7 @@ switch ($action) { ->whereYear('co_fatturazione_contratti.data_scadenza', $year) ->get(); - $raggruppamenti = $pianificazioni->groupBy(fn ($item) => ucfirst($item->data_scadenza->format('m'))); + $raggruppamenti = $pianificazioni->groupBy(fn ($item) => ucfirst((string) $item->data_scadenza->format('m'))); $ret = []; foreach ($raggruppamenti as $i => $item) { diff --git a/plugins/pianificazione_fatturazione/edit.php b/plugins/pianificazione_fatturazione/edit.php index fd80fa4f4..a59dc1f09 100644 --- a/plugins/pianificazione_fatturazione/edit.php +++ b/plugins/pianificazione_fatturazione/edit.php @@ -67,7 +67,7 @@ if (!$pianificazioni->isEmpty()) { if (!$pianificazione->data_scadenza->equalTo($previous)) { $previous = $pianificazione->data_scadenza; echo ' - '.ucfirst($pianificazione->data_scadenza->isoFormat('MMMM YYYY')).''; + '.ucfirst((string) $pianificazione->data_scadenza->isoFormat('MMMM YYYY')).''; } echo ' diff --git a/plugins/pianificazione_fatturazione/modutil.php b/plugins/pianificazione_fatturazione/modutil.php index 7b1b37cb0..2f690b5fd 100644 --- a/plugins/pianificazione_fatturazione/modutil.php +++ b/plugins/pianificazione_fatturazione/modutil.php @@ -33,7 +33,7 @@ if (!function_exists('variables')) { $result['descrizione'] = str_replace('{periodo}', 'durata dal '.Translator::dateToLocale($inizio).' al '.Translator::dateToLocale($fine), $descrizione); $result['descrizione'] = str_replace('{data_inizio}', Translator::dateToLocale($inizio), $result['descrizione']); $result['descrizione'] = str_replace('{data_fine}', Translator::dateToLocale($fine), $result['descrizione']); - $result['descrizione'] = str_replace('{mese_fatturazione}', $mese[date('m', strtotime($inizio))], $result['descrizione']); + $result['descrizione'] = str_replace('{mese_fatturazione}', $mese[date('m', strtotime((string) $inizio))], $result['descrizione']); $result['descrizione'] = str_replace('{rata_attuale}', $rata, $result['descrizione']); $result['descrizione'] = str_replace('{numero_rate}', $numero_fatture, $result['descrizione']); } diff --git a/plugins/pianificazione_interventi/actions.php b/plugins/pianificazione_interventi/actions.php index 68f740594..4652a2f52 100755 --- a/plugins/pianificazione_interventi/actions.php +++ b/plugins/pianificazione_interventi/actions.php @@ -224,7 +224,7 @@ switch ($operazione) { try { $articolo->qta = $qta; - } catch (UnexpectedValueException $e) { + } catch (UnexpectedValueException) { flash()->error(tr('Alcuni serial number sono già stati utilizzati!')); } @@ -276,7 +276,7 @@ switch ($operazione) { $riga->delete(); flash()->info(tr('Riga rimossa!')); - } catch (InvalidArgumentException $e) { + } catch (InvalidArgumentException) { flash()->error(tr('Alcuni serial number sono già stati utilizzati!')); } } diff --git a/plugins/pianificazione_interventi/edit.php b/plugins/pianificazione_interventi/edit.php index 615ae20d9..1c010a7b0 100755 --- a/plugins/pianificazione_interventi/edit.php +++ b/plugins/pianificazione_interventi/edit.php @@ -142,7 +142,7 @@ if (!$elenco_promemoria->isEmpty()) { '.Translator::dateToLocale($promemoria['data_richiesta']).' '.$promemoria->tipo->getTranslation('title').' - '.nl2br($promemoria['richiesta']).' + '.nl2br((string) $promemoria['richiesta']).' '.$info_intervento.' '.$info_sede.' '.$info_impianti.' diff --git a/plugins/pianificazione_interventi/pianificazione.php b/plugins/pianificazione_interventi/pianificazione.php index 8300a9bb1..3955f8e6c 100755 --- a/plugins/pianificazione_interventi/pianificazione.php +++ b/plugins/pianificazione_interventi/pianificazione.php @@ -38,7 +38,7 @@ $id_anagrafica = $contratto['idanagrafica']; $impianti = $dbo->fetchArray('SELECT `idimpianti` FROM `co_promemoria` WHERE `id` = '.$id_record.' AND `idcontratto` = :id', [ ':id' => $id_parent, ]); -$id_impianti = explode(',', $impianti[0]['idimpianti']); +$id_impianti = explode(',', (string) $impianti[0]['idimpianti']); // solo se ho selezionato un solo impianto nel contratto, altrimenti non so quale sede e tecnico prendere if (count($id_impianti) == 1) { @@ -56,7 +56,7 @@ $tempo_standard = $record['tempo_standard']; $idtipointervento = $record['idtipointervento']; if (!empty($id_sede)) { - $id_impianti = explode(',', trim($record['idimpianti'])); + $id_impianti = explode(',', trim((string) $record['idimpianti'])); } $pianificazione = [ diff --git a/plugins/pianificazione_interventi/row-list.php b/plugins/pianificazione_interventi/row-list.php index 047780c60..20f8f64d9 100755 --- a/plugins/pianificazione_interventi/row-list.php +++ b/plugins/pianificazione_interventi/row-list.php @@ -144,11 +144,11 @@ if (!$righe->isEmpty()) { } echo ' - - '; diff --git a/plugins/presentazioni_bancarie/edit.php b/plugins/presentazioni_bancarie/edit.php index 5cac257e4..3900f6a86 100644 --- a/plugins/presentazioni_bancarie/edit.php +++ b/plugins/presentazioni_bancarie/edit.php @@ -23,7 +23,7 @@ if (!empty($records)) { '.Modules::link('Banche', null, tr('Imposta'), null, null).'
'; } - } catch (Exception $e) { + } catch (Exception) { } } diff --git a/plugins/presentazioni_bancarie/src/Cbi/Records/BaseRecord.php b/plugins/presentazioni_bancarie/src/Cbi/Records/BaseRecord.php index d76d211f4..4269dde3d 100644 --- a/plugins/presentazioni_bancarie/src/Cbi/Records/BaseRecord.php +++ b/plugins/presentazioni_bancarie/src/Cbi/Records/BaseRecord.php @@ -136,7 +136,7 @@ abstract class BaseRecord implements RecordInterface */ protected function padNumber(?string $string, int $length) { - $string = substr($string, 0, $length); + $string = substr((string) $string, 0, $length); return str_pad($string, $length, '0', STR_PAD_LEFT); } diff --git a/plugins/presentazioni_bancarie/src/Gestore.php b/plugins/presentazioni_bancarie/src/Gestore.php index a2e7ea5e8..7128b95db 100644 --- a/plugins/presentazioni_bancarie/src/Gestore.php +++ b/plugins/presentazioni_bancarie/src/Gestore.php @@ -43,20 +43,8 @@ class Gestore protected $totale_debito_diretto = 0; - /** - * @var Anagrafica - */ - private $azienda; - /** - * @var Banca - */ - private $banca_azienda; - - public function __construct(Anagrafica $azienda, Banca $banca_azienda) + public function __construct(private Anagrafica $azienda, private Banca $banca_azienda) { - $this->azienda = $azienda; - $this->banca_azienda = $banca_azienda; - $this->id_riba = random_string(); $this->initRiBa(); @@ -93,7 +81,7 @@ class Gestore $intestazione->nome_supporto = $supporto; $intestazione->citta_creditore = $this::cleanString(mb_strtoupper($this->azienda['cap'].' '.$this->azienda['citta'].' '.$this->azienda['provincia'])); $intestazione->ragione_sociale_creditore = $this::cleanString(mb_strtoupper($this->azienda->ragione_sociale)); - $intestazione->indirizzo_creditore = $this::cleanString(mb_strtoupper($this->azienda['indirizzo'])); + $intestazione->indirizzo_creditore = $this::cleanString(mb_strtoupper((string) $this->azienda['indirizzo'])); $intestazione->partita_iva_o_codice_fiscale_creditore = !empty($this->azienda->partita_iva) ? $this->azienda->partita_iva : $this->azienda->codice_fiscale; $this->riba = new RiBa($intestazione); @@ -124,7 +112,7 @@ class Gestore $intestazione->nome_supporto = $supporto; $intestazione->citta_creditore = mb_strtoupper($this->azienda['cap'].' '.$this->azienda['citta'].' '.$this->azienda['provincia']); $intestazione->ragione_sociale_creditore = mb_strtoupper($this->azienda->ragione_sociale); - $intestazione->indirizzo_creditore = mb_strtoupper($this->azienda['indirizzo']); + $intestazione->indirizzo_creditore = mb_strtoupper((string) $this->azienda['indirizzo']); $intestazione->partita_iva_o_codice_fiscale_creditore = !empty($this->azienda->partita_iva) ? $this->azienda->partita_iva : $this->azienda->codice_fiscale; $intestazione->identificativo_creditore = !empty($this->azienda->partita_iva) ? $this->azienda->partita_iva : $this->azienda->codice_fiscale; $intestazione->descrizione_banca = $descrizione_banca; @@ -244,9 +232,9 @@ class Gestore $ricevuta->nome_debitore = $this::cleanString(mb_strtoupper($ragione_sociale)); $ricevuta->identificativo_debitore = !empty($controparte->partita_iva) ? $controparte->partita_iva : $controparte->codice_fiscale; - $ricevuta->indirizzo_debitore = $this::cleanString(mb_strtoupper($controparte['indirizzo'])); + $ricevuta->indirizzo_debitore = $this::cleanString(mb_strtoupper((string) $controparte['indirizzo'])); $ricevuta->cap_debitore = $controparte['cap']; - $ricevuta->comune_debitore = $this::cleanString(mb_strtoupper($controparte['citta'])); + $ricevuta->comune_debitore = $this::cleanString(mb_strtoupper((string) $controparte['citta'])); $ricevuta->provincia_debitore = $this::cleanString($controparte['provincia']); $ricevuta->descrizione_banca = $this::cleanString($descrizione_banca); $ricevuta->descrizione = $this::cleanString(mb_strtoupper($descrizione)); @@ -307,9 +295,9 @@ class Gestore $ricevuta->nome_debitore = mb_strtoupper($ragione_sociale); $ricevuta->identificativo_debitore = $identificativo_debitore; - $ricevuta->indirizzo_debitore = mb_strtoupper($controparte['indirizzo']); + $ricevuta->indirizzo_debitore = mb_strtoupper((string) $controparte['indirizzo']); $ricevuta->cap_debitore = $controparte['cap']; - $ricevuta->comune_debitore = mb_strtoupper($controparte['citta']); + $ricevuta->comune_debitore = mb_strtoupper((string) $controparte['citta']); $ricevuta->provincia_debitore = $controparte['provincia']; $ricevuta->descrizione_banca = $descrizione_banca; $ricevuta->descrizione = mb_strtoupper($descrizione); @@ -532,7 +520,7 @@ class Gestore // Salvataggio del file file_put_contents(base_dir().'/'.$file, $xml); } - } catch (\Exception $e) { + } catch (\Exception) { } return $files; diff --git a/plugins/receiptFE/edit.php b/plugins/receiptFE/edit.php index a779c6575..e4c76bed5 100755 --- a/plugins/receiptFE/edit.php +++ b/plugins/receiptFE/edit.php @@ -58,7 +58,7 @@ if (!empty($fatture_generate_errore->count())) { // Informazioni aggiuntive per EC02 if (!empty($contenuto_ricevuta['EsitoCommittente'])) { - $descrizione .= ': '.htmlentities($contenuto_ricevuta['EsitoCommittente']['Descrizione']); + $descrizione .= ': '.htmlentities((string) $contenuto_ricevuta['EsitoCommittente']['Descrizione']); } // Informazioni aggiuntive per NS @@ -67,7 +67,7 @@ if (!empty($fatture_generate_errore->count())) { $lista_errori = $lista_errori[0] ? $lista_errori : [$lista_errori]; $errore = $lista_errori[0]['Errore']; - $descrizione .= ': '.$errore['Codice'].' - '.htmlentities($errore['Descrizione']); + $descrizione .= ': '.$errore['Codice'].' - '.htmlentities((string) $errore['Descrizione']); } } diff --git a/plugins/receiptFE/list.php b/plugins/receiptFE/list.php index 610d6e841..d08a97564 100755 --- a/plugins/receiptFE/list.php +++ b/plugins/receiptFE/list.php @@ -65,7 +65,7 @@ if (!empty($list)) { } echo ' - diff --git a/plugins/receiptFE/src/Ricevuta.php b/plugins/receiptFE/src/Ricevuta.php index f87d60aab..3275458ff 100755 --- a/plugins/receiptFE/src/Ricevuta.php +++ b/plugins/receiptFE/src/Ricevuta.php @@ -54,7 +54,7 @@ class Ricevuta $extraction_dir = static::getImportDirectory().'/tmp'; Zip::extract($file, $extraction_dir); - $name = basename($name, '.zip').'.xml'; + $name = basename((string) $name, '.zip').'.xml'; $file = static::getImportDirectory().'/'.$name; copy($extraction_dir.'/'.$name, $file); @@ -65,7 +65,7 @@ class Ricevuta $this->file = $file; $this->xml = XML::readFile($this->file); - $filename = explode('.', $name)[0]; + $filename = explode('.', (string) $name)[0]; $pieces = explode('_', $filename); $progressivo_invio = $pieces[1]; @@ -101,7 +101,7 @@ class Ricevuta $receipt->cleanup(); Interaction::processReceipt($name); - } catch (\UnexpectedValueException $e) { + } catch (\UnexpectedValueException) { } return $fattura; @@ -233,7 +233,7 @@ class Ricevuta } else { $data = $this->xml['DataOraRicezione']; - $fattura->data_stato_fe = $data ? date('Y-m-d H:i:s', strtotime($data)) : ''; + $fattura->data_stato_fe = $data ? date('Y-m-d H:i:s', strtotime((string) $data)) : ''; $fattura->codice_stato_fe = $codice; $fattura->descrizione_ricevuta_fe = $descrizione.(!empty($suggerimento) ? '
'.$suggerimento : ''); $fattura->id_ricevuta_principale = $id_allegato; diff --git a/plugins/statistiche_anagrafiche/info.php b/plugins/statistiche_anagrafiche/info.php index 51af3598f..4d2c2f590 100755 --- a/plugins/statistiche_anagrafiche/info.php +++ b/plugins/statistiche_anagrafiche/info.php @@ -123,7 +123,7 @@ echo '
'.tr('Preventivi').' - '.($preventivi->count() > 0 ? ''.tr('Visualizza').' ' : '').' + '.($preventivi->count() > 0 ? ''.tr('Visualizza').' ' : '').'
'.$preventivi->count().'
@@ -138,7 +138,7 @@ echo '
'.tr('Contratti').' - '.($contratti->count() > 0 ? ''.tr('Visualizza').' ' : '').' + '.($contratti->count() > 0 ? ''.tr('Visualizza').' ' : '').'
'.$contratti->count().'
@@ -153,7 +153,7 @@ echo '
'.tr('Ordini cliente').' - '.($ordini_cliente->count() > 0 ? ''.tr('Visualizza').' ' : '').' + '.($ordini_cliente->count() > 0 ? ''.tr('Visualizza').' ' : '').'
'.$ordini_cliente->count().'
@@ -172,10 +172,10 @@ echo ' '.tr('Attività').''; if ($anagrafica->isTipo('Cliente')) { echo ' - '.($interventi->count() > 0 ? ''.tr('Visualizza').' ' : '').''; + '.($interventi->count() > 0 ? ''.tr('Visualizza').' ' : '').''; } else { echo ' - '.($interventi->count() > 0 ? ''.tr('Visualizza').' ' : '').''; + '.($interventi->count() > 0 ? ''.tr('Visualizza').' ' : '').''; } echo '
@@ -192,7 +192,7 @@ echo '
'.tr('Ddt in uscita').' - '.($ddt_uscita->count() > 0 ? ''.tr('Visualizza').' ' : '').' + '.($ddt_uscita->count() > 0 ? ''.tr('Visualizza').' ' : '').'
'.$ddt_uscita->count().'
@@ -207,7 +207,7 @@ echo '
'.tr('Fatture').' - '.($fatture_vendita->count() + $note_credito->count() > 0 ? ''.tr('Visualizza').' ' : '').' + '.($fatture_vendita->count() + $note_credito->count() > 0 ? ''.tr('Visualizza').' ' : '').'
'.($fatture_vendita->count() + $note_credito->count()).'
@@ -226,10 +226,10 @@ echo ' '.tr('Ore lavorate').''; if ($anagrafica->isTipo('Cliente')) { echo ' - '.($sessioni ? ''.tr('Visualizza').' ' : '').''; + '.($sessioni ? ''.tr('Visualizza').' ' : '').''; } else { echo ' - '.($sessioni ? ''.tr('Visualizza').' ' : '').''; + '.($sessioni ? ''.tr('Visualizza').' ' : '').''; } echo '
diff --git a/plugins/statistiche_articoli/manage_prezzi.php b/plugins/statistiche_articoli/manage_prezzi.php index bd17a5711..0a7a72c7d 100755 --- a/plugins/statistiche_articoli/manage_prezzi.php +++ b/plugins/statistiche_articoli/manage_prezzi.php @@ -34,8 +34,8 @@ $prezzo_medio = $prezzi['media']; $oscillazione = $prezzo_max['prezzo'] - $prezzo_min['prezzo']; $oscillazione_percentuale = $prezzo_medio ? $oscillazione * 100 / $prezzo_medio : 0; -$data_min = $prezzo_min['data'] ? strtotime($prezzo_min['data']) : ''; -$data_max = $prezzo_max['data'] ? strtotime($prezzo_max['data']) : ''; +$data_min = $prezzo_min['data'] ? strtotime((string) $prezzo_min['data']) : ''; +$data_max = $prezzo_max['data'] ? strtotime((string) $prezzo_max['data']) : ''; if ($data_min == $data_max) { $andamento = tr('N.D.'); } elseif ($data_min < $data_max) { diff --git a/src/API/App/AppResource.php b/src/API/App/AppResource.php index e0baf6096..151b370c8 100644 --- a/src/API/App/AppResource.php +++ b/src/API/App/AppResource.php @@ -47,7 +47,7 @@ abstract class AppResource extends Resource implements RetrieveInterface, Create $last_sync_at = $request['last_sync_at'] && $request['last_sync_at'] != 'undefined' ? new Carbon($request['last_sync_at']) : null; // Gestione delle operazioni di cleanup - if (strpos($request['resource'], 'cleanup') !== false) { + if (str_contains((string) $request['resource'], 'cleanup')) { $list = []; if (!empty($last_sync_at)) { $list = $this->getCleanupData($last_sync_at); diff --git a/src/API/App/v1/AllegatiInterventi.php b/src/API/App/v1/AllegatiInterventi.php index b3b56f8d5..de9f987b6 100644 --- a/src/API/App/v1/AllegatiInterventi.php +++ b/src/API/App/v1/AllegatiInterventi.php @@ -92,7 +92,7 @@ class AllegatiInterventi extends AppResource $module = (new Module())->getByField('title', 'Anagrafiche', \Models\Locale::getPredefined()->id); // Creazione del file temporaneo - $content = explode(',', $data['contenuto']); + $content = explode(',', (string) $data['contenuto']); if (count($content) < 1) { throw new InternalError(); } diff --git a/src/API/App/v1/Interventi.php b/src/API/App/v1/Interventi.php index 26ce7e622..e957c4294 100755 --- a/src/API/App/v1/Interventi.php +++ b/src/API/App/v1/Interventi.php @@ -375,7 +375,7 @@ class Interventi extends AppResource // Salvataggio firma $firma_file = 'firma_'.time().'.png'; - $data = explode(',', $firma_base64); + $data = explode(',', (string) $firma_base64); $img = ImageManagerStatic::make(base64_decode($data[1])); $img->resize(680, 202, function ($constraint) { diff --git a/src/API/App/v1/RigheInterventi.php b/src/API/App/v1/RigheInterventi.php index fe52e4e92..13e4083db 100644 --- a/src/API/App/v1/RigheInterventi.php +++ b/src/API/App/v1/RigheInterventi.php @@ -227,7 +227,7 @@ class RigheInterventi extends AppResource try { $record->qta = $data['qta']; - } catch (\UnexpectedValueException $e) { + } catch (\UnexpectedValueException) { throw new InternalError(); } diff --git a/src/API/Common/Stampa.php b/src/API/Common/Stampa.php index 27cb5d6fb..e2f5300b2 100755 --- a/src/API/Common/Stampa.php +++ b/src/API/Common/Stampa.php @@ -33,7 +33,7 @@ class Stampa extends Resource implements RetrieveInterface if (!empty($print)) { $directory = base_dir().'/files/api'; - $string = strpos($request['resource'], 'binary') !== false; + $string = str_contains((string) $request['resource'], 'binary'); $data = \Prints::render($print->id, $request['id_record'], $directory, $string); if (!$string) { @@ -45,7 +45,7 @@ class Stampa extends Resource implements RetrieveInterface } return [ - 'content' => base64_encode($content), + 'content' => base64_encode((string) $content), 'filename' => $data['name'], ]; } diff --git a/src/API/Common/Task.php b/src/API/Common/Task.php index e523ff919..f8b87a2f3 100644 --- a/src/API/Common/Task.php +++ b/src/API/Common/Task.php @@ -96,7 +96,7 @@ class Task extends Resource implements RetrieveInterface, CreateInterface $request .= "Content-Type: application/json\r\n\r\n"; $request .= $postData; - $prefix = substr($endpoint, 0, 8) === 'https://' ? 'tls://' : ''; + $prefix = str_starts_with($endpoint, 'https://') ? 'tls://' : ''; $socket = fsockopen($prefix.$endpointParts['host'], $endpointParts['port']); fwrite($socket, $request); diff --git a/src/API/Manager.php b/src/API/Manager.php index cbf96cd93..34d04847d 100755 --- a/src/API/Manager.php +++ b/src/API/Manager.php @@ -77,7 +77,7 @@ class Manager // Selezione campi personalizzati // Esempio: // display=[id,ragione_sociale,telefono] - $select = !empty($request['display']) ? explode(',', substr($request['display'], 1, -1)) : null; + $select = !empty($request['display']) ? explode(',', substr((string) $request['display'], 1, -1)) : null; // Filtri personalizzati // Esempio: @@ -85,7 +85,7 @@ class Manager $values = isset($request['filter']) ? (array) $request['filter'] : []; foreach ($values as $key => $value) { // Individuazione della tipologia (array o string) - $value = trim($value, '['); + $value = trim((string) $value, '['); $value = trim($value, ']'); $values = explode(',', $value); @@ -118,7 +118,7 @@ class Manager // order=[ragione_sociale]&order=[telefono] $values = isset($request['order']) ? (array) $request['order'] : []; foreach ($values as $value) { - $value = trim($value, '['); + $value = trim((string) $value, '['); $value = trim($value, ']'); $pieces = explode('|', $value); $order = empty($pieces[1]) ? $pieces[0] : [$pieces[0] => $pieces[1]]; @@ -289,7 +289,7 @@ class Manager try { $database->commitTransaction(); - } catch (\PDOException $e) { + } catch (\PDOException) { } // Operazioni di completamento diff --git a/src/API/Response.php b/src/API/Response.php index eb2042fb9..31edc1ebe 100755 --- a/src/API/Response.php +++ b/src/API/Response.php @@ -120,13 +120,13 @@ class Response $manager = new Manager($request['resource'], $type, $version); $response = $manager->manage($request); - } catch (ResourceNotFound $e) { + } catch (ResourceNotFound) { return self::error('notFound'); - } catch (InternalError $e) { + } catch (InternalError) { return self::error('internalError'); - } catch (ServiceError $e) { + } catch (ServiceError) { return self::error('externalError'); - } catch (\Exception $e) { + } catch (\Exception) { return self::error('serverError'); } diff --git a/src/API/Services.php b/src/API/Services.php index db6a64827..117e31525 100755 --- a/src/API/Services.php +++ b/src/API/Services.php @@ -183,7 +183,7 @@ class Services { $body = $response->getBody(); - return json_decode($body, true) ?: []; + return json_decode((string) $body, true) ?: []; } /** diff --git a/src/App.php b/src/App.php index 9f6313e84..ec0fcb405 100755 --- a/src/App.php +++ b/src/App.php @@ -141,9 +141,9 @@ class App { if (!defined('DOCROOT')) { // Individuazione di $rootdir - $rootdir = substr($_SERVER['SCRIPT_NAME'], 0, strrpos($_SERVER['SCRIPT_NAME'], '/')).'/'; - if (strrpos($rootdir, '/'.basename($docroot).'/') !== false) { - $rootdir = substr($rootdir, 0, strrpos($rootdir, '/'.basename($docroot).'/')).'/'.basename($docroot); + $rootdir = substr((string) $_SERVER['SCRIPT_NAME'], 0, strrpos((string) $_SERVER['SCRIPT_NAME'], '/')).'/'; + if (strrpos($rootdir, '/'.basename((string) $docroot).'/') !== false) { + $rootdir = substr($rootdir, 0, strrpos($rootdir, '/'.basename((string) $docroot).'/')).'/'.basename((string) $docroot); } else { $rootdir = '/'; } diff --git a/src/Auth.php b/src/Auth.php index ee6a2e607..018acab27 100755 --- a/src/Auth.php +++ b/src/Auth.php @@ -488,7 +488,7 @@ class Auth extends Util\Singleton $this->user->save(); } } - } catch (PDOException $e) { + } catch (PDOException) { $this->destory(); } } diff --git a/src/Backup.php b/src/Backup.php index 8b4e6e3ed..7393275de 100755 --- a/src/Backup.php +++ b/src/Backup.php @@ -46,7 +46,7 @@ class Backup { $result = App::getConfig()['backup_dir']; - $result = rtrim($result, '/'); + $result = rtrim((string) $result, '/'); if (!directory($result) || !is_writable($result)) { // throw new UnexpectedValueException(); } @@ -98,7 +98,7 @@ class Backup */ public static function readName($string) { - return Generator::read(self::PATTERN, basename($string)); + return Generator::read(self::PATTERN, basename((string) $string)); } /** diff --git a/src/Common/Components/Article.php b/src/Common/Components/Article.php index 73a4324b4..148ea12b2 100755 --- a/src/Common/Components/Article.php +++ b/src/Common/Components/Article.php @@ -327,7 +327,7 @@ abstract class Article extends Accounting } $this->articolo->movimenta($qta_finale, $movimento, $data, false, [ - 'reference_type' => get_class($documento), + 'reference_type' => $documento::class, 'reference_id' => $documento->id, 'idsede' => $id_sede, ]); diff --git a/src/Common/Components/Component.php b/src/Common/Components/Component.php index b6f5877ef..84209a7ac 100644 --- a/src/Common/Components/Component.php +++ b/src/Common/Components/Component.php @@ -77,7 +77,7 @@ abstract class Component extends Model public function referenceSources() { - $class = get_class($this); + $class = static::class; return $this->hasMany(RowReference::class, 'target_id') ->where('target_type', $class); @@ -85,7 +85,7 @@ abstract class Component extends Model public function referenceTargets() { - $class = get_class($this); + $class = static::class; return $this->hasMany(RowReference::class, 'source_id') ->where('source_type', $class); @@ -191,10 +191,10 @@ abstract class Component extends Model public function copiaIn(Document $document, $qta = null, $evadi_qta_parent = true) { // Individuazione classe di destinazione - $class = get_class($document); + $class = $document::class; $namespace = implode('\\', explode('\\', $class, -1)); - $current = get_class($this); + $current = static::class; $pieces = explode('\\', $current); $type = end($pieces); @@ -291,11 +291,11 @@ abstract class Component extends Model // Informazioni del nuovo riferimento if (!empty($riga)) { $this->original_id = $riga->id; - $this->original_type = get_class($riga); + $this->original_type = $riga::class; $documento_origine = $riga->getDocument(); $this->original_document_id = $documento_origine->id; - $this->original_document_type = get_class($documento_origine); + $this->original_document_type = $documento_origine::class; // Aggiunta del riferimento nella descrizione $nuovo_riferimento = self::getDescrizioneRiferimento( @@ -317,7 +317,7 @@ abstract class Component extends Model { $riferimento = $origine->getReference(); - return "\nRif. ".strtolower($riferimento); + return "\nRif. ".strtolower((string) $riferimento); } /** diff --git a/src/Common/Components/Discount.php b/src/Common/Components/Discount.php index f1c3c3ec5..5164dfa24 100755 --- a/src/Common/Components/Discount.php +++ b/src/Common/Components/Discount.php @@ -86,12 +86,12 @@ abstract class Discount extends Accounting } } - public function setPrezzoUnitario($prezzo_unitario, $id_iva) + public function setPrezzoUnitario($prezzo_unitario, $id_iva): never { throw new \InvalidArgumentException(); } - public function setSconto($value, $type) + public function setSconto($value, $type): never { throw new \InvalidArgumentException(); } diff --git a/src/Database.php b/src/Database.php index fe32b2ace..1fb2e7e10 100755 --- a/src/Database.php +++ b/src/Database.php @@ -29,9 +29,6 @@ class Database extends Util\Singleton /** @var Capsule Gestore di connessione Laravel */ protected $capsule; - /** @var string Nome del database */ - protected $database_name; - /** @var bool Stato di connessione del database */ protected $is_connected; /** @var bool Stato di installazione del database */ @@ -54,7 +51,7 @@ class Database extends Util\Singleton * * @return Database */ - protected function __construct($server, $username, $password, $database_name, $charset = null) + protected function __construct($server, $username, $password, protected $database_name, $charset = null) { if (is_array($server)) { $host = $server['host']; @@ -68,16 +65,14 @@ class Database extends Util\Singleton // Possibilità di specificare una porta per il servizio MySQL diversa dalla standard 3306 $port = !empty(App::getConfig()['port']) ? App::getConfig()['port'] : $port; - $this->database_name = $database_name; - - if (!empty($host) && !empty($database_name)) { + if (!empty($host) && !empty($this->database_name)) { try { // Istanziamento di Eloquent $this->capsule = new Capsule(); $this->capsule->addConnection([ 'driver' => 'mysql', 'host' => $host, - 'database' => $database_name, + 'database' => $this->database_name, 'username' => $username, 'password' => $password, 'charset' => 'utf8mb4', @@ -198,7 +193,7 @@ class Database extends Util\Singleton if (empty($this->mysql_version) && $this->isConnected()) { $ver = $this->fetchArray('SELECT VERSION()'); if (!empty($ver[0]['VERSION()'])) { - $this->mysql_version = explode('-', $ver[0]['VERSION()'])[0]; + $this->mysql_version = explode('-', (string) $ver[0]['VERSION()'])[0]; } } @@ -214,7 +209,7 @@ class Database extends Util\Singleton { if ($this->isInstalled()) { $ver = $this->fetchArray('SELECT VERSION()'); - if (preg_match('/MariaDB/', $ver[0]['VERSION()'])) { + if (preg_match('/MariaDB/', (string) $ver[0]['VERSION()'])) { return 'MariaDB'; } else { return 'MySQL'; @@ -232,7 +227,7 @@ class Database extends Util\Singleton public function isMySQL() { $ver = $this->fetchOne('SELECT VERSION()')['VERSION()']; - if (preg_match('/MariaDB/', $ver)) { + if (preg_match('/MariaDB/', (string) $ver)) { return false; } else { return true; @@ -410,7 +405,7 @@ class Database extends Util\Singleton { try { return $this->getPDO()->lastInsertId(); - } catch (PDOException $e) { + } catch (PDOException) { throw new PDOException(tr("Impossibile ottenere l'ultimo identificativo creato")); } } @@ -521,7 +516,7 @@ class Database extends Util\Singleton // Impostazioni di ordinamento if (!empty($order)) { foreach ((array) $order as $key => $value) { - $order = is_numeric($key) ? 'ASC' : strtoupper($value); + $order = is_numeric($key) ? 'ASC' : strtoupper((string) $value); $field = is_numeric($key) ? $value : $key; if ($order == 'ASC') { diff --git a/src/Exporter/CSVExporter.php b/src/Exporter/CSVExporter.php index 6a693b80a..d4e69f487 100644 --- a/src/Exporter/CSVExporter.php +++ b/src/Exporter/CSVExporter.php @@ -84,7 +84,7 @@ abstract class CSVExporter implements ExporterInterface $nome = $field['field']; // Navigazione secondo dot notation - $dot_notation = explode('.', $nome); + $dot_notation = explode('.', (string) $nome); $contenuto = $record; foreach ($dot_notation as $segment) { $contenuto = $contenuto[$segment] ?? null; diff --git a/src/Extensions/EloquentCollector.php b/src/Extensions/EloquentCollector.php index 40e15f755..7f6fb1627 100755 --- a/src/Extensions/EloquentCollector.php +++ b/src/Extensions/EloquentCollector.php @@ -23,12 +23,9 @@ use Illuminate\Database\Capsule\Manager; class EloquentCollector extends \DebugBar\DataCollector\PDO\PDOCollector { - protected $capsule; - - public function __construct($capsule) + public function __construct(protected $capsule) { parent::__construct(); - $this->capsule = $capsule; $this->addConnection($this->getTraceablePdo(), 'Eloquent PDO'); } diff --git a/src/Extensions/MessageHandler.php b/src/Extensions/MessageHandler.php index 347cb805e..8d65e1235 100755 --- a/src/Extensions/MessageHandler.php +++ b/src/Extensions/MessageHandler.php @@ -51,7 +51,7 @@ class MessageHandler extends AbstractProcessingHandler // Messaggio nella sessione try { flash()->error($message); - } catch (\Exception $e) { + } catch (\Exception) { } // Messaggio visivo immediato diff --git a/src/Filter.php b/src/Filter.php index de1e7b9d8..e8eb70735 100755 --- a/src/Filter.php +++ b/src/Filter.php @@ -129,10 +129,8 @@ class Filter /** * Sanitarizza i contenuti dell'input. - * - * @param mixed $input Contenuti */ - public static function sanitize($input) + public static function sanitize(mixed $input) { $output = null; if (is_array($input)) { @@ -148,10 +146,8 @@ class Filter /** * Interpreta e formatta correttamente i contenuti dell'input. - * - * @param mixed $input Contenuti */ - public static function parse($input) + public static function parse(mixed $input) { $output = null; if (is_array($input)) { diff --git a/src/HTMLBuilder/HTMLBuilder.php b/src/HTMLBuilder/HTMLBuilder.php index 260695d62..270ba0875 100755 --- a/src/HTMLBuilder/HTMLBuilder.php +++ b/src/HTMLBuilder/HTMLBuilder.php @@ -117,7 +117,7 @@ class HTMLBuilder public static function replace($html, $depth = 0) { // Gestione dei manager generici - preg_match_all('/'.preg_quote(self::$open['manager']).'(.+?)'.preg_quote(self::$close['manager']).'/is', $html ?: '', $managers); + preg_match_all('/'.preg_quote((string) self::$open['manager']).'(.+?)'.preg_quote((string) self::$close['manager']).'/is', $html ?: '', $managers); foreach ($managers[0] as $value) { $json = self::decode($value, 'manager'); @@ -145,7 +145,7 @@ class HTMLBuilder } // Gestione del formato di input HTML semplificato - preg_match_all('/'.preg_quote(self::$open['handler']).'(.+?)'.preg_quote(self::$close['handler']).'/is', $html ?: '', $handlers); + preg_match_all('/'.preg_quote((string) self::$open['handler']).'(.+?)'.preg_quote((string) self::$close['handler']).'/is', $html ?: '', $handlers); foreach ($handlers[0] as $value) { $json = self::decode($value, 'handler'); @@ -336,7 +336,7 @@ class HTMLBuilder */ public static function decode($string, $type) { - $string = '{'.substr($string, strlen(self::$open[$type]), -strlen(self::$close[$type])).'}'; + $string = '{'.substr($string, strlen((string) self::$open[$type]), -strlen((string) self::$close[$type])).'}'; // Fix per contenuti con newline integrati $string = str_replace(["\n", "\r"], ['\\n', '\\r'], $string); @@ -411,7 +411,7 @@ class HTMLBuilder foreach (self::$specifics as $specific) { if (isset($json[$specific])) { if (!empty($json[$specific])) { - $extras[] = trim($specific); + $extras[] = trim((string) $specific); } unset($json[$specific]); } @@ -420,7 +420,7 @@ class HTMLBuilder // Campo personalizzato "extra" if (isset($json['extra'])) { if (!empty($json['extra'])) { - $extras[] = trim($json['extra']); + $extras[] = trim((string) $json['extra']); } unset($json['extra']); } @@ -440,7 +440,7 @@ class HTMLBuilder $values['class'] = []; $values['class'][] = 'form-control'; if (!empty($json['class'])) { - $classes = explode(' ', $json['class']); + $classes = explode(' ', (string) $json['class']); foreach ($classes as $class) { if (!empty($class)) { $values['class'][] = trim($class); diff --git a/src/HTMLBuilder/Handler/ChoicesHandler.php b/src/HTMLBuilder/Handler/ChoicesHandler.php index 23e6be717..fc0362ffd 100755 --- a/src/HTMLBuilder/Handler/ChoicesHandler.php +++ b/src/HTMLBuilder/Handler/ChoicesHandler.php @@ -70,7 +70,7 @@ class ChoicesHandler implements HandlerInterface // Gestione valori custom if (!empty($values['values'])) { - $valori_custom = explode(',', $values['values']); + $valori_custom = explode(',', (string) $values['values']); $options = ''.str_replace('"', '', $valori_custom[0]).' '.str_replace('"', '', $valori_custom[1]).''; } diff --git a/src/HTMLBuilder/Handler/SelectHandler.php b/src/HTMLBuilder/Handler/SelectHandler.php index dce2471b1..4b9726909 100755 --- a/src/HTMLBuilder/Handler/SelectHandler.php +++ b/src/HTMLBuilder/Handler/SelectHandler.php @@ -41,12 +41,12 @@ class SelectHandler implements HandlerInterface // Individuazione e gestione dei valori tramite array if (in_array('multiple', $extras)) { - $values['value'] = explode(',', $values['value']); + $values['value'] = explode(',', (string) $values['value']); } else { $values['value'] = (array) $values['value']; } - if (count($values['value']) === 1 && strlen($values['value'][0]) === 0) { + if (count($values['value']) === 1 && strlen((string) $values['value'][0]) === 0) { $values['value'] = []; } @@ -91,14 +91,14 @@ class SelectHandler implements HandlerInterface // Gestione del select da query specifica (se il campo "values" è impostato a "query=SQL") elseif (string_starts_with($values['values'], 'query=')) { - $query = substr($values['values'], strlen('query=')); + $query = substr((string) $values['values'], strlen('query=')); $result .= $this->selectQuery($query, $values['value'], $values['link']); } // Gestione del select dal formato JSON parziale (valori singoli) elseif (string_starts_with($values['values'], 'list=')) { - $list = substr($values['values'], strlen('list=')); + $list = substr((string) $values['values'], strlen('list=')); $result .= $this->selectList(json_decode('{'.$list.'}', true), $values, $values['link']); } diff --git a/src/HTMLBuilder/Manager/ButtonManager.php b/src/HTMLBuilder/Manager/ButtonManager.php index d19811e7e..be2e17e78 100755 --- a/src/HTMLBuilder/Manager/ButtonManager.php +++ b/src/HTMLBuilder/Manager/ButtonManager.php @@ -58,7 +58,7 @@ class ButtonManager implements ManagerInterface if (!empty($print)) { $result = [ 'link' => \Prints::getHref($options['id'], $options['id_record'], $options['parameters']), - 'title' => tr('Stampa').' '.((strtoupper($print->getTranslation('title')) == $print->getTranslation('title')) ? $print->getTranslation('title') : lcfirst($print->getTranslation('title'))), + 'title' => tr('Stampa').' '.((strtoupper((string) $print->getTranslation('title')) == $print->getTranslation('title')) ? $print->getTranslation('title') : lcfirst((string) $print->getTranslation('title'))), 'icon' => $print->icon, ]; } @@ -67,7 +67,7 @@ class ButtonManager implements ManagerInterface $result = [ 'link' => base_path().'/mail.php?id_module='.$options['id_module'].'&id_record='.$options['id_record'].'&id='.$options['id'].$options['parameters'], - 'title' => tr('Invia').' '.((strtoupper($template_email->getTranslation('title')) == $template_email->getTranslation('title')) ? $template_email->getTranslation('title') : lcfirst($template_email->getTranslation('title'))), + 'title' => tr('Invia').' '.((strtoupper((string) $template_email->getTranslation('title')) == $template_email->getTranslation('title')) ? $template_email->getTranslation('title') : lcfirst((string) $template_email->getTranslation('title'))), 'icon' => $template_email['icon'], 'type' => 'modal', ]; @@ -76,7 +76,7 @@ class ButtonManager implements ManagerInterface $result = [ 'link' => base_path().'/modules/sms/sms.php?id_module='.$options['id_module'].'&id_record='.$options['id_record'].'&id='.$options['id'].$options['parameters'], - 'title' => tr('Invia').' '.((strtoupper($template_sms['name']) == $template_sms['name']) ? $template_sms['name'] : lcfirst($template_sms['name'])), + 'title' => tr('Invia').' '.((strtoupper((string) $template_sms['name']) == $template_sms['name']) ? $template_sms['name'] : lcfirst((string) $template_sms['name'])), 'icon' => 'fa fa-comment', 'type' => 'modal', ]; @@ -171,7 +171,7 @@ class ButtonManager implements ManagerInterface