gestione gare pubbliche
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.
 
 
 
 
 

233 righe
14 KiB

<?
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
if (!empty($_SESSION["utente"]) && isset($_GET["codice"]) && ($_SESSION["utente"]->permission("utenti",$_GET["codice"]))) {
$bind = array();
$bind[":codice"] = $_GET["codice"];
$sql = "SELECT b_utenti.* FROM b_utenti WHERE b_utenti.codice = :codice ";
$ris_utenti = $pdo->go($sql,$bind);
if (isset($ris_utenti) && $ris_utenti->rowCount() === 1) {
$record = $ris_utenti->fetch(PDO::FETCH_ASSOC);
$ruoli = utente::ruoli();
$bind = [];
$bind[":codice_utente"] = $record["codice"];
$sql = "SELECT r_collaborazioni.*, b_enti.denominazione, b_enti.sua, b_enti.attivo AS ente_attivo, b_enti.dominio FROM r_collaborazioni JOIN b_enti ON r_collaborazioni.codice_ente = b_enti.codice
WHERE r_collaborazioni.codice_utente = :codice_utente ";
if (!empty($_SESSION["ente"])) {
$bind[":codice_ente"] = $_SESSION["ente"]->codice;
$sql .= " AND r_collaborazioni.monitoraggio = 'N' AND r_collaborazioni.codice_ente IN (SELECT codice FROM b_enti WHERE codice = :codice_ente OR sua = :codice_ente)";
if ($_SESSION["utente"]->gerarchia >= 9) {
$sql .= " AND r_collaborazioni.codice_ente NOT IN (SELECT codice FROM b_enti WHERE sua = :codice_ente AND (dominio IS NOT NULL AND dominio <> '' AND attivo = 'S')) ";
}
}
if (!empty($_GET["codice_collaborazione"])) {
$bind[":codice_collaborazione"] = $_GET["codice_collaborazione"];
$sql .= " AND r_collaborazioni.codice = :codice_collaborazione ";
}
$collaborazioni = $pdo->go($sql,$bind);
if ($collaborazioni->rowCount() > 0) {
?>
<div class="h1 m-0 p-0"><span class="fa fa-user"></span> <?= $record["cognome"] ?> <?= $record["nome"] ?></div>
<?
if ($collaborazioni->rowCount() == 1) {
$collaborazione = $collaborazioni->fetch(PDO::FETCH_ASSOC);
} else {
while ($tmp = $collaborazioni->fetch(PDO::FETCH_ASSOC)) {
$gerarchia = $ruoli[$tmp["gruppo"]]["gerarchia"] ?? 0;
if ($_SESSION["utente"]->gerarchia <= $gerarchia) {
?>
<button class="btn btn-block btn-lg btn-primary" onclick="showModalWithURL('/backend/utenti/manage.php?codice=<?= $record["codice"] ?>&codice_collaborazione=<?= $tmp["codice"] ?>')">
<span class="fa fa-university"></span> <?= $tmp["denominazione"] ?>
</button>
<?
}
}
}
if (!empty($collaborazione)) {
$gerarchia = $ruoli[$collaborazione["gruppo"]]["gerarchia"] ?? 0;
if ($_SESSION["utente"]->gerarchia <= $gerarchia) {
?>
<strong class="h4"><span class="fa fa-university"></span> <?= $collaborazione["denominazione"] ?></strong><br>
<?php if ($collaborazione["readOnly"] == "S") : ?>
<? alertManager::printAlertCompact(__("Collaborazione in sola lettura")) ?>
<?php endif ?>
<form rel="validate" method="post" action="/backend/utenti/savePermessiCollaborazione.php" id="edit-form">
<input id="token" type="hidden" name="token" value="<?= tokenGen() ?>">
<input id="codice" type="hidden" name="codice" value="<?= $collaborazione["codice"] ?>">
<input id="codice" type="hidden" name="codice_utente" value="<?= $record["codice"] ?>">
<?
$tmp = Modulo::getTipologie();
$tipologie = [];
foreach($tmp AS $id_tipologia => $tipo) {
$r = Modulo::getModuli(["tipo"=>$id_tipologia,"all_utente"=>false,"ente"=>true]);
if (count($r) > 0) {
$tipo["moduli"] = $r;
$tipologie[$id_tipologia] = $tipo;
}
}
if (!empty($tipologie)) {
$col = (int) (12 / count($tipologie));
?>
<div class="card card-body my-2">
<div class="row">
<?
foreach($tipologie AS $id_tipologia => $tipo) {
?>
<div class="col-12 col-lg-<?= $col ?> text-center">
<div class="pb-2">
<?if (!empty($tipo["icon"])) { echo "<span class='".$tipo["icon"]." fa-2x'></span>"; } ?><br>
<strong><?= __($tipo["titolo"]) ?></strong>
</div>
<div class="btn-group-toggle" data-toggle="buttons">
<?
if (count($tipo["moduli"]) > 0) {
$count = 0;
foreach($tipo["moduli"] AS $id_modulo => $modulo) {
$count++;
$print = true;
if(!$modulo["all_ente"]) {
$codice_ente = $collaborazione["codice_ente"];
$eccezioni = [];
if ($collaborazione["ente_attivo"] == "N" || empty($collaborazione["dominio"]) || (isset($_SESSION["ente"]) && $_SESSION["ente"]->codice != $collaborazione["codice_ente"]) ) {
$codice_ente = $collaborazione["sua"];
$eccezioni = Ente::getEccezioniCrossFromID($collaborazione["sua"])[$collaborazione["sua"]] ?? [];
}
$print = false;
$bind = array();
$bind[":codice_ente"] = $codice_ente;
$bind[":id_modulo"] = $id_modulo;
$sql = "SELECT codice FROM r_moduli_ente WHERE cod_ente = :codice_ente AND id_modulo = :id_modulo";
$ris_check = $pdo->go($sql,$bind);
$infoEnte = Ente::getInfoFromID($codice_ente)[0];
if ($ris_check->rowCount()>0 && ($collaborazione["codice_ente"] == $codice_ente || $infoEnte["permit_cross"] == "S" || $modulo["cross_p"] || in_array($id_modulo,$eccezioni) !== false)) {
$print = true;
}
}
if ($modulo["completed"] == "N") { $print = false; }
if ($print) {
$checked = "";
$sql = "SELECT codice FROM r_permessi_collaborazioni WHERE id_modulo = :id_modulo AND cod_relazione = :cod_relazione";
$ris_check_user = $pdo->go($sql,array(":id_modulo"=>$id_modulo,":cod_relazione"=>$collaborazione["codice"]));
if ($ris_check_user->rowCount() > 0) { $checked = "checked"; }
?>
<div class="btn btn-sm btn-block btn-secondary <?= (!empty($checked)) ? "active" : "" ?>">
<div class="text-left">
<input autocomplete="off" type="checkbox" <?= $checked ?> id="permission-<?= $count ?>" name="permission[<?= $id_modulo ?>]">
<? if (!empty($modulo["icon"])) { ?><span class="<?= $modulo["icon"] ?>"></span><? } ?>
<?= $modulo["titolo"] ?><br>
<small><?= $modulo["descrizione"] ?></small>
</div>
</div>
<?
}
}
}
?>
</div>
</div>
<?
}
?>
</div>
</div>
<?
}
$procedure = getProcedure();
$limiti = json_decode($collaborazione["limiti"],TRUE);
?>
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title m-0 font-weight-bold" data-target="#limiti-procedura"><?= __("Limiti per procedura") ?></h3>
</div>
<div class="card-body <?= (empty($collaborazione["limiti"])) ? "collapse" : "" ?>" id="limiti-procedura">
<div class="card card-body text-center">
<div class="text-center"><input type="checkbox" <?= (empty($collaborazione["limiti"])) ? "checked" : "" ?> name="rimuoviLimiti" onChange="$('#limiti-table').slideToggle();"></div>
<strong><?= __("Nessun limite") ?></strong>
</div>
<div class="table-responsive <?= (empty($collaborazione["limiti"])) ? "collapse" : "" ?>" id="limiti-table">
<table class="table table-striped">
<thead>
<tr>
<th><?= __("Abilita") ?></th>
<th><?= __("Procedura") ?></th>
<th>
<?= __("Importo massimo") ?>
</th>
</tr>
</thead>
<tbody>
<?
foreach($procedure AS $id => $procedura) {
?>
<tr>
<td width="10" class="text-center"><input type="checkbox" <?= isset($limiti[$id]) ? "checked" : "" ?> onChange="if ($('#limiteProcedura<?= $id ?>:disabled').length > 0) { $('#limiteProcedura<?= $id ?>').removeAttr('disabled'); } else { $('#limiteProcedura<?= $id ?>').attr('disabled','disabled'); } "></td>
<td><?= $procedura["titolo"] ?></td>
<td class="form-group">
<input type="text" class="form-control text-right" id="limiteProcedura<?= $id ?>" <?= isset($limiti[$id]) ? "" : "disabled" ?> name="limite[<?= $id ?>]" value="<?= !empty($limiti[$id]) ? $limiti[$id] : "" ?>" rel="N;0;0;N" title="<?= __("Limite") ?> - <?= $procedura["titolo"] ?>">
</td>
</tr>
<?
}
?>
</tbody>
</table>
</div>
</div>
</div>
<?
$moduli = Ente::getModuli($collaborazione["codice_ente"]);
if(in_array("verifica-art-80", $moduli)) {
$attivo = $pdo->go("SELECT codice FROM r_permessi_collaborazioni WHERE cod_relazione = :collaborazione AND id_modulo = 'verifica-art-80'", [":collaborazione" => $collaborazione["codice"]])->fetch(PDO::FETCH_COLUMN, 0);
if(! empty($attivo)) {
$ente = $pdo->go("SELECT * FROM b_enti WHERE codice = :codice", [":codice" => $collaborazione["codice_ente"]])->fetch(PDO::FETCH_ASSOC);
$articolo80 = Articolo80::init($ente);
if(! empty($articolo80) && is_a($articolo80, "Articolo80")) {
$documenti_conentiti = $articolo80::getPermessiClassiDocumentali($collaborazione["codice"], $collaborazione["codice"]);
?>
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title m-0 font-weight-bold" data-target="#permessi-articolo-80"><?= __("Permessi Verifica Ex. Art.80") ?></h3>
</div>
<div class="card-body <?= empty($documenti_conentiti) ? "collapse" : "" ?>" id="permessi-articolo-80">
<div class="card">
<div class="card-body text-center">
<div class="text-center"><input type="checkbox" <?= empty($documenti_conentiti) ? "checked" : "" ?> name="rimuoviLimitiArt80" onChange="$('#limiti-documenti').slideToggle();"></div>
<strong><?= __("Nessun limite") ?></strong>
</div>
<ul class="list-group list-group-flush <?= empty($documenti_conentiti) ? "collapse" : "" ?>" id="limiti-documenti">
<?
foreach ($articolo80->documenti as $documento) {
?>
<li class="list-group-item">
<div class="col-12 form-check">
<input class="form-check-input" type="checkbox" <?= in_array($documento["uuid"], $documenti_conentiti) ? 'checked="checked"' : null ?> value="<?= $documento["uuid"] ?>" name="classi_documentali_art80[]" id="<?= $documento["uuid"] ?>">
<label class="form-check-label" class="text-uppercase" for="<?= $documento["uuid"] ?>">
<?= $documento["name"] ?>
</label>
</div>
</li>
<?
}
?>
</ul>
</div>
</div>
</div>
<?
}
}
}
?>
<button type="submit" class="btn btn-block btn-success"><span class="fa fa-save"></span> <?= __("Salva") ?></button>
</form>
<?
}
}
die();
}
}
}
header('HTTP/1.0 403 Forbidden');
die();
?>