$value) { $superselect[$id] = $value; } // aggiungi per multiple $id_elemtno $search = filter('q'); $module_name = $ajaxsource['module']; $where = array(); $search_query = array(); $result = array(); switch ($op) { case "clienti" : if ($modules_info["Anagrafiche"]["permessi"] != '-') { $query = "SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione, citta, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale"; if (isset($id_elemento)) array_push($where, "an_anagrafiche.idanagrafica=" . prepare($id_elemento)); array_push($where, "descrizione='Cliente'"); array_push($where, "deleted=0"); if (isset($search)) { array_push($search_query, "ragione_sociale LIKE " . prepare("%" . $search . "%")); array_push($search_query, "citta LIKE " . prepare("%" . $search . "%")); array_push($search_query, "provincia LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { $descrizione = $r['descrizione']; if( $r['citta'] != '' ){ $descrizione .= " (".$r['citta'].")"; } array_push($result, array('id' => $r['id'],'text' => $descrizione,'idtipointervento' => $r['idtipointervento_default'])); } } break; case "fornitori" : if ($modules_info["Anagrafiche"]["permessi"] != '-') { $query = "SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione, citta FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale"; if (isset($id_elemento)) array_push($where, "an_anagrafiche.idanagrafica=" . prepare($id_elemento)); array_push($where, "descrizione='Fornitore'"); array_push($where, "deleted=0"); if (isset($search)) { array_push($search_query, "ragione_sociale LIKE " . prepare("%" . $search . "%")); array_push($search_query, "citta LIKE " . prepare("%" . $search . "%")); array_push($search_query, "provincia LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { $descrizione = $r['descrizione']; if( $r['citta'] != '' ){ $descrizione .= " (".$r['citta'].")"; } array_push($result, array('id' => $r['id'],'text' => $descrizione,'idtipointervento' => $r['idtipointervento_default'])); } } break; case "agenti" : if ($modules_info["Anagrafiche"]["permessi"] != '-') { $query = "SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione, citta FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale"; if (isset($id_elemento)) array_push($where, "an_anagrafiche.idanagrafica=" . prepare($id_elemento)); array_push($where, "descrizione='Agente'"); array_push($where, "deleted=0"); if (isset($search)) { array_push($search_query, "ragione_sociale LIKE " . prepare("%" . $search . "%")); array_push($search_query, "citta LIKE " . prepare("%" . $search . "%")); array_push($search_query, "provincia LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); // Evidenzia l'agente di default if ($superselect['idanagrafica']) { $rsa = $dbo->fetchArray("SELECT idagente FROM an_anagrafiche WHERE idanagrafica=" . prepare($superselect['idanagrafica'])); $idagente_default = $rsa[0]['idagente']; } else $idagente_default = 0; $rs = $dbo->fetchArray($query); foreach ($rs as $r) { $bgcolor = ($r['id'] == $idagente_default) ? '#ff0' : ''; $descrizione = $r['descrizione']; if( $r['citta'] != '' ){ $descrizione .= " (".$r['citta'].")"; } array_push($result, array('id' => $r['id'],'text' => $descrizione,'idtipointervento' => $r['idtipointervento_default'],'_bgcolor_' => $bgcolor)); } } break; case "tecnici" : if ($modules_info["Anagrafiche"]["permessi"] != '-') { $query = "SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione, citta FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale"; if (isset($id_elemento)) array_push($where, "an_anagrafiche.idanagrafica=" . prepare($id_elemento)); array_push($where, "descrizione='Tecnico'"); array_push($where, "deleted=0"); if (isset($search)) { array_push($search_query, "ragione_sociale LIKE " . prepare("%" . $search . "%")); array_push($search_query, "citta LIKE " . prepare("%" . $search . "%")); array_push($search_query, "provincia LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { $descrizione = $r['descrizione']; array_push( $result, array('id' => $r['id'],'text' => $descrizione, 'idtipointervento' => $r['idtipointervento_default']) ); } } break; // Nota Bene: nel campo id viene specificato idtipoanagrafica-idanagrafica -> modulo Utenti e permessi, creazione nuovo utente case "anagrafiche" : if ($modules_info["Anagrafiche"]["permessi"] != '-') { $query = "SELECT CONCAT(an_tipianagrafiche.idtipoanagrafica, '-', an_anagrafiche.idanagrafica) AS id, CONCAT_WS('', ragione_sociale, ' (', citta, ' ', provincia, ')') AS descrizione idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale"; if (isset($id_elemento)) array_push($where, "an_anagrafiche.idanagrafica=" . prepare($id_elemento)); array_push($where, "deleted=0"); if (isset($search)) { array_push($search_query, "ragione_sociale LIKE " . prepare("%" . $search . "%")); array_push($search_query, "citta LIKE " . prepare("%" . $search . "%")); array_push($search_query, "provincia LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['descrizione'],'idtipointervento' => $r['idtipointervento_default'])); } } break; case "sedi" : if ($modules_info["Anagrafiche"]["permessi"] != '-' && isset($superselect['idanagrafica'])) { $query = "SELECT id, CONCAT_WS(' - ', nomesede, citta) AS descrizione FROM an_sedi |where| ORDER BY id"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "idanagrafica=" . prepare($superselect['idanagrafica'])); if (isset($search)) { array_push($search_query, "nomesede LIKE " . prepare("%" . $search . "%")); array_push($search_query, "citta LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); array_push($result, array('id' => '0','text' => 'Sede legale')); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['descrizione'])); } } break; case "documenti" : if ($modules_info["Anagrafiche"]["permessi"] != '-' && isset($superselect['idanagrafica'])) { $query = "SELECT id, numero_documento AS descrizione FROM co_documenti |where| ORDER BY id"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "idanagrafica=" . prepare($superselect['idanagrafica'])); array_push($where, "idtipodocumento=" . prepare($superselect['idtipodoc'])); if (isset($search)) { array_push($search_query, "numero_documento LIKE " . prepare("%" . $search . "%")); array_push($search_query, "numero_esterno LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); // array_push($result, array('id' => '0','text' => 'Documento non trovato')); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['descrizione'])); } } break; case "referenti" : if ($modules_info["Anagrafiche"]["permessi"] != '-' && isset($superselect['idanagrafica'])) { $query = "SELECT id, nome AS descrizione FROM an_referenti |where| ORDER BY id"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "idanagrafica=" . prepare($superselect['idanagrafica'])); if (isset($search)) { array_push($search_query, "nome LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['descrizione'])); } } break; case "articoli_filtro" : $len=strlen($search); if ($len >= get_var("Numero caratteri prima di inizio ricerca articolo")) { $query = "SELECT * FROM mg_articoli |where| ORDER BY id_categoria ASC, id_sottocategoria ASC"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "attivo=1"); $filtro_cat=$_SESSION['filtro_categoria']; if ($filtro_cat <> '0') { array_push($where, "id_categoria ='".$filtro_cat."'"); } $filtro_fornitore=$_SESSION['filtro_fornitore']; if ($filtro_fornitore <> '0') { array_push($where, "idfornitore ='".$filtro_fornitore."'"); } if (isset($search)) { array_push($search_query, "descrizione LIKE " . prepare("%" . $search . "%")); array_push($search_query, "codice LIKE " . prepare("%" . $search . "%")); array_push($search_query, "pro_barcode LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $prev = - 1; $rs = $dbo->fetchArray($query); foreach ($rs as $r) { if ($prev != $r['id_categoria']) { $prev = $r['id_categoria']; array_push($result, array('text' => $dbo->fetchArray("SELECT `nome` FROM `mg_categorie` WHERE `id`=". prepare($r['id_categoria']))[0]["nome"], 'children' => array())); } array_push($result[count($result) - 1]['children'], array('id_conto' => $r['id_conto'],'id' => $r['id'],'text' => $r['pro_barcode'] . " - " . $r['codice'] . " - " . $r['descrizione'], 'um' => $r['um'], 'idiva' => number_format( $r['id_ivavendita'], $settings['Cifre decimali'], ",", "" ), 'prezzo_acquisto' => number_format( $r['prezzo_acquisto'], $settings['Cifre decimali'], ",", "" ), 'prezzo_vendita' => number_format( $r['prezzo_vendita'], $settings['Cifre decimali'], ",", "" ))); } } break; case "articoli_filtro_servizi" : $len=strlen($search); if ($len >= get_var("Numero caratteri prima di inizio ricerca articolo")) { $query = "SELECT * FROM mg_articoli |where| ORDER BY id_categoria ASC, id_sottocategoria ASC"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "attivo=1"); array_push($where, "servizio=1"); $filtro_cat=$_SESSION['filtro_categoria']; if ($filtro_cat <> '0') { array_push($where, "id_categoria ='".$filtro_cat."'"); } $filtro_fornitore=$_SESSION['filtro_fornitore']; if ($filtro_fornitore <> '0') { array_push($where, "idfornitore ='".$filtro_fornitore."'"); } if (isset($search)) { array_push($search_query, "descrizione LIKE " . prepare("%" . $search . "%")); array_push($search_query, "codice LIKE " . prepare("%" . $search . "%")); array_push($search_query, "pro_barcode LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $prev = - 1; $rs = $dbo->fetchArray($query); foreach ($rs as $r) { if ($prev != $r['id_categoria']) { $prev = $r['id_categoria']; array_push($result, array('text' => $dbo->fetchArray("SELECT `nome` FROM `mg_categorie` WHERE `id`=". prepare($r['id_categoria']))[0]["nome"], 'children' => array())); } array_push($result[count($result) - 1]['children'], array('id_conto' => $r['id_conto'],'id' => $r['id'],'text' => $r['pro_barcode'] . " - " . $r['codice'] . " - " . $r['descrizione'], 'um' => $r['um'], 'idiva' => number_format( $r['id_ivavendita'], $settings['Cifre decimali'], ",", "" ), 'prezzo_acquisto' => number_format( $r['prezzo_acquisto'], $settings['Cifre decimali'], ",", "" ), 'prezzo_vendita' => number_format( $r['prezzo_vendita'], $settings['Cifre decimali'], ",", "" ))); } } break; case "articoli_filtro_kit" : $len=strlen($search); if ($len >= get_var("Numero caratteri prima di inizio ricerca articolo")) { $query = "SELECT * FROM mg_articoli |where| ORDER BY id_categoria ASC, id_sottocategoria ASC"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "attivo=1 and pro_kit=1"); $filtro_cat=$_SESSION['filtro_categoria']; if ($filtro_cat <> '0') { array_push($where, "id_categoria ='".$filtro_cat."'"); } $filtro_fornitore=$_SESSION['filtro_fornitore']; if ($filtro_fornitore <> '0') { array_push($where, "idfornitore ='".$filtro_fornitore."'"); } if (isset($search)) { array_push($search_query, "descrizione LIKE " . prepare("%" . $search . "%")); array_push($search_query, "codice LIKE " . prepare("%" . $search . "%")); array_push($search_query, "pro_barcode LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $prev = - 1; $rs = $dbo->fetchArray($query); foreach ($rs as $r) { if ($prev != $r['id_categoria']) { $prev = $r['id_categoria']; array_push($result, array('text' => $dbo->fetchArray("SELECT `nome` FROM `mg_categorie` WHERE `id`=". prepare($r['id_categoria']))[0]["nome"], 'children' => array())); } array_push($result[count($result) - 1]['children'], array('id_conto' => $r['id_conto'],'id' => $r['id'],'text' => $r['pro_barcode'] . " - " . $r['codice'] . " - " . $r['descrizione'], 'um' => $r['um'], 'idiva' => number_format( $r['id_ivavendita'], $settings['Cifre decimali'], ",", "" ), 'prezzo_acquisto' => number_format( $r['prezzo_acquisto'], $settings['Cifre decimali'], ",", "" ), 'prezzo_vendita' => number_format( $r['prezzo_vendita'], $settings['Cifre decimali'], ",", "" ))); } } break; case "articoli" : $query = "SELECT * FROM mg_articoli |where| ORDER BY id_categoria ASC, id_sottocategoria ASC"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "attivo=1"); if (isset($search)) { array_push($search_query, "descrizione LIKE " . prepare("%" . $search . "%")); array_push($search_query, "codice LIKE " . prepare("%" . $search . "%")); array_push($search_query, "pro_barcode LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $prev = - 1; $rs = $dbo->fetchArray($query); foreach ($rs as $r) { if ($prev != $r['id_sottocategoria']) { $prev = $r['id_sottocategoria']; array_push($result, array('text' => $dbo->fetchArray("SELECT `nome` FROM `mg_categorie` WHERE `id`=". prepare($r['id_categoria']))[0]["nome"], 'children' => array())); } array_push($result[count($result) - 1]['children'], array('id' => $r['id'],'text' => $r['pro_barcode'] . " - " . $r['codice'] . " - " . $r['descrizione'], 'um' => $r['um'], 'prezzo_acquisto' => number_format( $r['prezzo_acquisto'], $settings['Cifre decimali'], ",", "" ), 'prezzo_vendita' => number_format( $r['prezzo_vendita'], $settings['Cifre decimali'], ",", "" ))); } break; case "conti" : if ($modules_info["Piano dei conti"]["permessi"] != '-') { $query = "SELECT * FROM co_pianodeiconti2"; $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('text' => $r['numero'] . " " . $r['descrizione'],'children' => array())); $where = array(); $search_query = array(); $subquery = "SELECT * FROM co_pianodeiconti3 |where|"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "idpianodeiconti2=" . prepare($r['id'])); if (isset($search)) { array_push($search_query, "descrizione LIKE " . prepare("%" . $search . "%")); } if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); $wh = ""; if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $subquery = str_replace("|where|", $wh, $subquery); $rs2 = $dbo->fetchArray($subquery); foreach ($rs2 as $r2) { array_push($result[count($result) - 1]['children'], array('id' => $r2['id'],'text' => $r2['descrizione'])); } } } break; case "conti-vendite" : if ($modules_info["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"; if (isset($id_elemento)) array_push($where, "co_pianodeiconti3.id=" . prepare($id_elemento)); array_push($where, "co_pianodeiconti1.descrizione='Economico'"); array_push($where, "co_pianodeiconti3.dir='entrata'"); if (isset($search)) { array_push($search_query, "descrizione LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['descrizione'])); } } break; case "conti-acquisti" : if ($modules_info["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"; if (isset($id_elemento)) array_push($where, "co_pianodeiconti3.id=" . prepare($id_elemento)); array_push($where, "co_pianodeiconti1.descrizione='Economico'"); array_push($where, "co_pianodeiconti3.dir='entrata'"); if (isset($search)) { array_push($search_query, "descrizione LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['descrizione'])); } } break; case "impianti" : if ($modules_info["MyImpianti"]["permessi"] != '-' && isset($superselect['idanagrafica'])) { $query = "SELECT *, (SELECT nomesede FROM an_sedi WHERE id=my_impianti.idsede) AS nomesede FROM my_impianti |where| ORDER BY idsede"; if (isset($id_elemento)) array_push($where, "idsede=" . prepare($id_elemento)); array_push($where, "idanagrafica=" . prepare($superselect['idanagrafica'])); array_push($where, "idsede=" . prepare($superselect['idsede'])); if (isset($search)) { array_push($search_query, "nome LIKE " . prepare("%" . $search . "%")); array_push($search_query, "matricola LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['matricola'] . " - " . $r['nome'] . " " . $r['marca'] . " " . $r['modello'])); } } break; case "componenti" : if ($modules_info["Gestione componenti"]["permessi"] != '-' && isset($superselect['marticola'])) { $query = "SELECT * FROM my_impianto_componenti |where| ORDER BY id"; if (isset($id_elemento)) array_push($where, "idimpianto=" . prepare($id_elemento)); $temp = array(); $impianti = explode(",", $superselect['marticola']); foreach ($impianti as $key => $idimpianto) { array_push($temp, "idimpianto=" . prepare($idimpianto)); } array_push($where, "(" . implode(" OR ", $temp) . ")"); if (isset($search)) { array_push($search_query, "nome LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { $nome = ""; if (strpos($r['contenuto'], "[Matricola]") !== false) { $ini_array = parse_ini_string(read($r['contenuto']), true); foreach ($ini_array as $sezione => $array_impostazioni) { if ($sezione == 'Matricola') $nome .= $ini_array[$sezione]['valore'] . " - "; } } $nome .= $r["nome"]; array_push($result, array('id' => $r['id'],'text' => $nome)); } } break; case "categorie" : if ($modules_info["Magazzino"]["permessi"] != '-') { $query = "SELECT id, nome FROM mg_categorie |where| ORDER BY id"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "`parent`=0"); if (isset($search)) { array_push($search_query, "nome LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['nome'])); } } break; case "sottocategorie" : if ($modules_info["Magazzino"]["permessi"] != '-' && isset($superselect['id_categoria'])) { $query = "SELECT id, nome FROM mg_categorie |where| ORDER BY id"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "`parent`=".prepare($superselect['id_categoria'])); if (isset($search)) { array_push($search_query, "nome LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['nome'])); } } break; case "preventivi" : if ($modules_info["Preventivi"]["permessi"] != '-' && isset($superselect['idanagrafica'])) { $query = "SELECT co_preventivi.id AS idpreventivo, an_anagrafiche.idanagrafica, numero, nome, idtipointervento FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "an_anagrafiche.idanagrafica=" . prepare($superselect['idanagrafica'])); array_push($where, "idstato NOT IN (SELECT `id` FROM co_statipreventivi WHERE descrizione='Bozza' OR descrizione='Rifiutato' OR descrizione='Pagato')"); if (isset($search)) { array_push($search_query, "nome LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['idpreventivo'],'text' => $r['numero'] . " " . $r['nome'])); } } break; case "preventivi_aperti" : if ($modules_info["Preventivi"]["permessi"] != '-') { $query = "SELECT co_preventivi.id AS idpreventivo, an_anagrafiche.idanagrafica, numero, nome, idtipointervento, ragione_sociale FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY idpreventivo"; if (isset($id_elemento)) array_push($where, "idpreventivo=" . prepare($id_elemento)); array_push($where, "idstato IN (1)"); if (isset($search)) { array_push($search_query, "nome LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['idpreventivo'],'text' => $r['numero'] . " " . $r['nome'] . " (" . $r['ragione_sociale'] . ")")); } } break; case "contratti" : if ($modules_info["Contratti"]["permessi"] != '-') { $query = "SELECT co_contratti.id AS idcontratto, an_anagrafiche.idanagrafica, numero, nome FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id"; if (isset($id_elemento)) array_push($where, "id=" . prepare($id_elemento)); array_push($where, "an_anagrafiche.idanagrafica=" . prepare($superselect['idanagrafica'])); array_push($where, "idstato NOT IN (SELECT `id` FROM co_staticontratti WHERE descrizione='Bozza' OR descrizione='Rifiutato' OR descrizione='Pagato')"); if (isset($search)) { array_push($search_query, "nome LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['idcontratto'],'text' => $r['numero'] . " " . $r['nome'])); } } break; case "tipiintervento" : if ($modules_info["Interventi"]["permessi"] != '-') { $query = "SELECT idtipointervento AS id, descrizione FROM in_tipiintervento |where| ORDER BY idtipointervento"; if (isset($id_elemento)) array_push($where, "idtipointervento=" . prepare($id_elemento)); if (isset($search)) { array_push($search_query, "descrizione LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['descrizione'])); } } break; case "misure" : if ($modules_info["Magazzino"]["permessi"] != '-') { $query = "SELECT valore AS id, valore AS descrizione FROM mg_unitamisura |where| ORDER BY valore"; if (isset($id_elemento)) array_push($where, "valore=" . prepare($id_elemento) . ""); if (isset($search)) { array_push($search_query, "valore LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['id'],'text' => $r['descrizione'])); } } break; case "prodotti_lotti" : if ($modules_info["Magazzino"]["permessi"] != '-') { $query = "SELECT DISTINCT lotto AS valore FROM mg_prodotti |where|"; array_push( $where, "idarticolo=".prepare($superselect['idarticolo']) ); if (isset($id_elemento)) array_push($where, "lotto=" . prepare($id_elemento) . ""); if (isset($search)) { array_push($search_query, "lotto LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['valore'],'text' => $r['valore'])); } } break; case "prodotti_serial" : if ($modules_info["Magazzino"]["permessi"] != '-') { $query = "SELECT DISTINCT serial AS valore FROM mg_prodotti |where|"; array_push( $where, "idarticolo=".prepare($superselect['idarticolo']) ); array_push( $where, "lotto=".prepare($superselect['lotto']) ); if (isset($id_elemento)) array_push($where, "serial=" . prepare($id_elemento) . ""); if (isset($search)) { array_push($search_query, "serial LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['valore'],'text' => $r['valore'])); } } break; case "prodotti_altro" : if ($modules_info["Magazzino"]["permessi"] != '-') { $query = "SELECT DISTINCT altro AS valore FROM mg_prodotti |where|"; array_push( $where, "idarticolo=".prepare($superselect['idarticolo']) ); array_push( $where, "lotto=".prepare($superselect['lotto']) ); array_push( $where, "serial=".prepare($superselect['serial']) ); if (isset($id_elemento)) array_push($where, "altro=" . prepare($id_elemento) . ""); if (isset($search)) { array_push($search_query, "altro LIKE " . prepare("%" . $search . "%")); } $wh = ""; if (count($search_query) != 0) array_push($where, "(" . implode(" OR ", $search_query) . ")"); if (count($where) != 0) { $wh = "WHERE " . implode(" AND ", $where); } $query = str_replace("|where|", $wh, $query); $rs = $dbo->fetchArray($query); foreach ($rs as $r) { array_push($result, array('id' => $r['valore'],'text' => $r['valore'])); } } break; } echo json_encode($result); ?>