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.
 
 
 
 
 

75 righe
2.9 KiB

<?
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
$id_modulo = "conservazione";
$cmd_info = gara::getInfoModulo($id_modulo);
if (! empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($radice, $_POST["codice"], $id_modulo) && $_SESSION["utente"]->permission($cmd_info["modulo_riferimento"])) {
$gara = gara::init($_POST["codice"]);
if (! empty($gara)) {
$tipologia = "download";
if(empty($_POST["download"]) || $_POST["download"] == "false") {
$tipologia = "conservazione";
}
// Imposto il pacchetto come archivio completo
$full = 1;
// Se si tratta di un archivio di download
if($tipologia == "download") {
// Configuro il pacchetto in base alla scelta dell'utente
if(! isset($_POST["full"]) || $_POST["full"] == "false") {
$full = 0;
}
// Se si tratta di un archivio di conservazione
} else {
// Verifico che non ci siano altri pacchetti e imposto l'archivio completo
$check = $pdo->go("SELECT COUNT(codice) FROM b_conservazione WHERE modulo = 'gare' AND codice_elemento = :codice_elemento AND codice_ente = :codice_ente AND tipologia = 'conservazione'", [":codice_elemento" => $gara->info["codice"], ":codice_ente" => ($_SESSION["utente"]->codice_ente ?? $_SESSION["ente"]->codice)])->fetch(PDO::FETCH_COLUMN, 0);
if($check >= 1) { $full = 0; }
}
$insert = $pdo->prepare("INSERT INTO b_conservazione (modulo, codice_elemento, codice_ente, tipologia, titolo, timestamp_esecuzione, utente_modifica, timestamp_creazione) VALUES (:modulo, :codice_elemento, :codice_ente, :tipologia, :titolo, :timestamp_esecuzione, :utente_modifica, :timestamp_creazione)");
$insert->bindValue(":modulo", "gare");
$insert->bindValue(":codice_elemento", $gara->info["codice"]);
$insert->bindValue(":codice_ente", $_SESSION["utente"]->codice_ente ?? $_SESSION["ente"]->codice);
$insert->bindValue(":tipologia", $tipologia);
$insert->bindValue(":titolo", "FASCICOLO DI GARA - " . date('d/m/Y H:i'));
$insert->bindValue(":timestamp_esecuzione", date('Y-m-d 00:00:00', strtotime('now')));
$insert->bindValue(":utente_modifica", $_SESSION["utente"]->codice);
$insert->bindValue(":timestamp_creazione", date('Y-m-d H:i:s', strtotime("now")));
if($insert->execute()) {
$id = (int) $pdo->lastInsertId();
if(! empty($id)) {
$result = shell_exec("php {$config["cmds_folder"]}/artisan job:dispatch Preservation/GetFilesJob -P {$_SESSION["ente"]->codice} -P {$id} -P {$full} -Q preservation -C database 2>&1");
$result = preg_replace('~[[:cntrl:]]~', '', $result);
if($result == "Job has been scheduled.") {
?>swal("Operazione schedulata correttamente").then(() => { window.location.reload(); });<?
exit;
}
}
}
}
}
HTTPStatus(403);
exit;
?>