. */ include_once __DIR__.'/../../core.php'; switch (filter('op')) { case 'update': $descrizione = filter('descrizione'); $vettore = post('esterno'); $predefined = post('predefined'); if (empty($dbo->fetchArray('SELECT * FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione`.`id`=`dt_spedizione_lang`.`id_record` AND `dt_spedizione_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione).' AND `dt_spedizione`.`id`!='.prepare($id_record)))) { if (!empty($predefined)) { $dbo->query('UPDATE `dt_spedizione` SET `predefined` = 0'); } $dbo->update('dt_spedizione', [ 'predefined' => $predefined, 'esterno' => $vettore, ], ['id' => $id_record]); $dbo->update('dt_spedizione_lang', [ 'name' => $descrizione, ], ['id_record' => $id_record, 'id_lang' => Models\Locale::getDefault()->id]); flash()->info(tr('Salvataggio completato!')); } else { flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [ '_TYPE_' => 'spedizione', ])); } break; case 'add': $descrizione = filter('descrizione'); if ($dbo->fetchNum('SELECT * FROM `dt_spedizione_lang` WHERE `name`='.prepare($descrizione)) == 0) { $dbo->insert('dt_spedizione', [ 'predefined' => 0, ]); $id_record = $dbo->lastInsertedID(); $dbo->insert('dt_spedizione_lang', [ 'id_record' => $id_record, 'id_lang' => Models\Locale::getDefault()->id, 'name' => $descrizione, ]); flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [ '_TYPE_' => 'spedizione', ])); } else { flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [ '_TYPE_' => 'spedizione', ])); } break; case 'delete': $documenti = $dbo->fetchNum('SELECT `id` FROM `dt_ddt` WHERE `idspedizione`='.prepare($id_record).' UNION SELECT `id` FROM `co_documenti` WHERE `idspedizione`='.prepare($id_record)); if ((!empty($id_record)) && empty($documenti)) { $dbo->query('DELETE FROM `dt_spedizione` WHERE `id`='.prepare($id_record)); flash()->info(tr('Tipologia di _TYPE_ eliminata con successo!', [ '_TYPE_' => 'spedizione', ])); } else { flash()->error(tr('Sono presenti dei documenti collegati a questo porto.')); } break; }