Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
135 righe
4.6 KiB
135 righe
4.6 KiB
<? |
|
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php"; |
|
include_once($configPath); |
|
|
|
if (!empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($radice) && $_SESSION["utente"]->permission("mercato")) { |
|
if (isset($_GET["draw"])) { |
|
|
|
$return = array(); |
|
$return["draw"] = (int)$_GET["draw"]; |
|
$return["recordsTotal"] = (int)0; |
|
$return["recordsFiltered"] = (int)0; |
|
$campi = array("codice","idVenditore","idProduttore","idStandard","brand","paeseOrigine","prezzo","prezzo","disponibilita","codice_cliente","codice_settore"); |
|
|
|
$codici_oe = Market::getOeInMercato(); |
|
|
|
if(!empty($codici_oe)){ |
|
|
|
$codici_oe = implode(',',purifyInput($codici_oe)); |
|
|
|
$bind = []; |
|
|
|
$sql = "SELECT b_prodotti.* |
|
FROM b_prodotti |
|
WHERE codice_oe IN ($codici_oe) |
|
AND b_prodotti.soft_delete = 'N' |
|
AND b_prodotti.attivo = 'S' |
|
AND b_prodotti.confermato = 'S' |
|
AND b_prodotti.codice NOT IN ( |
|
SELECT codice_aggiornamento |
|
FROM b_prodotti |
|
WHERE confermato='S' |
|
AND codice_aggiornamento IS NOT NULL |
|
)"; |
|
|
|
|
|
|
|
// gestione dei filtri |
|
$cpv = []; |
|
if (!empty($_GET["cpv"])) { |
|
$cpv = explode(",",base64_decode($_GET["cpv"])); |
|
} |
|
|
|
if (count($cpv) > 0) { |
|
$cpv = array_unique($cpv); |
|
$where_pos = strpos($sql,"WHERE") - 1; |
|
$rel = " JOIN r_cpv_prodotti ON b_prodotti.codice = r_cpv_prodotti.codice_prodotto "; |
|
|
|
$sql = substr_replace($sql, $rel, $where_pos,0); |
|
|
|
$sql .= " AND ("; |
|
$n_cat = 0; |
|
foreach($cpv as $codice) { |
|
$n_cat++; |
|
if ($codice != "") { |
|
$bind[":cat_".$n_cat] = $codice; |
|
$sql .= "(r_cpv_prodotti.cpv = :cat_".$n_cat ." "; |
|
if (strlen($codice)>2) { |
|
$diff = strlen($codice) - 2; |
|
$n_sub_cat = 0; |
|
for($i=1;$i<=$diff;$i++) { |
|
$n_sub_cat++; |
|
$bind[":cat_".$n_cat."_".$n_sub_cat] = substr($codice,0,$i*-1); |
|
$sql .= "OR r_cpv_prodotti.cpv = :cat_".$n_cat."_".$n_sub_cat . " "; |
|
} |
|
} |
|
$sql.=") OR "; |
|
} |
|
} |
|
$sql = substr($sql,0,-4); |
|
$sql .= ")"; |
|
} |
|
|
|
if (!empty($_GET["advanced"])) { |
|
foreach($_GET["advanced"] as $campo => $valore) { |
|
if (in_array($campo, $campi)!==false) { |
|
if (strpos($campo,"prezzo")===false) { |
|
$sql .= "AND ( "; |
|
$suddivisione = suddivisione_pdo($valore,$campo,$campo); |
|
$sql .= "(" . $suddivisione["sql"] . ") "; |
|
$bind = array_merge($bind,$suddivisione["bind"]); |
|
$sql .= ") "; |
|
} |
|
} |
|
} |
|
} |
|
|
|
if (!empty($_GET["advanced"]["prezzo-min"])) { |
|
$sql .= " AND (b_prodotti.prezzo >= :prezzo_min) "; |
|
$bind[":prezzo_min"] = $_GET["advanced"]["prezzo-min"]; |
|
} |
|
if (!empty($_GET["advanced"]["prezzo-max"])) { |
|
$sql .= " AND (b_prodotti.prezzo <= :prezzo_max) "; |
|
$bind[":prezzo_max"] = $_GET["advanced"]["prezzo-max"]; |
|
} |
|
|
|
|
|
$risultati = $pdo->go($sql,$bind); |
|
|
|
if ($risultati->rowCount() > 0) { |
|
|
|
if (!empty($_GET["search"]["value"])) { |
|
$return["recordsFiltered"] = (int)$risultati->rowCount(); |
|
} else { |
|
$return["recordsFiltered"] = $return["recordsTotal"]; |
|
} |
|
|
|
$return["data"] = array(); |
|
|
|
while($record = $risultati->fetch(PDO::FETCH_ASSOC)) { |
|
|
|
$oe = oeManager::getOE($record['codice_oe']); |
|
|
|
$row = array(); |
|
$row[] = $record["idVenditore"]; |
|
$row[] = "<strong><a href='/backend/marketplace/show.php?codice={$record["codice"]}&codice_oe={$oe['codice']}' title='".__("visualizza")."'>" . $record["denominazione"] . "</a></strong>"; |
|
$row[] = $record["brand"]; |
|
$row[] = "<a href=\"#\" onClick=\"showCompany(".$oe["codice"].");\">". $oe["ragione_sociale"] ."</a>"; |
|
$row[] = number_format($record["prezzo"],2,",","."); |
|
$row[] = "<a href='/backend/marketplace/show.php?codice={$record["codice"]}&codice_oe={$oe['codice']}' title='".__("visualizza")."' class='btn btn-info btn-sm'><span class='fa fa-search'></span></a>"; |
|
$return["data"][] = $row; |
|
} |
|
|
|
}else{ |
|
$return["data"] = []; |
|
} |
|
|
|
}else{ |
|
$return["data"] = []; |
|
} |
|
|
|
echo json_encode($return); |
|
|
|
} |
|
} |
|
?>
|