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.
97 righe
4.6 KiB
97 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)) { |
|
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_documentale.codice, b_documentale.titolo, b_documentale.codice_gestore, |
|
b_documentale.attivo, |
|
b_documentale.timestamp |
|
FROM b_documentale |
|
WHERE b_documentale.soft_delete = 'N' AND (b_documentale.codice_gestore = :codice_gestore OR b_documentale.codice_gestore = 0) "; |
|
if ($_SESSION["utente"]->gerarchia > 10) { |
|
$sql .= " AND attivo = 'S' "; |
|
} else { |
|
if (isset($_SESSION["ente"])) { |
|
$sql .= " AND (b_documentale.codice_gestore = :codice_gestore OR (b_documentale.codice_gestore = 0 AND b_documentale.attivo = 'S')) "; |
|
} |
|
} |
|
$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_documentale.codice "; |
|
switch($_GET["order"][0]["column"]) { |
|
case "1": $order = "b_documentale.codice "; break; |
|
case "2": $order = "b_documentale.titolo "; break; |
|
case "3": $order = "b_documentale.timestamp "; break; |
|
} |
|
if ($_GET["order"][0]["dir"] == "desc") { |
|
$order.= "DESC "; |
|
} else { |
|
$order.= "ASC "; |
|
} |
|
|
|
$sql .= "GROUP BY b_documentale.codice ORDER BY " . $order . ", b_documentale.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[] = '<div id="flag_'.$record["codice"].'" class="status_flag '.(($record["attivo"] == "S") ? "bg-active": "bg-disabled").'"></div>'; |
|
$row[] = "<strong><a href='/backend/documentale/dettaglio.php?codice=".$record["codice"]."' title='".__("visualizza")."'>" . $record["titolo"] . "</a></strong>"; |
|
$row[] = mysql2datetime($record["timestamp"]); |
|
$row[] = "<a href='/backend/documentale/dettaglio.php?codice=".$record["codice"]."' title='".__("visualizza")."' class='btn btn-info btn-sm'><span class='fa fa-search'></span></a>"; |
|
if ($_SESSION["utente"]->gerarchia <= 10 && !$_SESSION["utente"]->readOnly && ((isset($_SESSION["ente"]) && $record["codice_gestore"] == $_SESSION["ente"]->codice) || !isset($_SESSION["ente"]))) { |
|
$row[] = "<a href='/backend/documentale/edit.php?codice=".$record["codice"]."' title='".__("modifica")."' class='btn btn-primary btn-sm'><span class='fa fa-edit'></span></a>"; |
|
$row[] = "<button onclick='disabilita({$record["codice"]},\"documentale\")' title='".__("Attiva/Disattiva")."' class='btn btn-warning btn-sm'><span class='fa fa-sync'></span></button>"; |
|
$row[] = "<button onclick='elimina({$record["codice"]},\"documentale\")' title='".__("elimina")."' class='btn btn-danger btn-sm'><span class='fa fa-times'></span></button>"; |
|
} else if ($_SESSION["utente"]->gerarchia <= 10) { |
|
$row[] = ""; |
|
$row[] = ""; |
|
$row[] = ""; |
|
} |
|
$return["data"][] = $row; |
|
} |
|
} else { |
|
$return["data"] = array(); |
|
} |
|
} else { |
|
$return["data"] = array(); |
|
} |
|
|
|
echo json_encode($return); |
|
} |
|
} |
|
?>
|
|
|