$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
if (isset($_SESSION["utente"]) && isset($_GET["draw"]) && isset($_GET["modulo"]) && isset($_GET["codice_elemento"]) && !empty($_SESSION["utente"]->oe)) {
$return = array();
$return["draw"] = (int)$_GET["draw"];
$return["recordsTotal"] = (int)0;
$return["recordsFiltered"] = (int)0;
$manager = new publicRichiesteOE($_GET["modulo"],$_GET["codice_elemento"],$_GET["sub"] ?? 0);
$filters = [];
$non_scadute = false;
$scadute = false;
if (!empty($_GET["stato"]) && $_GET["stato"] == "attivi") { $non_scadute = true; }
if (!empty($_GET["stato"]) && $_GET["stato"] == "archivio") { $scadute = true; }
if ($non_scadute) { $filters["non_scadute"] = true; }
if ($scadute) { $filters["scadute"] = true; }
$total = $manager->getRichieste("S",$filters);
if (!empty($total)) {
$return["recordsTotal"] = (int)count($total);
$filters = [];
if (!empty($_GET["search"]["value"])) {
$filters["*"] = $_GET["search"]["value"];
}
if ($non_scadute) { $filters["non_scadute"] = true; }
if ($scadute) { $filters["scadute"] = true; }
$order = [];
$orderKey = "data";
switch($_GET["order"][0]["column"]) {
case "3": $orderKey = "titolo"; break;
case "4": $orderKey = "data"; break;
case "5": $orderKey = "scadenza"; break;
case "6": $orderKey = "apertura"; break;
}
if ($_GET["order"][0]["dir"] == "desc") {
$order[$orderKey] = "DESC";
} else {
$order[$orderKey] = "ASC";
}
$risultati = $manager->getRichieste("S",$filters,$order,$_GET["start"],$_GET["length"]);
if (count($risultati) > 0) {
if (!empty($_GET["search"]["value"])) {
$return["recordsFiltered"] = (int)count($risultati);
} else {
$return["recordsFiltered"] = $return["recordsTotal"];
}
$return["data"] = array();
$checkStato = $pdo->prepare("SELECT timestamp_trasmissione FROM r_richieste_oe WHERE codice_richiesta = :richiesta AND codice_operatore = :operatore");
$checkStato->bindValue(":operatore",$_SESSION["utente"]->oe["codice"]);
foreach($risultati AS $record) {
$color = "bg-danger";
$stato = __("Scaduto");
if (strtotime($record["scadenza"]) > time()) {
$color = "bg-warning";
$stato = __("Attivo");
}
$checkStato->bindValue(":richiesta",$record["codice"]);
$checkStato->execute();
if ($checkStato->rowCount() === 1) {
$timestamp = $checkStato->fetch(PDO::FETCH_ASSOC);
if (!empty($timestamp["timestamp_trasmissione"])) {
$color = "bg-success";
$stato = __("Trasmesso") . "
" . mysql2datetime($timestamp["timestamp_trasmissione"]);
}
}
$row = array();
$row[] = '