diff --git a/ajax_search.php b/ajax_search.php
index 9e63bba2d..f6e5a104c 100644
--- a/ajax_search.php
+++ b/ajax_search.php
@@ -21,333 +21,6 @@ if (!isset($term)) {
else {
$i = 0;
- /*
- Interventi
- */
- if (Modules::getPermission('Interventi') != '-') {
- $campi = ['codice', '(SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id)', 'data_richiesta', 'info_sede', 'richiesta', 'descrizione', 'informazioniaggiuntive'];
- $campi_text = ['Codice intervento', 'Data intervento', 'Data richiesta intervento', 'Sede intervento', 'Richiesta', 'Descrizione', 'Informazioni aggiuntive'];
-
- $id_module = Modules::get('Interventi')['id'];
-
- $build_query = '';
-
- for ($c = 0; $c < sizeof($campi); ++$c) {
- $build_query .= ' OR '.$campi[$c].' LIKE "%'.$term.'%"';
- }
-
- $build_query .= Modules::getAdditionalsQuery('Interventi');
-
- $rs = $dbo->fetchArray('SELECT *, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS data FROM in_interventi WHERE idanagrafica IN('.implode(',', $idanagrafiche).') '.$build_query);
-
- if (sizeof($rs) > 0) {
- // Loop record corrispondenti alla ricerca
- for ($r = 0; $r < sizeof($rs); ++$r) {
- $result[$r + $i]['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['id'];
- $result[$r + $i]['title'] = 'Intervento '.$rs[$r]['codice'].' del '.Translator::dateToLocale($rs[$r]['data']);
- $result[$r + $i]['category'] = 'Interventi';
- $result[$r + $i]['labels'] = [];
-
- // Loop campi da evidenziare
- for ($c = 0; $c < sizeof($campi); ++$c) {
- if (preg_match('/'.$term.'/i', $rs[$r][$campi[$c]])) {
- $text = $rs[$r][$campi[$c]];
-
- // Evidenzio la parola cercata nei valori dei campi
- preg_match('/'.$term.'/i', $rs[$r][$campi[$c]], $matches);
-
- for ($m = 0; $m < sizeof($matches); ++$m) {
- $text = str_replace($matches[$m], "".$matches[$m].'', $text);
- }
-
- $result[$r + $i]['labels'][] = $campi_text[$c].': '.$text.'
';
- }
- }
-
- // Aggiunta nome anagrafica come ultimo campo
- if (sizeof($ragioni_sociali) > 1) {
- $result[$r + $i]['labels'][] = 'Anagrafica: '.$ragioni_sociali[$rs[$r]['idanagrafica']].'
';
- }
- }
-
- $i += $r;
- }
- }
-
- /*
- Preventivi
- */
- if (Modules::getPermission('Contabilita') != '-') {
- $campi = ['numero', 'nome', 'descrizione'];
- $campi_text = ['Codice preventivo', 'Nome', 'Descrizione'];
-
- $rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Preventivi'");
- $id_module = $rs[0]['id'];
-
- $build_query = '';
-
- for ($c = 0; $c < sizeof($campi); ++$c) {
- $build_query .= ' OR '.$campi[$c].' LIKE "%'.$term.'%"';
- }
-
- $rs = $dbo->fetchArray('SELECT *, co_preventivi.id AS idpreventivo FROM co_preventivi WHERE idanagrafica IN('.implode(',', $idanagrafiche).') '.$build_query);
-
- if (sizeof($rs) > 0) {
- // Loop record corrispondenti alla ricerca
- for ($r = 0; $r < sizeof($rs); ++$r) {
- $result[$r + $i]['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['idpreventivo'];
- $result[$r + $i]['title'] = 'Preventivo '.$rs[$r]['numero'].(($rs[$r]['data_accettazione'] == '0000-00-00') ? ' del '.Translator::dateToLocale($rs[$r]['data_accettazione']) : '');
- $result[$r + $i]['category'] = 'Preventivi';
- $result[$r + $i]['labels'] = [];
-
- // Loop campi da evidenziare
- for ($c = 0; $c < sizeof($campi); ++$c) {
- if (preg_match('/'.$term.'/i', $rs[$r][$campi[$c]])) {
- $text = $rs[$r][$campi[$c]];
-
- // Evidenzio la parola cercata nei valori dei campi
- preg_match('/'.$term.'/i', $rs[$r][$campi[$c]], $matches);
-
- for ($m = 0; $m < sizeof($matches); ++$m) {
- $text = str_replace($matches[$m], "".$matches[$m].'', $text);
- }
-
- $result[$r + $i]['labels'][] = $campi_text[$c].': '.$text.'
';
- }
- }
-
- // Aggiunta nome anagrafica come ultimo campo
- if (sizeof($ragioni_sociali) > 1) {
- $result[$r + $i]['labels'][] = 'Anagrafica: '.$ragioni_sociali[$rs[$r]['idanagrafica']].'
';
- }
- }
-
- $i += $r;
- }
- }
-
- /*
- Fatture
- */
- if (Modules::getPermission('Contabilita') != '-') {
- $campi = ['numero', 'numero_esterno', 'data', 'note', 'note_aggiuntive', 'buono_ordine'];
- $campi_text = ['Numero', 'Numero secondario', 'Data', 'Note', 'Note aggiuntive', 'Buono d\'ordine'];
-
- $build_query = '';
-
- for ($c = 0; $c < sizeof($campi); ++$c) {
- $build_query .= ' OR '.$campi[$c].' LIKE "%'.$term.'%"';
- }
-
- $rs = $dbo->fetchArray('SELECT *, co_documenti.id AS iddocumento FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE idanagrafica IN('.implode(',', $idanagrafiche).') '.$build_query);
-
- if (sizeof($rs) > 0) {
- // Loop record corrispondenti alla ricerca
- for ($r = 0; $r < sizeof($rs); ++$r) {
- if ($rs[$r]['numero_esterno'] == '') {
- $numero = $rs[$r]['numero'];
- } else {
- $numero = $rs[$r]['numero_esterno'];
- }
-
- // Controllo se si tratta di una fattura di acquisto o di vendita e seleziono il modulo opportuno
- if ($rs[$r]['dir'] == 'uscita') {
- $rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di acquisto'");
- $id_module = $rsm[0]['id'];
- } else {
- $rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di vendita'");
- $id_module = $rsm[0]['id'];
- }
-
- $result[$r + $i]['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['iddocumento'];
- $result[$r + $i]['title'] = $rs[$r]['descrizione'].' num. '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
- $result[$r + $i]['category'] = $rs[$r]['descrizione'];
- $result[$r + $i]['labels'] = [];
-
- // Loop campi da evidenziare
- for ($c = 0; $c < sizeof($campi); ++$c) {
- if (preg_match('/'.$term.'/i', $rs[$r][$campi[$c]])) {
- $text = $rs[$r][$campi[$c]];
-
- // Evidenzio la parola cercata nei valori dei campi
- preg_match('/'.$term.'/i', $rs[$r][$campi[$c]], $matches);
-
- for ($m = 0; $m < sizeof($matches); ++$m) {
- $text = str_replace($matches[$m], "".$matches[$m].'', $text);
- }
-
- $result[$r + $i]['labels'][] = $campi_text[$c].': '.$text.'
';
- }
- }
-
- // Aggiunta nome anagrafica come ultimo campo
- if (sizeof($ragioni_sociali) > 1) {
- $result[$r + $i]['labels'][] = 'Anagrafica: '.$ragioni_sociali[$rs[$r]['idanagrafica']].'
';
- }
- }
-
- $i += $r;
- }
- }
-
- /*
- Righe fatture
- */
- if (Modules::getPermission('Contabilita') != '-') {
- $campi = ['descrizione'];
- $campi_text = ['Riga'];
-
- $build_query = '';
-
- for ($c = 0; $c < sizeof($campi); ++$c) {
- $build_query .= ' OR co_righe_documenti.'.$campi[$c].' LIKE "%'.$term.'%"';
- }
-
- $rs = $dbo->fetchArray('SELECT co_documenti.*, co_documenti.id AS iddocumento, co_tipidocumento.descrizione AS tipodoc, co_tipidocumento.dir, co_righe_documenti.descrizione FROM co_righe_documenti INNER JOIN (co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id) ON co_documenti.id=co_righe_documenti.iddocumento WHERE idanagrafica IN('.implode(',', $idanagrafiche).') '.$build_query);
-
- if (sizeof($rs) > 0) {
- // Loop record corrispondenti alla ricerca
- for ($r = 0; $r < sizeof($rs); ++$r) {
- if ($rs[$r]['numero_esterno'] == '') {
- $numero = $rs[$r]['numero'];
- } else {
- $numero = $rs[$r]['numero_esterno'];
- }
-
- // Controllo se si tratta di una fattura di acquisto o di vendita e seleziono il modulo opportuno
- if ($rs[$r]['dir'] == 'uscita') {
- $rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di acquisto'");
- $id_module = $rsm[0]['id'];
- } else {
- $rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di vendita'");
- $id_module = $rsm[0]['id'];
- }
-
- $result[$r + $i]['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['iddocumento'];
- $result[$r + $i]['title'] = $rs[$r]['tipodoc'].' num. '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
- $result[$r + $i]['category'] = $rs[$r]['tipodoc'];
- $result[$r + $i]['labels'] = [];
-
- // Loop campi da evidenziare
- for ($c = 0; $c < sizeof($campi); ++$c) {
- if (preg_match('/'.$term.'/i', $rs[$r][$campi[$c]])) {
- $text = $rs[$r][$campi[$c]];
-
- // Evidenzio la parola cercata nei valori dei campi
- preg_match('/'.$term.'/i', $rs[$r][$campi[$c]], $matches);
-
- for ($m = 0; $m < sizeof($matches); ++$m) {
- $text = str_replace($matches[$m], "".$matches[$m].'', $text);
- }
-
- $result[$r + $i]['labels'][] = $campi_text[$c].': '.$text.'
';
- }
- }
-
- // Aggiunta nome anagrafica come ultimo campo
- if (sizeof($ragioni_sociali) > 1) {
- $result[$r + $i]['labels'][] = 'Anagrafica: '.$ragioni_sociali[$rs[$r]['idanagrafica']].'
';
- }
- }
-
- $i += $r;
- }
- }
-
- /*
- Articoli
- */
- if (Modules::getPermission('Articoli') != '-') {
- $campi = ['codice', 'descrizione', '(SELECT nome FROM mg_categorie WHERE mg_categorie.id = mg_articoli.id_categoria)', '(SELECT nome FROM mg_categorie WHERE mg_categorie.id = mg_articoli.id_sottocategoria)', 'note'];
- $campi_text = ['Codice', 'Descrizione', 'Categoria', 'Subcategoria', 'Note'];
-
- $rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Articoli'");
- $id_module = $rs[0]['id'];
-
- $build_query = '';
-
- for ($c = 0; $c < sizeof($campi); ++$c) {
- $build_query .= ' OR '.$campi[$c].' LIKE "%'.$term.'%"';
- }
-
- $rs = $dbo->fetchArray('SELECT * FROM mg_articoli WHERE 1=0 '.$build_query);
-
- if (sizeof($rs) > 0) {
- // Loop record corrispondenti alla ricerca
- for ($r = 0; $r < sizeof($rs); ++$r) {
- $result[$r + $i]['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['id'];
- $result[$r + $i]['title'] = $rs[$r]['codice'].' - '.$rs[$r]['descrizione'];
- $result[$r + $i]['category'] = 'Articoli';
- $result[$r + $i]['labels'] = [];
-
- // Loop campi da evidenziare
- for ($c = 0; $c < sizeof($campi); ++$c) {
- if (preg_match('/'.$term.'/i', $rs[$r][$campi[$c]])) {
- $text = $rs[$r][$campi[$c]];
-
- // Evidenzio la parola cercata nei valori dei campi
- preg_match('/'.$term.'/i', $rs[$r][$campi[$c]], $matches);
-
- for ($m = 0; $m < sizeof($matches); ++$m) {
- $text = str_replace($matches[$m], "".$matches[$m].'', $text);
- }
-
- $result[$r + $i]['labels'][] = $campi_text[$c].': '.$text.'
';
- }
- }
- }
-
- $i += $r;
- }
- }
-
- /*
- Automezzi
- */
- if (Modules::getPermission('Automezzi') != '-') {
- $campi = ['nome', 'descrizione', 'targa'];
- $campi_text = ['Nome', 'Descrizione', 'Targa'];
-
- $rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Automezzi'");
- $id_module = $rs[0]['id'];
-
- $build_query = '';
-
- for ($c = 0; $c < sizeof($campi); ++$c) {
- $build_query .= ' OR '.$campi[$c].' LIKE "%'.$term.'%"';
- }
-
- $rs = $dbo->fetchArray('SELECT * FROM dt_automezzi WHERE 1=0 '.$build_query);
-
- if (sizeof($rs) > 0) {
- // Loop record corrispondenti alla ricerca
- for ($r = 0; $r < sizeof($rs); ++$r) {
- $result[$r + $i]['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['id'];
- $result[$r + $i]['title'] = $rs[$r]['nome'];
- $result[$r + $i]['category'] = 'Automezzi';
- $result[$r + $i]['labels'] = [];
-
- // Loop campi da evidenziare
- for ($c = 0; $c < sizeof($campi); ++$c) {
- if (preg_match('/'.$term.'/i', $rs[$r][$campi[$c]])) {
- $text = $rs[$r][$campi[$c]];
-
- // Evidenzio la parola cercata nei valori dei campi
- preg_match('/'.$term.'/i', $rs[$r][$campi[$c]], $matches);
-
- for ($m = 0; $m < sizeof($matches); ++$m) {
- $text = str_replace($matches[$m], "".$matches[$m].'', $text);
- }
-
- $result[$r + $i]['labels'][] = $campi_text[$c].': '.$text.'
';
- }
- }
- }
-
- $i += $r;
- }
- }
-
/*
Ddt
*/
@@ -477,59 +150,5 @@ else {
}
}
- /*
- MyImpianti
- */
- if (Modules::getPermission('MyImpianti') != '-') {
- $campi = ['matricola', 'nome', 'descrizione', 'ubicazione', 'occupante', 'proprietario'];
- $campi_text = ['Matricola', 'Nome', 'Descrizione', 'Ubicazione', 'Occupante', 'Proprietario'];
-
- $rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='MyImpianti'");
- $id_module = $rs[0]['id'];
-
- $build_query = '';
-
- for ($c = 0; $c < sizeof($campi); ++$c) {
- $build_query .= ' OR '.$campi[$c].' LIKE "%'.$term.'%"';
- }
-
- $build_query .= Modules::getAdditionalsQuery('MyImpianti');
-
- $rs = $dbo->fetchArray('SELECT * FROM my_impianti WHERE idanagrafica IN('.implode(',', $idanagrafiche).') '.$build_query);
-
- if (sizeof($rs) > 0) {
- // Loop record corrispondenti alla ricerca
- for ($r = 0; $r < sizeof($rs); ++$r) {
- $result[$r + $i]['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['matricola'];
- $result[$r + $i]['title'] = $rs[$r]['matricola'].' - '.$rs[$r]['nome'];
- $result[$r + $i]['category'] = 'MyImpianti';
- $result[$r + $i]['labels'] = [];
-
- // Loop campi da evidenziare
- for ($c = 0; $c < sizeof($campi); ++$c) {
- if (preg_match('/'.$term.'/i', $rs[$r][$campi[$c]])) {
- $text = $rs[$r][$campi[$c]];
-
- // Evidenzio la parola cercata nei valori dei campi
- preg_match('/'.$term.'/i', $rs[$r][$campi[$c]], $matches);
-
- for ($m = 0; $m < sizeof($matches); ++$m) {
- $text = str_replace($matches[$m], "".$matches[$m].'', $text);
- }
-
- $result[$r + $i]['labels'][] = $campi_text[$c].': '.$text.'
';
- }
- }
-
- // Aggiunta nome anagrafica come ultimo campo
- if (sizeof($ragioni_sociali) > 1) {
- $result[$r + $i]['labels'][] = 'Anagrafica: '.$ragioni_sociali[$rs[$r]['idanagrafica']].'
';
- }
- }
-
- $i += $r;
- }
- }
-
$results = $result;
}
diff --git a/ajax_select.php b/ajax_select.php
index 605390f16..030c55297 100644
--- a/ajax_select.php
+++ b/ajax_select.php
@@ -87,135 +87,6 @@ else {
}
break;
- case 'conti':
- if (Modules::get('Piano dei conti')['permessi'] != '-') {
- $query = 'SELECT * FROM co_pianodeiconti2';
-
- $rs = $dbo->fetchArray($query);
- foreach ($rs as $r) {
- $results[] = ['text' => $r['numero'].' '.$r['descrizione'], 'children' => []];
-
- $subquery = 'SELECT * FROM co_pianodeiconti3 |where|';
-
- $where = [];
- $filter = [];
- $search_fields = [];
-
- foreach ($elements as $element) {
- $filter[] = 'id='.prepare($element);
- }
- if (!empty($filter)) {
- $where[] = '('.implode(' OR ', $filter).')';
- }
-
- $where[] = 'idpianodeiconti2='.prepare($r['id']);
-
- if (!empty($search)) {
- $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
- }
- if (!empty($search_fields)) {
- $where[] = '('.implode(' OR ', $search_fields).')';
- }
-
- $wh = '';
- if (count($where) != 0) {
- $wh = 'WHERE '.implode(' AND ', $where);
- }
- $subquery = str_replace('|where|', $wh, $subquery);
-
- $rs2 = $dbo->fetchArray($subquery);
- foreach ($rs2 as $r2) {
- $results[count($results) - 1]['children'][] = ['id' => $r2['id'], 'text' => $r2['descrizione']];
- }
- }
- }
- break;
-
- case 'conti-vendite':
- if (Modules::get('Piano dei conti')['permessi'] != '-') {
- $query = "SELECT co_pianodeiconti3.id, CONCAT_WS( ' ', co_pianodeiconti3.numero, co_pianodeiconti3.descrizione ) AS descrizione FROM co_pianodeiconti3 INNER JOIN (co_pianodeiconti2 INNER JOIN co_pianodeiconti1 ON co_pianodeiconti2.idpianodeiconti1=co_pianodeiconti1.id) ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where| ORDER BY co_pianodeiconti3.numero ASC";
-
- foreach ($elements as $element) {
- $filter[] = 'co_pianodeiconti3.id='.prepare($element);
- }
-
- $where[] = "co_pianodeiconti1.descrizione='Economico'";
- $where[] = "co_pianodeiconti3.dir='entrata'";
-
- if (!empty($search)) {
- $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
- }
- }
- break;
-
- case 'conti-acquisti':
- if (Modules::get('Piano dei conti')['permessi'] != '-') {
- $query = "SELECT co_pianodeiconti3.id, CONCAT_WS( ' ', co_pianodeiconti3.numero, co_pianodeiconti3.descrizione ) AS descrizione FROM co_pianodeiconti3 INNER JOIN (co_pianodeiconti2 INNER JOIN co_pianodeiconti1 ON co_pianodeiconti2.idpianodeiconti1=co_pianodeiconti1.id) ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where| ORDER BY co_pianodeiconti3.numero ASC";
-
- foreach ($elements as $element) {
- $filter[] = 'co_pianodeiconti3.id='.prepare($element);
- }
-
- $where[] = "co_pianodeiconti1.descrizione='Economico'";
- $where[] = "co_pianodeiconti3.dir='uscita'";
-
- if (!empty($search)) {
- $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
- }
- }
- break;
-
- case 'impianti':
- if (Modules::get('MyImpianti')['permessi'] != '-' && isset($superselect['idanagrafica'])) {
- $query = 'SELECT id, CONCAT(matricola, " - ", nome) AS descrizione FROM my_impianti |where| ORDER BY idsede';
-
- foreach ($elements as $element) {
- $filter[] = 'id='.prepare($element);
- }
-
- $where[] = 'idanagrafica='.prepare($superselect['idanagrafica']);
- $where[] = 'idsede='.prepare($superselect['idsede']);
-
- if (!empty($search)) {
- $search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
- $search_fields[] = 'matricola LIKE '.prepare('%'.$search.'%');
- }
- }
- break;
-
- case 'componenti':
- if (Modules::get('Gestione componenti')['permessi'] != '-' && isset($superselect['marticola'])) {
- $query = 'SELECT id, nome AS descrizione, contenuto FROM my_impianto_componenti |where| ORDER BY id';
-
- foreach ($elements as $element) {
- $filter[] = 'idimpianto='.prepare($element);
- }
-
- $temp = [];
- $impianti = explode(',', $superselect['marticola']);
- foreach ($impianti as $key => $idimpianto) {
- $temp[] = 'idimpianto='.prepare($idimpianto);
- }
- $where[] = '('.implode(' OR ', $temp).')';
-
- if (!empty($search)) {
- $search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
- }
-
- $custom['contenuto'] = 'contenuto';
-
- $results = AJAX::completeResults($query, $where, $filter, $search, $custom);
- foreach ($results as $key => $value) {
- $matricola = \Util\Ini::getValue($r['contenuto'], 'Matricola');
-
- $results[$key]['text'] = (empty($matricola) ? '' : $matricola.' - ').$results[$key]['text'];
-
- unset($results[$key]['content']);
- }
- }
-
- break;
-
case 'categorie':
if (Modules::get('Magazzino')['permessi'] != '-') {
$query = 'SELECT id, nome AS descrizione FROM mg_categorie |where| ORDER BY id';
@@ -248,70 +119,6 @@ else {
}
break;
- case 'preventivi':
- if (Modules::get('Preventivi')['permessi'] != '-' && isset($superselect['idanagrafica'])) {
- $query = 'SELECT co_preventivi.id AS id, an_anagrafiche.idanagrafica, CONCAT(numero, " ", nome) AS descrizione, co_preventivi.idtipointervento, (SELECT descrizione descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento = co_preventivi.idtipointervento) AS idtipointervento_descrizione FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
-
- foreach ($elements as $element) {
- $filter[] = 'id='.prepare($element);
- }
-
- $where[] = 'an_anagrafiche.idanagrafica='.prepare($superselect['idanagrafica']);
- $where[] = "idstato NOT IN (SELECT `id` FROM co_statipreventivi WHERE descrizione='Bozza' OR descrizione='Rifiutato' OR descrizione='Pagato')";
-
- if (!empty($search)) {
- $search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
- }
-
- $custom['idtipointervento'] = 'idtipointervento';
- $custom['idtipointervento_descrizione'] = 'idtipointervento_descrizione';
- }
- break;
-
- case 'preventivi_aperti':
- if (Modules::get('Preventivi')['permessi'] != '-') {
- $query = 'SELECT co_preventivi.id AS id, CONCAT(numero, " ", nome, " (", ragione_sociale, ")") AS descrizione FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
-
- foreach ($elements as $element) {
- $filter[] = 'idpreventivo='.prepare($element);
- }
- $where[] = 'idstato IN (1)';
- if (!empty($search)) {
- $search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
- }
- }
- break;
-
- case 'contratti':
- if (Modules::get('Contratti')['permessi'] != '-') {
- $query = 'SELECT co_contratti.id AS id, CONCAT(numero, " ", nome) AS descrizione FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
-
- foreach ($elements as $element) {
- $filter[] = 'id='.prepare($element);
- }
-
- $where[] = 'an_anagrafiche.idanagrafica='.prepare($superselect['idanagrafica']);
- $where[] = 'idstato IN (SELECT `id` FROM co_staticontratti WHERE pianificabile = 1)';
-
- if (!empty($search)) {
- $search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
- }
- }
- break;
-
- case 'tipiintervento':
- if (Modules::get('Interventi')['permessi'] != '-') {
- $query = 'SELECT idtipointervento AS id, descrizione FROM in_tipiintervento |where| ORDER BY idtipointervento';
-
- foreach ($elements as $element) {
- $filter[] = 'idtipointervento='.prepare($element);
- }
- if (!empty($search)) {
- $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
- }
- }
- break;
-
case 'misure':
if (Modules::get('Magazzino')['permessi'] != '-') {
$query = 'SELECT valore AS id, valore AS descrizione FROM mg_unitamisura |where| ORDER BY valore';
diff --git a/modules/anagrafiche/ajax/search.php b/modules/anagrafiche/ajax/search.php
index 345d2a2cf..c6d3e876f 100644
--- a/modules/anagrafiche/ajax/search.php
+++ b/modules/anagrafiche/ajax/search.php
@@ -38,7 +38,7 @@ if (sizeof($rs) > 0) {
preg_match('/'.$term.'/i', $rs[$r][$campi[$c]], $matches);
for ($m = 0; $m < sizeof($matches); ++$m) {
- $text = str_replace($matches[$m], "".$matches[$m].'', $text);
+ $text = str_replace($matches[$m], "".$matches[$m].'', $r[$name]);
}
$result['labels'][] = $campi_text[$c].': '.$text.'
';
@@ -82,7 +82,7 @@ if (sizeof($rs) > 0) {
preg_match('/'.$term.'/i', $rs[$r][$campi[$c]], $matches);
for ($m = 0; $m < sizeof($matches); ++$m) {
- $text = str_replace($matches[$m], "".$matches[$m].'', $text);
+ $text = str_replace($matches[$m], "".$matches[$m].'', $r[$name]);
}
$result['labels'][] = $campi_text[$c].': '.$text.'
';
diff --git a/modules/articoli/ajax/search.php b/modules/articoli/ajax/search.php
new file mode 100644
index 000000000..d972b29c8
--- /dev/null
+++ b/modules/articoli/ajax/search.php
@@ -0,0 +1,54 @@
+ 'codice',
+ 'Descrizione' => 'descrizione',
+ 'Categoria' => '(SELECT nome FROM mg_categorie WHERE mg_categorie.id = mg_articoli.id_categoria)',
+ 'Subcategoria' => '(SELECT nome FROM mg_categorie WHERE mg_categorie.id = mg_articoli.id_sottocategoria)',
+ 'Note' => 'note',
+];
+
+$query = 'SELECT *';
+
+foreach ($fields as $name => $value) {
+ $query .= ', '.$value." AS '".str_replace("'", "\'", $name)."'";
+}
+
+$query .= ' FROM mg_articoli WHERE 1=0 ';
+
+foreach ($fields as $name => $value) {
+ $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
+}
+
+$query .= Modules::getAdditionalsQuery('Articoli');
+
+$rs = $dbo->fetchArray($query);
+
+foreach ($rs as $r) {
+ $result = [];
+
+ $result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id'];
+ $result['title'] = $r['codice'].' - '.$r['descrizione'];
+ $result['category'] = 'Articoli';
+
+ // Campi da evidenziare
+ $result['labels'] = [];
+ foreach ($fields as $name => $value) {
+ if (str_contains($r[$name], $term)) {
+ $text = str_replace($term, "".$term.'', $r[$name]);
+
+ $result['labels'][] = $name.': '.$text.'
';
+ }
+ }
+
+ // Aggiunta nome anagrafica come ultimo campo
+ if (sizeof($ragioni_sociali) > 1) {
+ $result['labels'][] = 'Anagrafica: '.$ragioni_sociali[$r['idanagrafica']].'
';
+ }
+
+ $results[] = $result;
+}
diff --git a/modules/automezzi/ajax/search.php b/modules/automezzi/ajax/search.php
new file mode 100644
index 000000000..1c66d337c
--- /dev/null
+++ b/modules/automezzi/ajax/search.php
@@ -0,0 +1,47 @@
+ 'nome',
+ 'Descrizione' => 'descrizione',
+ 'Targa' => 'targa',
+];
+
+$query = 'SELECT *';
+
+foreach ($fields as $name => $value) {
+ $query .= ', '.$value." AS '".str_replace("'", "\'", $name)."'";
+}
+
+$query .= ' FROM dt_automezzi WHERE 1=0 ';
+
+foreach ($fields as $name => $value) {
+ $query .= ' OR '.$value.' LIKE "%'.$term.'%"';
+}
+
+$query .= Modules::getAdditionalsQuery('Automezzi');
+
+$rs = $dbo->fetchArray($query);
+
+foreach ($rs as $r) {
+ $result = [];
+
+ $result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id'];
+ $result['title'] = $r['nome'];
+ $result['category'] = 'Automezzi';
+
+ // Campi da evidenziare
+ $result['labels'] = [];
+ foreach ($fields as $name => $value) {
+ if (str_contains($r[$name], $term)) {
+ $text = str_replace($term, "".$term.'', $r[$name]);
+
+ $result['labels'][] = $name.': '.$text.'
';
+ }
+ }
+
+ $results[] = $result;
+}
diff --git a/modules/contratti/actions.php b/modules/contratti/actions.php
index 5c93d3553..781893920 100644
--- a/modules/contratti/actions.php
+++ b/modules/contratti/actions.php
@@ -165,12 +165,12 @@ switch (post('op')) {
$_SESSION['infos'][] = tr('Articolo aggiunto!');
break;
-
+
case 'adddescrizione':
if (!empty($id_record)) {
$descrizione = post('descrizione');
$query = 'INSERT INTO co_righe2_contratti(idcontratto, descrizione, is_descrizione) VALUES('.prepare($id_record).', '.prepare($descrizione).', 1)';
-
+
if ($dbo->query($query)) {
$_SESSION['infos'][] = tr('Riga descrittiva aggiunta!');
}
@@ -179,10 +179,10 @@ switch (post('op')) {
case 'editriga':
$idriga = post('idriga');
-
+
$rs = $dbo->fetchArray("SELECT * FROM co_righe2_contratti WHERE id='".$idriga."'");
$is_descrizione = $rs[0]['is_descrizione'];
-
+
$idarticolo = post('idarticolo');
$descrizione = post('descrizione');
@@ -207,9 +207,9 @@ switch (post('op')) {
$desc_iva = $rs[0]['descrizione'];
// Modifica riga generica sul documento
- if($is_descrizione==0){
+ if ($is_descrizione == 0) {
$query = 'UPDATE co_righe2_contratti SET idarticolo='.prepare($idarticolo).', idiva='.prepare($idiva).', desc_iva='.prepare($desc_iva).', iva='.prepare($iva).', iva_indetraibile='.prepare($iva_indetraibile).', descrizione='.prepare($descrizione).', subtotale='.prepare($subtot).', sconto='.prepare($sconto).', sconto_unitario='.prepare($sconto_unitario).', tipo_sconto='.prepare($tipo_sconto).', um='.prepare($um).', qta='.prepare($qta).' WHERE id='.prepare($idriga);
- }else{
+ } else {
$query = 'UPDATE co_righe2_contratti SET descrizione='.prepare($descrizione).' WHERE id='.prepare($idriga);
}
$dbo->query($query);
diff --git a/modules/contratti/ajax/select.php b/modules/contratti/ajax/select.php
new file mode 100644
index 000000000..6061b46d1
--- /dev/null
+++ b/modules/contratti/ajax/select.php
@@ -0,0 +1,21 @@
+';
- if($r['is_descrizione']==0){
+ if ($r['is_descrizione'] == 0) {
echo
Translator::numberToLocale($r['qta']);
}
@@ -59,7 +59,7 @@ if (!empty($rs_art)) {
// um
echo '