diff --git a/modules/aggiornamenti/upload_modules.php b/modules/aggiornamenti/upload_modules.php index c4c2c362b..fa4773572 100755 --- a/modules/aggiornamenti/upload_modules.php +++ b/modules/aggiornamenti/upload_modules.php @@ -79,8 +79,6 @@ if (file_exists($extraction_dir.'/VERSION')) { // Eventuale registrazione nel database if (empty($installed)) { $dbo->insert($table, array_merge($insert, [ - 'name' => $info['name'], - 'title' => !empty($info['title']) ? $info['title'] : $info['name'], 'directory' => $info['directory'], 'options' => $info['options'], 'version' => $info['version'], @@ -89,6 +87,13 @@ if (file_exists($extraction_dir.'/VERSION')) { 'default' => 0, 'enabled' => 1, ])); + $id_record = $dbo->lastInsertedID(); + $dbo->insert($table.'_lang', array_merge($insert, [ + 'name' => $info['name'], + 'title' => !empty($info['title']) ? $info['title'] : $info['name'], + 'id_record' => $id_record, + 'id_lang' => setting('Lingua'), + ])); flash()->error(tr('Installazione completata!')); } else { @@ -140,8 +145,6 @@ if (file_exists($extraction_dir.'/VERSION')) { // Eventuale registrazione nel database if (empty($installed)) { $dbo->insert($table, array_merge($insert, [ - 'name' => $info['name'], - 'title' => !empty($info['title']) ? $info['title'] : $info['name'], 'directory' => $info['directory'], 'options' => $info['options'], 'version' => $info['version'], @@ -150,7 +153,13 @@ if (file_exists($extraction_dir.'/VERSION')) { 'default' => 0, 'enabled' => 1, ])); - + $id_record = $dbo->lastInsertedID(); + $dbo->insert($table.'_lang', array_merge($insert, [ + 'name' => $info['name'], + 'title' => !empty($info['title']) ? $info['title'] : $info['name'], + 'id_record' => $id_record, + 'id_lang' => setting('Lingua'), + ])); flash()->error(tr('Installazione completata!')); } else { flash()->error(tr('Aggiornamento completato!')); diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index ed5dac92d..7b873ada8 100755 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -21,6 +21,7 @@ use Carbon\Carbon; use Modules\Anagrafiche\Anagrafica; use Modules\Banche\Banca; use Models\Module; +use Models\Plugin; include_once __DIR__.'/../../core.php'; @@ -31,18 +32,24 @@ $is_agente = in_array($id_agente, $tipi_anagrafica); $is_azienda = in_array($id_azienda, $tipi_anagrafica); if (!$is_cliente && !$is_fornitore && !$is_azienda && $is_tecnico) { - $ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name`='Sedi' OR `name`='Referenti' OR `name`='Dichiarazioni d\'intento'"); + $ignore = Plugin::where('id', '=', (new Plugin())->getByName('Sedi')->id_record) + ->orWhere('id', '=', (new Plugin())->getByName('Referenti')->id_record) + ->orWhere('id', '=', (new Plugin())->getByName('Dichiarazioni d\'intento')->id_record) + ->get(); foreach ($ignore as $plugin) { echo ' '; } } if (!$is_cliente) { - $ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name` IN ('Impianti del cliente','Contratti del cliente','Ddt del cliente')"); + $ignore = Plugin::where('id', '=', (new Plugin())->getByName('Impianti del cliente')->id_record) + ->orWhere('id', '=', (new Plugin())->getByName('Contratti del cliente')->id_record) + ->orWhere('id', '=', (new Plugin())->getByName('Ddt del cliente')->id_record) + ->get(); foreach ($ignore as $plugin) { echo ' diff --git a/modules/anagrafiche/init.php b/modules/anagrafiche/init.php index fa90d97cc..fe978e3f4 100755 --- a/modules/anagrafiche/init.php +++ b/modules/anagrafiche/init.php @@ -20,20 +20,30 @@ include_once __DIR__.'/../../core.php'; use Modules\Anagrafiche\Anagrafica; +use Modules\Anagrafiche\Tipo; + +$rs = Tipo::get(); -$rs = $dbo->fetchArray('SELECT `an_tipianagrafiche`.`id`, `name` descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche_lang`.`id_record` = `an_tipianagrafiche`.`id` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(setting('Lingua')).')'); foreach ($rs as $riga) { - ${'id_'.strtolower($riga['descrizione'])} = $riga['id']; + ${'id_'.strtolower($riga->name)} = $riga->id; } if (isset($id_record)) { $anagrafica = Anagrafica::withTrashed()->find($id_record); - $record = $dbo->fetchOne('SELECT *, - (SELECT GROUP_CONCAT(`an_tipianagrafiche`.`id`) FROM `an_tipianagrafiche` INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`id`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` WHERE `idanagrafica`=`an_anagrafiche`.`idanagrafica`) AS idtipianagrafica, - (SELECT GROUP_CONCAT(`idagente`) FROM `an_anagrafiche_agenti` WHERE `idanagrafica`=`an_anagrafiche`.`idanagrafica`) AS idagenti, - (SELECT GROUP_CONCAT(`name`) FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id`=`an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang`='.prepare(setting('Lingua')).') INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`id`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` WHERE `idanagrafica`=`an_anagrafiche`.`idanagrafica`) AS tipianagrafica - FROM `an_anagrafiche` WHERE `idanagrafica`='.prepare($id_record)); + $record = $dbo->fetchOne('SELECT + *, + GROUP_CONCAT(`an_tipianagrafiche`.`id`) AS idtipianagrafica, + GROUP_CONCAT(`an_anagrafiche_agenti`.`idagente`) AS idagenti, + GROUP_CONCAT(`an_tipianagrafiche_lang`.`name`) AS tipianagrafica + FROM + `an_anagrafiche` + INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` + INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche`.`id`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` + LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id`=`an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang`='.prepare(setting('Lingua')).') + LEFT JOIN `an_anagrafiche_agenti` ON `an_anagrafiche`.`idanagrafica`=`an_anagrafiche_agenti`.`idanagrafica` + WHERE + `an_anagrafiche`.`idanagrafica`='.prepare($id_record)); // Cast per latitudine e longitudine if (!empty($record)) { @@ -41,6 +51,6 @@ if (isset($id_record)) { $record['lng'] = floatval($record['lng']); } - $tipi_anagrafica = $dbo->fetchArray('SELECT `an_tipianagrafiche`.`id` FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id`=`an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang`='.prepare(setting('Lingua')).') INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`id`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` WHERE `idanagrafica`='.prepare($id_record)); + $tipi_anagrafica = $anagrafica->tipi->toArray(); $tipi_anagrafica = array_column($tipi_anagrafica, 'id'); } diff --git a/src/Settings.php b/src/Settings.php index 4b83381bd..b13bdaa18 100755 --- a/src/Settings.php +++ b/src/Settings.php @@ -103,7 +103,7 @@ class Settings */ public static function setValue($setting, $value) { - $setting = Setting::find($setting); + $setting = Setting::where('id', '=', $setting)->orWhere('nome', '=', $setting)->first(); $value = (is_array($value) ? implode(',', $value) : $value); // Trasformazioni