permission($radice)) { if (isset($_GET["draw"])) { $keys = [ "b_operatori_economici.codice", "b_operatori_economici.codice_fiscale_impresa", "b_operatori_economici.partita_iva", "b_operatori_economici.ragione_sociale", "b_operatori_economici.tipo", "GROUP_CONCAT(b_utenti.email SEPARATOR '
') AS emailUtenti", "b_operatori_economici.pec" ]; $whereKeys = [ "b_operatori_economici.codice", "b_operatori_economici.codice_fiscale_impresa", "b_operatori_economici.partita_iva", "b_operatori_economici.ragione_sociale", "b_operatori_economici.tipo", "b_utenti.email", "b_operatori_economici.pec" ]; $return = array(); $return["draw"] = (int)$_GET["draw"]; $return["recordsTotal"] = (int)0; $return["recordsFiltered"] = (int)0; $bind = array(); $sqlCount = "SELECT b_operatori_economici.codice FROM b_operatori_economici "; $sqlAll = "SELECT ".implode(",",$keys).", b_operatori_economici.attivo, b_operatori_economici.timestamp_modifica FROM b_operatori_economici "; $sql = " JOIN r_oe_utenti ON b_operatori_economici.codice = r_oe_utenti.codice_operatore JOIN b_utenti ON r_oe_utenti.codice_utente = b_utenti.codice "; if (isset($_SESSION["ente"])) { $bind[":codice"] = $_SESSION["ente"]->codice; $sql .= "JOIN r_enti_operatori ON b_operatori_economici.codice = r_enti_operatori.codice_operatore WHERE r_enti_operatori.cod_ente = :codice "; } else { $sql .= "WHERE b_operatori_economici.codice > 0 "; } $risultato = $pdo->go($sqlCount . $sql . " GROUP BY b_operatori_economici.codice",$bind); if ($risultato->rowCount() > 0) { $return["recordsTotal"] = (int)$risultato->rowCount(); $filterApplied = false; if (!empty($_GET["search"]["value"])) { $filterApplied = true; $sql .= " AND ( "; foreach($whereKeys AS $key) { $suddivisione = suddivisione_pdo($_GET["search"]["value"],$key); $sql .= "(" . $suddivisione["sql"] . ") OR "; $bind = array_merge($bind,$suddivisione["bind"]); } $sql = substr($sql,0,-4); $sql .= ") "; } $order = "ragione_sociale "; switch($_GET["order"][0]["column"]) { case "1": $order = "b_operatori_economici.codice "; break; case "2": $order = "b_operatori_economici.codice_fiscale_impresa "; break; case "3": $order = "b_operatori_economici.partita_iva "; break; case "4": $order = "b_operatori_economici.ragione_sociale "; break; case "5": $order = "b_operatori_economici.tipo "; break; case "6": $order = "emailUtenti "; break; case "7": $order = "b_operatori_economici.pec "; break; case "8": $order = "b_operatori_economici.timestamp_modifica "; break; } if ($_GET["order"][0]["dir"] == "desc") { $order.= "DESC "; } else { $order.= "ASC "; } $sql .= "GROUP BY b_operatori_economici.codice ORDER BY " . $order . ", b_operatori_economici.ragione_sociale ASC "; $risultatBeforeLimit = $pdo->go($sqlCount.$sql,$bind); if ($_GET["length"] !== "-1") { $sql.= "LIMIT ". (int)$_GET["start"] .", " . (int)$_GET["length"]; } $risultato = $pdo->go($sqlAll.$sql,$bind); if ($risultato->rowCount() > 0) { if ($filterApplied) { $return["recordsFiltered"] = (int)$risultatBeforeLimit->rowCount(); } else { $return["recordsFiltered"] = $return["recordsTotal"]; } $return["data"] = array(); $checkUser = $pdo->prepare("SELECT b_utenti.codice FROM r_oe_utenti JOIN b_utenti ON r_oe_utenti.codice_utente = b_utenti.codice WHERE r_oe_utenti.codice_operatore = :operatore AND b_utenti.attivo = 'S'"); while($record = $risultato->fetch(PDO::FETCH_ASSOC)) { $stato = "bg-disabled"; $stato_label = __('disattivo'); if ($record["attivo"]=="S") { $stato = "bg-active"; $stato_label = __('attivo'); $checkUser->bindValue(":operatore",$record["codice"]); $checkUser->execute(); if (empty($checkUser->rowCount())) { $stato = "bg-warning"; $stato_label = __('Utente non attivo'); } } $row = array(); $row[] = '
'.$stato_label.'
'; $row[] = $record["codice"]; $row[] = $record["codice_fiscale_impresa"]; $row[] = $record["partita_iva"]; $row[] = "{$record["ragione_sociale"]}"; $row[] = ($record["tipo"] == "IMP") ? __("Impresa") : __("Professionista"); $row[] = $record["emailUtenti"]; $row[] = $record["pec"]; $row[] = $record["timestamp_modifica"]; if ($_SESSION["utente"]->gerarchia === 1 || $_SESSION["utente"]->hasSuperPowers()) { $row[] = ""; } $row[] = ""; $row[] = ""; $return["data"][] = $row; } } else { $return["data"] = array(); } } else { $return["error"] = "No record"; } echo json_encode($return); } } ?>