permission($radice)) { if (isset($_GET["draw"])) { $return = []; $return["draw"] = (int) $_GET["draw"]; $return["recordsTotal"] = (int) 0; $return["recordsFiltered"] = (int) 0; $bind = []; $select = "SELECT b_guue.codice, b_guue.titolo, b_guue.version, b_guue.numero, b_guue.anno, b_guue.numero_ojs, b_guue.form, b_guue.numero_tecnico, b_guue.form, b_guue.stato, b_guue.data_trasmissione, b_guue.data_pubblicazione, b_guue.data_aggiornamento, b_guue.modulo, b_guue.codice_elemento"; $sql = "FROM b_guue WHERE soft_delete = 'N'"; if (!empty($_GET["modulo"]) && !empty($_GET["codice_elemento"]) && !empty(TedEsender::moduliCollegati()[$_GET["modulo"]])) { $sql .= " AND modulo = :modulo AND codice_elemento = :elemento"; $bind[":modulo"] = $_GET["modulo"]; $bind[":elemento"] = $_GET["codice_elemento"]; } $sql .= " AND b_guue.version = 'eSender' "; if ($_SESSION["utente"]->gerarchia > 10 && (settingsManager::getValue("visibilitaGUUE",$_SESSION["ente"]->codice) == "N")) { $ids = Utente::getPermissionsInModulo($_SESSION["ente"]->codice, $_SESSION["utente"]->codice, "guue"); $ids = implode(",",$ids); $sql = "{$sql} AND b_guue.codice IN ({$ids})"; } if (! $_SESSION["utente"]->fromHere()) { $sql = "{$sql} AND codice_ente = :codice_ente"; $bind[":codice_ente"] = $_SESSION["utente"]->codice_ente; } $risultati = $pdo->go("SELECT codice {$sql}", $bind); if ($risultati->rowCount() > 0) { $sql = "{$select} {$sql}"; $return["recordsTotal"] = (int) $risultati->rowCount(); if (!empty($_GET["search"]["value"])) { $sql = "{$sql} AND ("; $suddivisione = suddivisione_pdo($_GET["search"]["value"], "b_guue.titolo"); $sql = "{$sql} (" . $suddivisione["sql"] . ") OR "; $bind = array_merge($bind,$suddivisione["bind"]); $suddivisione = suddivisione_pdo($_GET["search"]["value"], "b_guue.form"); $sql = "{$sql} (" . $suddivisione["sql"] . ") OR "; $bind = array_merge($bind,$suddivisione["bind"]); $suddivisione = suddivisione_pdo($_GET["search"]["value"], "b_guue.valori"); $sql = "{$sql} (" . $suddivisione["sql"] . ")"; $bind = array_merge($bind,$suddivisione["bind"]); $sql .= ")"; } if (isset($_GET["stato"]) && $_GET["stato"] !== "") { $bind[":status"] = $_GET["stato"]; $sql = "{$sql} AND b_guue.stato = :status "; } $dir = "DESC"; $order = "b_guue.codice {$dir}"; if($_GET["order"][0]["dir"] !== "desc") { $dir = "ASC"; } switch($_GET["order"][0]["column"]) { case "3": $order = "b_guue.codice {$dir}"; break; case "2": $order = "b_guue.form {$dir}"; break; case "1": $order = "b_guue.stato {$dir}"; break; } $sql = "{$sql} ORDER BY {$order}"; $risultatiBeforLimit = $pdo->go($sql,$bind); if ($_GET["length"] !== "-1" && is_numeric($_GET["start"]) && is_numeric($_GET["length"])) { $sql = "{$sql} LIMIT " . (int) $_GET["start"] . ", " . (int) $_GET["length"]; } $risultati = $pdo->go($sql,$bind); $return["data"] = []; if ($risultati->rowCount() > 0) { if (!empty($_GET["search"]["value"])) { $return["recordsFiltered"] = (int)$risultatiBeforLimit->rowCount(); } else { $return["recordsFiltered"] = $return["recordsTotal"]; } $s = TedEsender::getStati(); $stati = array_flip(array_column($s, 'title')); $settings = jsonToArray(__DIR__."/config/settings.json"); $eforms = eFormsManager::listAvailableNoticeForms()["options"]; while($record = $risultati->fetch(PDO::FETCH_ASSOC)) { $stato = $s[$stati[$record["stato"]]]; $stato_str = $record["stato"]; // Temp fix per ANAC if($record["stato"] == "TRASMESSO" && $record["version"] == "eForms") { $stato_str = __guue("Pronto per ANAC"); } else { $stato_str = __guue(ucwords(strtolower($stato_str))); } $tipologia = $eforms[$record["form"]] ?? "n.a."; if($record["version"] == "eSender") { $tipologia = $settings["forms"][$record["form"].".xsd"]["name"] ?? "n.a."; } $row = []; $row[] = "
{$stato_str}
"; $row[] = "({$record["version"]}) {$tipologia}"; $row[] = $record["codice"]; $titolo = $record["titolo"]; if($record["modulo"] && $record["codice_elemento"] && !isset($_GET["modulo"])) { $modulo = $record["modulo"]; $codice_elemento = $record["codice_elemento"]; global $beRoot; if (file_exists("{$beRoot}/{$modulo}/panel.php")) { $infoModulo = Modulo::getInfo($modulo); $modulo_url = "/backend/{$modulo}/panel.php?codice={$codice_elemento}"; $titolo .= " - ({$infoModulo['titolo']})"; } } $row[] = $titolo; $numero = ""; if(! empty($record["numero_ojs"])) { $numero = "{$record["numero_ojs"]}
"; } $numero = "{$numero}{$record["numero_tecnico"]}"; $row[] = $numero; $row[] = mysql2datetime($record["data_aggiornamento"]); $json_downloadable = false; if ($_SESSION["utente"]->isSupportoOrRoot()) { $json_downloadable = true; } $sendable = false; //if($stato["status"] == 10) { $sendable = true; } $editable = false; $viewable = true; // Riattivo l'edit anche per gli eform pronti per anac if($stato["status"] < 20) { $editable = true; } $downloadable = false; if($stato["status"] == 100 || $stato["status"] == 97 ) { $downloadable = true; } $deletable = true; if($stato["status"] >= 20 && ($stato["status"] != 98 || $stato["status"] != 99)) { $deletable = false; } $xmlable = true; if($stato["status"] < 10 || !$_SESSION["utente"]->isSupportoOrRoot()) { $xmlable = false; } $updatable = false; if(($stato["status"] == 20) && ($_SESSION["utente"]->isSupportoOrRoot() || $config["developEnv"])) { $updatable = true; } $pdf = false; $rectify = false; if ($stato["status"] == 100 || ($stato["status"] >= 20 && $record["version"] != "eForms")) { $id_guue = $record["numero_tecnico"]; if (!empty($record["numero_ojs"])) { $anno_guue = explode("/",$record["numero_ojs"]); $anno_guue = $anno_guue[0]; $id_guue = explode("-",$record["numero_ojs"]); $id_guue = end($id_guue); $pdf = true; } $rectify = true; } $importable = $_SESSION["utente"]->isSupportoOrRoot(); if ($record["version"] != "eForms") { $sendable = false; $xmlable = false; $json_downloadable = false; $rectify = false; $importable = false; $downloadable = false; $pdf = false; $viewable = false; // Per le vecchie pubblicazioni abilito la possibilità di scaricare l'avviso if($stato["status"] >= 20) { $downloadable = true; $pdf = true; } } ob_start(); if ($sendable || $editable || $viewable|| $downloadable || $deletable || $xmlable || $updatable || $pdf || $rectify || $importable) { ?>