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.
88 righe
3.7 KiB
88 righe
3.7 KiB
<?php |
|
$configPath = substr(__DIR__, 0, strpos(__DIR__, "/public_html")) . "/config.php"; |
|
include_once($configPath); |
|
if (!empty($_SESSION["utente"]) && isset($_GET["codice"]) && ($_SESSION["utente"]->permission($radice))) { |
|
$bind = array(); |
|
$codice = purify($_GET["codice"]); |
|
$bind[":codice"] = $codice; |
|
|
|
$compare_sql = "SELECT b_utenti.codice |
|
FROM b_utenti |
|
JOIN r_collaborazioni ON b_utenti.codice = r_collaborazioni.codice_utente |
|
JOIN r_permessi_collaborazioni ON r_collaborazioni.codice = r_permessi_collaborazioni.cod_relazione |
|
WHERE r_collaborazioni.monitoraggio = 'N' AND r_permessi_collaborazioni.id_modulo = :codice AND r_collaborazioni.attivo = 'S'"; |
|
|
|
$compare_binds = [ ":codice" => $_GET["codice"]]; |
|
|
|
$already_assigned_users = $pdo->go($compare_sql, $compare_binds)->fetchAll(PDO::FETCH_COLUMN, 0); |
|
|
|
$str_ids = [":0"]; |
|
$bind[":0"] = "0"; |
|
foreach ($already_assigned_users as $id) { |
|
$bind[":{$id}"] = $id; |
|
$str_ids[] = ":{$id}"; |
|
} |
|
$str_ids = implode(",", $str_ids); |
|
|
|
$sql = "SELECT r_permessi_collaborazioni.codice AS codiceP, b_utenti.cognome, b_utenti.nome, b_utenti.codice AS codice_user, |
|
r_collaborazioni.codice_ente, r_collaborazioni.gruppo, r_permessi_collaborazioni.timestamp, |
|
r_collaborazioni.codice as codice_collaborazione |
|
FROM b_utenti |
|
JOIN r_collaborazioni ON b_utenti.codice = r_collaborazioni.codice_utente |
|
LEFT JOIN r_permessi_collaborazioni ON r_collaborazioni.codice = r_permessi_collaborazioni.cod_relazione |
|
WHERE r_collaborazioni.monitoraggio = 'N' AND b_utenti.codice NOT IN ({$str_ids})"; |
|
|
|
$bind[":gerarchia"] = $_SESSION["utente"]->gerarchia; |
|
|
|
if (!empty($_SESSION["ente"])) { |
|
$bind[":codice_ente"] = $_SESSION["ente"]->codice; |
|
$sql .= " AND (r_collaborazioni.codice_ente = :codice_ente OR r_collaborazioni.codice_ente IN (SELECT codice FROM b_enti WHERE sua = :codice_ente)) "; |
|
} |
|
|
|
$return = [ |
|
"draw" => (int) $_GET["draw"], |
|
"recordsTotal" => (int) 0, |
|
"recordsFiltered" => (int) 0, |
|
"data" => [] |
|
]; |
|
|
|
$total_sql = $sql; |
|
$total_bind = $bind; |
|
$return["recordsTotal"] = $pdo->go($total_sql, $total_bind)->rowCount(); |
|
|
|
if (!empty($_GET["search"]["value"])) { |
|
$sql .= " AND (b_utenti.nome LIKE :search OR b_utenti.cognome LIKE :search) "; |
|
$bind[":search"] = "%".$_GET["search"]["value"]."%"; |
|
} |
|
|
|
$return["recordsFiltered"] = $pdo->go($sql, $bind)->rowCount(); |
|
|
|
$_GET["start"] = purify($_GET["start"]); |
|
$_GET["length"] = purify($_GET["length"]); |
|
$sql .= " GROUP BY b_utenti.codice "; |
|
$sql .= " LIMIT {$_GET["start"]}, {$_GET["length"]}"; |
|
|
|
$risultato = $pdo->go($sql, $bind); |
|
|
|
while ($record = $risultato->fetch(PDO::FETCH_ASSOC)) { |
|
$row = []; |
|
ob_start(); |
|
?> |
|
<input type="checkbox" class="relation_checkbox_unpermissed mr-2" data-value="<?=$record["codice_collaborazione"]?>|<?=$codice?>"> |
|
<?=$record['nome']?> <?=$record['cognome']?> |
|
<? |
|
$row[] = ob_get_clean(); |
|
$row[] = ente::getInfoFromID($record["codice_ente"])[0]["denominazione"]; |
|
$row[] = mysql2datetime($record["timestamp"]); |
|
ob_start(); |
|
?> |
|
<button class="btn btn-sm btn-success" onClick="confirmBeforeSubmit('<? echo $codice ?>','/backend/utenti/permessi/assign.php','codice_utente=<?=$record['codice_user']?>&codice_collaborazione=<?=$record['codice_collaborazione']?>');" title="<?= __("Assegna") ?>"> |
|
<span class="fa fa-plus"></span> |
|
</button> |
|
<? |
|
$row[] = ob_get_clean(); |
|
$return["data"][] = $row; |
|
} |
|
|
|
echo json_encode($return); |
|
}
|
|
|