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.
 
 
 
 
 

83 righe
4.4 KiB

<?
if (!isset($root)) {
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
if (!$_SESSION["utente"]->check(true)) { die(); }
}
if (!empty($_SESSION["utente"])) {
$bind = array(":dateFrom"=>$fromDate,
":dateTo"=>$toDate);
$sql_scadenze = "SELECT b_gare_round.codice AS codice, b_gare.codice AS codice_gara, b_gare.oggetto, b_gare_round.numero,
b_gare_round.chiarimenti, b_gare_round.sopralluogo, b_gare_round.scadenza, b_gare_round.apertura,
b_gare_sopralluogo.appuntamento, b_gare_sopralluogo.codice_richiedente, b_gare_sedute.busta, b_gare_sedute.data AS data_seduta
FROM b_gare_round
JOIN b_gare ON b_gare_round.codice_gara = b_gare.codice
LEFT JOIN b_gare_sopralluogo ON b_gare_sopralluogo.codice_round = b_gare_round.codice
LEFT JOIN b_gare_sedute ON b_gare_sedute.codice_round = b_gare_round.codice
WHERE
(
b_gare_round.scadenza BETWEEN :dateFrom AND :dateTo OR
b_gare_round.apertura BETWEEN :dateFrom AND :dateTo OR
b_gare_round.chiarimenti BETWEEN :dateFrom AND :dateTo OR
b_gare_round.sopralluogo BETWEEN :dateFrom AND :dateTo OR
b_gare_sedute.data BETWEEN :dateFrom AND :dateTo OR
b_gare_sopralluogo.appuntamento BETWEEN :dateFrom AND :dateTo
)
";
if ($_SESSION["utente"]->gerarchia > 10) {
$ids = Utente::getPermissionsInModulo($_SESSION["ente"]->codice,$_SESSION["utente"]->codice,"gare");
$ids = implode(",",$ids);
$sql_scadenze .= " AND b_gare.codice IN ({$ids}) ";
}
if (!$_SESSION["utente"]->fromHere()) {
$sql_scadenze .= " AND b_gare.codice_ente = :codice_ente";
$bind[":codice_ente"] = $_SESSION["utente"]->codice_ente;
}
if (!empty($codiceElementoScadenze)) {
$bind[":codice_elemento"] = $codiceElementoScadenze;
$sql_scadenze .= " AND b_gare.codice = :codice_elemento ";
}
$risScadenza = $pdo->go($sql_scadenze,$bind);
if ($risScadenza->rowCount() > 0) {
$timeFrom = strtotime($fromDate);
$timeTo = strtotime($toDate);
$keys = [];
$keys["scadenza"] = ["title"=>"Scadenza presentazione offerte","icon"=>"fa fa-flag-checkered","color"=>"danger"];
$keys["apertura"] = ["title"=>"Apertura offerte","icon"=>"fa fa-envelope-open-text","color"=>"success"];
$keys["chiarimenti"] = ["title"=>"Scadenza termine richiesta chiarimenti","icon"=>"fa fa-question","color"=>"warning"];
$keys["sopralluogo"] = ["title"=>"Scadenza termine richiesta sopralluogo","icon"=>"fa fa-question","color"=>"info"];
$keys["appuntamento"] = ["title"=>"Sopralluogo","icon"=>"fa fa-eye","color"=>"info"];
$keys["data_seduta"] = ["title"=>"Seduta","icon"=>"fa fa-folder","color"=>"success"];
while($tmpScadenza = $risScadenza->fetch(PDO::FETCH_ASSOC)) {
foreach($keys AS $field => $key) {
$time = strtotime($tmpScadenza[$field]);
if ($timeFrom <= $time && $time <= $timeTo && !empty($time)) {
$day = date("Y-m-d",$time);
if (!isset($scadenze[$day])) { $scadenze[$day] = []; }
$scadenza = [];
$scadenza["dateTime"] = $tmpScadenza[$field];
$scadenza["titolo"] = __($key["title"]);
switch($field) {
case "conclusione":
$scadenza["titolo"] .= " - " . $tmpScadenza["denominazione"];
break;
case "appuntamento":
$oeInfo = oeManager::getOE($tmpScadenza["codice_richiedente"]);
$scadenza["titolo"] .= " - " . $oeInfo["ragione_sociale"];
break;
case "data_seduta":
$scadenza["titolo"] .= " - " . __(gara::tipologieBusta()[$tmpScadenza["busta"]]["titolo"]);
break;
}
$scadenza["descrizione"] = $tmpScadenza["oggetto"] . " - " . __("Fase") . " " . $tmpScadenza["numero"];
$scadenza["link"] = "/backend/gare/panel.php?codice={$tmpScadenza["codice_gara"]}";
$scadenza["icon"] = $key["icon"];
$scadenza["bgClass"] = $key["color"];
$scadenze[$day]["{$time}_{$tmpScadenza["codice"]}_gare_{$field}"] = $scadenza;
}
}
}
}
}
?>