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.
 
 
 
 
 

143 righe
7.0 KiB

<?
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
$error = true;
$id_modulo = "provvisoria";
$cmd_info = gara::getInfoModulo($id_modulo);
if (!empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($radice,$_GET["codice"],$id_modulo) && $_SESSION["utente"]->permission($cmd_info["modulo_riferimento"]) && !empty($_GET["codice_lotto"])) {
$gara = gara::init($_GET["codice"],$_GET["codice_round"]);
if (!empty($gara) && $gara->setLotto($_GET["codice_lotto"])) {
$record = $gara->info;
$round = $gara->round;
$lotto = $gara->lotto;
$lock = $gara->checkLock($cmd_info["id"]);
$scriptPath = $_SERVER["PHP_SELF"];
if (!$lock) {
$settingsAnomalia = json_decode(($gara->getExtraInfo()["lotto"]["set-anomalia-{$gara->round["codice"]}"] ?? ""),true);
if (empty($gara->getAggiudicatari()) || !empty($_GET["ricalcolo"])) {
$algoritmi = $gara->getAlgoritmoAnomalia();
if (count($algoritmi) > 1 && empty($_GET["algoritmo"])) {
?><h2><?= __("Procedura di calcolo anomalia") ?></h2><?
foreach($algoritmi AS $idAlgo => $algoritmo) {
$_GET["algoritmo"] = base64_encode($idAlgo);
$qs = http_build_query($_GET);
?>
<button type="button" class="btn btn-lg btn-block btn-primary" onclick="showModalWithURL('<?= $scriptPath ?>?<?= $qs ?>');">
<?= $algoritmo["riferimento"] ?>
</button>
<?
}
die();
} else {
if (empty($algoritmi)) {
$idAlgo = "";
} else if (count($algoritmi) === 1) {
$idAlgo = array_keys($algoritmi)[0];
} else {
if (isset($algoritmi[base64_decode($_GET["algoritmo"])])) {
$idAlgo = base64_decode($_GET["algoritmo"]);
}
}
if (isset($idAlgo)) {
$printForm = true;
$algoritmo = $algoritmi[$idAlgo] ?? "";
$msgAlert = "Procedendo saranno decretati gli aggiudicatari provvisori";
$buttons = [["type"=>"submit","class"=>"success","label"=>"Prosegui"]];
}
}
if ($gara->getProcedura()["aggiudicazioneMultipla"]) {
$printForm = true;
$aggiudicazioneMultipla = true;
}
} else {
$printForm = true;
$msgAlert = "Il lotto è già stato aggiudicato. Come vuoi procedere?";
$buttons = [];
$buttons[] = ["type"=>"submit","class"=>"success","label"=>"Aggiorna graduatoria"];
$_GET["ricalcolo"] = 1;
$qs = http_build_query($_GET);
$buttons[] = ["type"=>"button","class"=>"primary","label"=>"Rieffettua calcolo completo","onclick"=>"showModalWithURL('{$scriptPath}?{$qs}')"];
}
if (!empty($printForm)) {
$error = false;
?>
<h2><span class="fa fa-trophy"></span> <?= __("Proposta di aggiudicazione") ?></h2>
<form rel="validate" method="post" action="proposta.php" id="edit-form">
<input id="token" type="hidden" name="token" value="<?= tokenGen() ?>">
<input id="codice" type="hidden" name="codice" value="<?= $record["codice"] ?>">
<input id="codice_round" type="hidden" name="codice_round" value="<?= $round["codice"] ?>">
<input id="codice_lotto" type="hidden" name="codice_lotto" value="<?= $lotto["codice"] ?>">
<? if (!empty($idAlgo)) { ?>
<input id="algoritmo" type="hidden" name="algoritmo" value="<?= $idAlgo ?>">
<? } ?>
<?
$domande = $gara->domandeStandardAnomalia();
if (!empty($algoritmo["domande"])) {
$domande += $algoritmo["domande"];
}
if (!empty($domande) || !empty($aggiudicazioneMultipla)) {
?>
<div class="card">
<div class="card-header">
<strong class="card-title"><?= __("Configurazione calcolo") ?></strong>
</div>
<div class="card-body">
<?
if (!empty($domande)) {
foreach($domande AS $idDomanda => $domanda) {
?>
<div class="form-group">
<label for="set-anomalia[<?= $idDomanda ?>]"><?= __($domanda["label"]) ?>*</label>
<select class="form-control" rel="S;0;0;A" name="set-anomalia[<?= $idDomanda ?>]" title="<?= __($domanda["label"]) ?>">
<option value=""><?= __("Seleziona") ?>...</option>
<?
$labelValue = !isAssoc($domanda["options"]);
foreach($domanda["options"] AS $idVal => $label) {
$optValue = ($labelValue) ? $label : $idVal;
?><option <?= (isset($settingsAnomalia[$idDomanda]) && $settingsAnomalia[$idDomanda] == $optValue) ? "selected" : "" ?> value="<?= $optValue ?>"><?= $label ?></option><?
}
?>
</select>
</div>
<?
}
}
if (!empty($aggiudicazioneMultipla)) {
$aggiudicatari = $gara->getExtraInfo()["lotto"]["aggiudicatari-{$gara->round["codice"]}"] ?? "";
?>
<div class="form-group">
<label for="aggiudicatari"><?= __("Numero di aggiudicatari da individuare") ?>*</label>
<input class="form-control text-center" rel="S;0;0;N;0;>" name="aggiudicatari" title="<?= __("Numero di aggiudicatari da individuare") ?>" value="<?= $aggiudicatari ?>">
</div>
<?
}
?>
</div>
</div>
<?
} ?>
<? alertManager::printWarningBox(__($msgAlert),__("Vuoi continuare?")); ?>
<? $col = ceil(12 / (count($buttons) + 1)); ?>
<div class="row">
<div class="col-12 col-xl-<?= $col ?>">
<button type="button" onClick="window.location.reload()" class="btn btn-danger btn-lg btn-block"><?= __("Annulla") ?></button>
</div>
<?
foreach($buttons AS $button) {
?>
<div class="col-12 col-xl-<?= $col ?>">
<button type="<?= $button["type"] ?>" <?= (!empty($button["onclick"])) ? "onclick=\"{$button["onclick"]}\"" : "" ?> class="btn btn-<?= $button["class"] ?> btn-lg btn-block"><?= __($button["label"]) ?></button>
</div>
<? } ?>
</div>
</form>
<?
}
}
}
}
if ($error) {
header('HTTP/1.0 403 Forbidden');
die();
}
?>