$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php"; include_once($configPath); if (!empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($radice)) { if (isset($_GET["draw"])) { $return = array(); $return["draw"] = (int)$_GET["draw"]; $return["recordsTotal"] = (int)0; $return["recordsFiltered"] = (int)0; $bind = array(":codice_gestore"=>$_SESSION["ente"]->codice ?? 0); $sql = "SELECT b_guide.codice, b_guide.titolo, b_guide.codice_gestore, b_guide.attivo, b_guide.timestamp, r_visibilita_guide.id_modulo FROM b_guide LEFT JOIN r_visibilita_guide ON b_guide.codice = r_visibilita_guide.codice_guida WHERE (b_guide.codice_gestore = :codice_gestore OR b_guide.codice_gestore = 0) AND soft_delete = 'N' "; $moduli = []; foreach ($_SESSION["utente"]->moduliDisponibili() as $key => $values) { foreach ($values as $key => $value) { $moduli[] = $key; } } array_push($moduli, 'tutti'); $moduli = implode( "', '", $moduli ); if ($_SESSION["utente"]->gerarchia >= 10) { $sql .= " AND attivo = 'S' AND id_modulo IN ('$moduli') "; } else { if (isset($_SESSION["ente"])) { $sql .= " AND (b_guide.codice_gestore = :codice_gestore OR (b_guide.codice_gestore = 0 AND b_guide.attivo = 'S')) AND id_modulo IN ('$moduli') "; } } $risultati = $pdo->go($sql,$bind); if ($risultati->rowCount() > 0) { $return["recordsTotal"] = (int)$risultati->rowCount(); $filterApplied = false; if (!empty($_GET["search"]["value"])) { $filterApplied = true; $sql .= " AND ( "; $suddivisione = suddivisione_pdo($_GET["search"]["value"],"titolo"); $sql .= "(" . $suddivisione["sql"] . ") OR "; $bind = array_merge($bind,$suddivisione["bind"]); $suddivisione = suddivisione_pdo($_GET["search"]["value"],"corpo"); $sql .= "(" . $suddivisione["sql"] . ") "; $bind = array_merge($bind,$suddivisione["bind"]); $sql .= ") "; } $order = "b_guide.codice "; switch($_GET["order"][0]["column"]) { case "1": $order = "b_guide.codice "; break; case "2": $order = "b_guide.titolo "; break; case "3": $order = "b_guide.timestamp "; break; } if ($_GET["order"][0]["dir"] == "desc") { $order.= "DESC "; } else { $order.= "ASC "; } $sql .= "GROUP BY b_guide.codice ORDER BY " . $order . ", b_guide.codice DESC "; $risultatiBeforLimit = $pdo->go($sql,$bind); if ($_GET["length"] !== "-1") { $sql.= "LIMIT ". (int)$_GET["start"] .", " . (int)$_GET["length"]; } $risultati = $pdo->go($sql,$bind); if ($risultati->rowCount() > 0) { if ($filterApplied) { $return["recordsFiltered"] = (int)$risultatiBeforLimit->rowCount(); } else { $return["recordsFiltered"] = $return["recordsTotal"]; } $return["data"] = array(); while($record = $risultati->fetch(PDO::FETCH_ASSOC)) { $row = array(); $row[] = '
'; $row[] = "" . $record["titolo"] . ""; $row[] = "" . mysql2datetime($record["timestamp"]) . ""; $row[] = ""; if ($_SESSION["utente"]->gerarchia <= 10 && ((isset($_SESSION["ente"]) && $record["codice_gestore"] == $_SESSION["ente"]->codice) || !isset($_SESSION["ente"]))) { $row[] = ""; $row[] = ""; $row[] = ""; } else if ($_SESSION["utente"]->gerarchia <= 10) { $row[] = ""; $row[] = ""; $row[] = ""; } $return["data"][] = $row; } } else { $return["data"] = array(); } } else { $return["data"] = array(); } echo json_encode($return); } } ?>