$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
$id_modulo = "contratti.documentale";
if (!empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($id_modulo) && $_SESSION["utente"]->gerarchia <= 10 && !empty($_GET['soggetto'])) {
$return = array();
$return["draw"] = (int)$_GET["draw"];
$return["recordsTotal"] = (int)0;
$return["recordsFiltered"] = (int)0;
$soggetto = $_GET['soggetto'];
$codice_ente = $_SESSION['ente']->codice;
$bind = [
':codice_ente' => $codice_ente,
":soggetto" => $soggetto
];
$sql = "SELECT *
FROM b_ruoli_documentale
WHERE codice_ente = :codice_ente
AND soggetto = :soggetto
AND soft_delete = 'N' ";
$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"],"ruolo");
$sql .= "(" . $suddivisione["sql"] . ") ";
$bind = array_merge($bind,$suddivisione["bind"]);
$sql .= ") ";
}
$order = "b_ruoli_documentale.timestamp ";
switch($_GET["order"][0]["column"]) {
case "0": $order = "b_ruoli_documentale.ruolo"; break;
case "2": $order = "b_ruoli_documentale.timestamp "; break;
}
if ($_GET["order"][0]["dir"] == "desc") {
$order.= "DESC ";
} else {
$order.= "ASC ";
}
$sql .= " ORDER BY " . $order . " ";
$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();
$ruoliAttivi = $pdo->prepare("SELECT codice_ruolo FROM r_contratto_b_soggetto_oe_ruolo GROUP BY codice_ruolo");
$ruoliAttivi->execute();
$ruoliAttivi = $ruoliAttivi->fetchAll(PDO::FETCH_COLUMN);
while ($ruolo = $risultati->fetch(PDO::FETCH_ASSOC)) {
$row = array();
$row[] = " {$ruolo['ruolo']} ";
$row[] = "". ContrattoDocumentale::getSoggetti($ruolo['soggetto']) ."";
$row[] = "" . mysql2datetime($ruolo["timestamp"]) . "";
$row[] = "";
if (in_array($ruolo['codice'], $ruoliAttivi)) {
$row[] = "";
}else{
$row[] = "";
}
$return["data"][] = $row;
}
}else{
$return["data"] = array();
}
}else {
$return["data"] = array();
}
echo json_encode($return);
}
?>