ControllaPeriodoPreparazione()) {
$return['esito'] = -999;
$return['erroreDescrizione'] = "Accesso non consentito";
exit(json_encode($return));
}
$id_domanda = base64_decode($_POST['id_dom']);
$domanda = new Domanda($id_domanda);
$domanda_adesione = new Domanda_Adesione($id_domanda);
if ($domanda->CODICE_FISCALE_LEGALE != $LoggedAccount->CODICE_FISCALE) {
$return['esito'] = -999;
$return['erroreDescrizione'] = "Accesso non consentito";
exit(json_encode($return));
}
if ($domanda_adesione->HASH_FILE == "") {
$return['esito'] = -999;
$return['erroreDescrizione'] = "Attenzione, è necessario caricare l'ultima versione del file, a seguito della modifica dei dati.";
exit(json_encode($return));
}
$return = array();
$returnDomanda = array();
$variabileNome = '';
$con->db_transactionStart();
$transaction = false;
$errore = "";
if ($domanda_adesione->IBAN == "" && $domanda_adesione->FILIALE_DI == "" && $domanda_adesione->ISTITUTO_DI_CREDITO == "" && $domanda_adesione->INFO_PEC == "" && $domanda_adesione->REGOLARITA_CONTRIBUTIVA == "") {
$return['esito'] = -999;
$return['erroreDescrizione'] = "Domanda Incompleta";
exit(json_encode($return));
} else {
if (!empty($_FILES['documento']['tmp_name'])) {
$ricavoExt = $_FILES['documento']['name'];
$ext = pathinfo($ricavoExt);
$tipofile = strtolower($ext['extension']);
if ($tipofile != "p7m") {
$return['esito'] = -999;
$return['erroreDescrizione'] = "Formato del file non valido!";
exit(json_encode($return));
} else if ($_FILES['documento']['size'] <= 0) {
$return['esito'] = -999;
$return['erroreDescrizione'] = "File non valido!";
exit(json_encode($return));
} else if ($_FILES['documento']['size'] > MAX_FILES_SIZE) {
$return['esito'] = -999;
$return['erroreDescrizione'] = "File non valido!";
exit(json_encode($return));
} else {
$dir = $domanda->CODICE_FISCALE_LEGALE;
// $cartella = ROOT_UPLOAD_PRESENTAZIONE . $dir;
$cartella = ROOT_UPLOAD . $dir;
if (is_dir($cartella) === false) {
mkdir($cartella, 0755);
}
$cartella .= "/" . $domanda->CODICE_FISCALE_IMPRESA;
if (is_dir($cartella) === false) {
mkdir($cartella, 0755);
}
$cartellaDEF = $cartella . "/" . ROOT_UPLOAD_ADESIONE;
if (is_dir($cartellaDEF) === false) {
mkdir($cartellaDEF, 0755);
}
$cartellaLOGS = $cartella . "/" . ROOT_UPLOAD_ADESIONE_LOGS;
if (is_dir($cartellaLOGS) === false) {
mkdir($cartellaLOGS, 0755);
}
$cartellaLOGSP7M = $cartella . "/" . ROOT_UPLOAD_ADESIONE_LOGS_P7M;
if (is_dir($cartellaLOGSP7M) === false) {
mkdir($cartellaLOGSP7M, 0755);
}
$cartella .= "/" . ROOT_UPLOAD_ADESIONE_TMP;
if (is_dir($cartella) === false) {
mkdir($cartella, 0755);
}
######################################################################################
$variabileNome = time() . $id_domanda . $_FILES['documento']['name'];
$variabileNome = Utils::GetValidFilename($variabileNome);
if (file_exists($cartellaDEF . $variabileNome)) {
$variabileNome = time() . $variabileNome;
}
$nomeFile = md5(($domanda->CODICE_FISCALE_IMPRESA));
if (is_uploaded_file($_FILES['documento']['tmp_name'])) {
$fileUno = $cartellaDEF . $variabileNome;
$fileUnoEstratto = $cartellaDEF . $nomeFile . ".pdf";
$fileUnoEstrattoPem = $cartellaDEF . $nomeFile . ".pem";
if (copy($_FILES['documento']['tmp_name'], $fileUno)) {
if (filesize($_FILES['documento']['tmp_name']) == filesize($fileUno) && md5_file($_FILES['documento']['tmp_name']) == md5_file($fileUno)) {
$nomefileoriginale = $_FILES['documento']['name'];
$hashestrattoP7m = md5_file($fileUno);
$estrazione_file_originale = shell_exec('openssl cms -verify -noverify -in ' . $fileUno . ' -inform DER -out ' . $fileUnoEstratto);
$hashestratto = md5_file($fileUnoEstratto);
if (filesize($fileUnoEstratto) > 0) {
if ($hashestratto == $domanda_adesione->HASH_FILE) {
$estrazione_pem = shell_exec('openssl pkcs7 -inform DER -in ' . $fileUno . ' -print_certs -out ' . $fileUnoEstrattoPem);
if (filesize($fileUnoEstrattoPem) > 0) {
$datiCertificato = shell_exec('openssl x509 -in ' . $fileUnoEstrattoPem . ' -text -noout');
$leggoCertificato = file_get_contents($fileUnoEstrattoPem);
//$value = strstr($leggoCertificato, "-----BEGIN CERTIFICATE-----");
//$datiCertificato = openssl_x509_parse($value);
//$verificoValidita = Utils::verifyCertificato($datiCertificato);
$verificoValidita = Utils::verifyCertificato($leggoCertificato);
// $verificoValidita['esito'] = 1;
if ($verificoValidita['esito'] == 1) {
$domanda->STATO = 2;
$domanda_adesione->FILEPATH = $variabileNome;
$domanda_adesione->FILESIZE = $_FILES['documento']['size'];
###########################Edit###############################
$domanda_adesione->HASH_FILE_P7M = $hashestrattoP7m;
$domanda_adesione->NOMEFILEORIGINALE = $nomefileoriginale;
$resultdomanda = $domanda->Save();
if ($resultdomanda['esito'] == 1) {
$resultdomanda_adesione = $domanda_adesione->Save();
if ($resultdomanda_adesione['esito'] == 1) {
$transaction = TRUE;
}
}
} else {
$return['esito'] = -999;
$errore = $verificoValidita['descrizioneErrore'];
}
} else {
$errore = "AL momento non è possibile completare il processo di verifica del file firmato.";
/* SI */
$fileUnoLogsp7m = $cartellaLOGSP7M . $variabileNome;
copy($fileUno, $fileUnoLogsp7m);
$logUploadP7m = new LogsP7mFile();
$logUploadP7m->ID_DOMANDA = $domanda->ID;
$logUploadP7m->ERRORE = $errore;
$logUploadP7m->FILEPATH = $fileUnoLogsp7m;
$logUploadP7m->FASE = FASE_PROTOCOLLO_ADESIONE;
$res = $logUploadP7m->Save();
if ($res['esito'] == 1) {
$domanda->STATO = 2;
$domanda_adesione->FILEPATH = $variabileNome;
$domanda_adesione->FILESIZE = $_FILES['documento']['size'];
###########################Edit###############################
$domanda_adesione->HASH_FILE_P7M = $hashestrattoP7m;
$domanda_adesione->NOMEFILEORIGINALE = $nomefileoriginale;
$resultdomanda = $domanda->Save();
if ($resultdomanda['esito'] == 1) {
$resultdomanda_adesione = $domanda_adesione->Save();
if ($resultdomanda_adesione['esito'] == 1) {
$transaction = TRUE;
}
}
} else {
$return['esito'] = -999;
}
}
} else {
/* qua no */
$return['esito'] = -999;
$errore = "L'hash del file caricato non corrisponde all'hash del file estratto dalla piattaforma. Esportare nuovamente il file nel caso la domanda sia stata oggetto di modifica o nel caso in cui sia stato nuovamente esportato il file pdf";
}
} else {
/* SI */
$errore = "Al momento non è possibile estrarre il contenuto del file firmato!";
$fileUnoLogsp7m = $cartellaLOGSP7M . $variabileNome;
copy($fileUno, $fileUnoLogsp7m);
$logUploadP7m = new LogsP7mFile();
$logUploadP7m->ID_DOMANDA = $domanda->ID;
$logUploadP7m->ERRORE = $errore;
$logUploadP7m->FILEPATH = $fileUnoLogsp7m;
$logUploadP7m->FASE = FASE_PROTOCOLLO_ADESIONE;
$res = $logUploadP7m->Save();
if ($res['esito'] == 1) {
$domanda->STATO = 2;
$domanda_adesione->FILEPATH = $variabileNome;
$domanda_adesione->FILESIZE = $_FILES['documento']['size'];
###########################Edit###############################
$domanda_adesione->HASH_FILE_P7M = $hashestrattoP7m;
$domanda_adesione->NOMEFILEORIGINALE = $nomefileoriginale;
$resultdomanda = $domanda->Save();
if ($resultdomanda['esito'] == 1) {
$resultdomanda_adesione = $domanda_adesione->Save();
if ($resultdomanda_adesione['esito'] == 1) {
$transaction = TRUE;
}
}
} else {
$return['esito'] = -999;
}
}
} else {
$return['esito'] = -999;
$errore = "0Al momento non è possibile caricare il file, contattare un amministratore!";
}
} else {
$return['esito'] = -999;
$errore = "1Al momento non è possibile caricare il file, contattare un amministratore!";
}
} else {
$return['esito'] = -999;
$errore = "2Al momento non è possibile caricare il file, contattare un amministratore!";
}
}
} else {
$return['esito'] = -999;
$errore = "Nessun file allegato!";
}
}
if ($transaction) {
if (file_exists($cartellaDEF . $variabileNome)) {
$con->db_transactionCommit();
$return['cod_fis'] = $domanda->CODICE_FISCALE_IMPRESA;
$return['esito'] = 1;
unlink($fileUnoEstrattoPem);
unlink($fileUnoEstratto);
} else {
$return['esito'] = -999;
$return['erroreDescrizione'] = $errore;
$con->db_transactionRollback();
unlink($fileUnoEstrattoPem);
unlink($fileUnoEstratto);
$fileUnoLogs = $cartellaLOGS . $variabileNome;
rename($fileUno, $fileUnoLogs);
/* INSERIRE CODICE LOGS FILE UPLOAD */
$logUpload = new LogsUploadFile();
$logUpload->ID_DOMANDA = $domanda->ID;
$logUpload->ERRORE = $errore;
$logUpload->FILEPATH = $fileUnoLogs;
$logUpload->HASHORIGINALE = $domanda_adesione->HASH_FILE;
$logUpload->HASHESTRATTO = $hashestratto;
$logUpload->FASE = FASE_PROTOCOLLO_ADESIONE;
$logUpload->Save();
}
} else {
$return['esito'] = -999;
$return['erroreDescrizione'] = $errore;
$con->db_transactionRollback();
unlink($fileUnoEstrattoPem);
unlink($fileUnoEstratto);
$fileUnoLogs = $cartellaLOGS . $variabileNome;
rename($fileUno, $fileUnoLogs);
/* INSERIRE CODICE LOGS FILE UPLOAD */
$logUpload = new LogsUploadFile();
$logUpload->ID_DOMANDA = $domanda->ID;
$logUpload->ERRORE = $errore;
$logUpload->FILEPATH = $fileUnoLogs;
$logUpload->HASHORIGINALE = $domanda_adesione->HASH_FILE;
$logUpload->HASHESTRATTO = $hashestratto;
$logUpload->FASE = FASE_PROTOCOLLO_ADESIONE;
$logUpload->Save();
//unlink($fileUno);
}
exit(json_encode($return));
}
function saveDomanda() {
global $con, $LoggedAccount, $bando_setup;
$return = array();
$returnDomanda = array();
if (!$bando_setup->ControllaPeriodoPreparazione()) {
$return['esito'] = -999;
$return['erroreDescrizione'] = "Accesso non consentito";
exit(json_encode($return));
}
$caricoDomandaOld = new Domanda(intval($_POST['ID_DOMANDA']));
if ($caricoDomandaOld->CODICE_FISCALE_LEGALE != $LoggedAccount->CODICE_FISCALE) {
$return['esito'] = -999;
$return['erroreDescrizione'] = "Accesso non consentito";
exit(json_encode($return));
}
// Utils::print_array($caricoDomandaOld);
/* ######################### */
$con->db_transactionStart();
$transaction = false;
$controllValidita = true;
if ($_POST['ID_DOMANDA'] == "") {
$controllValidita = false;
$dati_mancanti .= "
Al momento non è possibile completare l'operazione ";
}
if ($_POST['ISTITUTO_DI_CREDITO'] == "") {
$controllValidita = false;
$dati_mancanti .= "
Campo Istituto di Credito Obbligatorio ";
}
if ($_POST['FILIALE_DI'] == "") {
$controllValidita = false;
$dati_mancanti .= "
Campo Filiale di Riferimento Obbligatorio";
}
if ($_POST['IBAN'] == "") {
$controllValidita = false;
$dati_mancanti .= "
Campo Iban Obbligatorio";
}
if ($_POST['RIPETI_IBAN'] == "" || ($_POST['RIPETI_IBAN'] != $_POST['IBAN'])) {
$controllValidita = false;
$dati_mancanti .= "
Campo Iban Errato o non corrispondente";
}
if ($_POST['INFO_PEC'] == "") {
$controllValidita = false;
$dati_mancanti .= "
Campo PEC Obbligatorio";
}
if (intval($_POST['REGOLARITA_CONTRIBUTIVA']) < 0 || intval($_POST['REGOLARITA_CONTRIBUTIVA']) > 1) {
$controllValidita = false;
$dati_mancanti .= "
Campo Regolarità Contributiva Obbligatorio";
}
if (intval($_POST['REGOLARITA_CONTRIBUTIVA']) == 1 && trim($_POST['MOTIVAZIONE']) == "") {
$controllValidita = false;
$dati_mancanti .= "
Campo Motivazione Regolarità Contributiva Obbligatorio";
}
if ($controllValidita) {
$arrayValori = Utils::requestDati($_POST);
$domanda_adesione = new Domanda_Adesione();
$domanda_adesione->ID = $caricoDomandaOld->ID;
$domanda_adesione->INFO_PEC = trim($arrayValori['INFO_PEC']);
$domanda_adesione->ISTITUTO_DI_CREDITO = trim($arrayValori['ISTITUTO_DI_CREDITO']);
$domanda_adesione->FILIALE_DI = trim($arrayValori['FILIALE_DI']);
$domanda_adesione->IBAN = trim($arrayValori['IBAN']);
$domanda_adesione->HASH_FILE = "";
// $domanda_adesione->FILEPATH = "";
$domanda_adesione->REGOLARITA_CONTRIBUTIVA = $arrayValori['REGOLARITA_CONTRIBUTIVA'];
$domanda_adesione->MOTIVAZIONE = trim($arrayValori['MOTIVAZIONE']);
$returnAdesione = $domanda_adesione->Save();
if ($returnAdesione['esito'] == 1) {
$transaction = true;
} else {
$errore = $returnAdesione['erroreDescrizione'];
}
if ($transaction) {
$return['esito'] = 1;
$return['cod_fis_impresa'] = $caricoDomandaOld->CODICE_FISCALE_IMPRESA;
$con->db_transactionCommit();
} else {
$return['esito'] = -999;
$return['erroreDescrizione'] = ($errore != "" ? $errore : "Attenzione , riprovare o contattare il Personale Tecnico");
$con->db_transactionRollback();
}
} else {
$return['esito'] = -999;
$return['erroreDescrizione'] = ("Attenzione , compilare i seguenti campi: " . $dati_mancanti);
}
exit(json_encode($return));
}
function listDomande() {
global $bando_setup, $LoggedAccount, $STATI_DOMANDA;
$draw = $_POST['draw'];
$row = $_POST['start'];
$rowperpage = $_POST['length']; // Rows display per page
$columnIndex = $_POST['order'][0]['column']; // Column index
$columnName = $_POST['columns'][$columnIndex]['data']; // Column name
$columnSortOrder = $_POST['order'][0]['dir']; // asc or desc
$searchValue = $_POST['search']['value']; // Search value
$data = array();
$searchArray = array();
$data_modifica = "";
$data_sottoMissione = "";
## Search
$searchQuery = " AND CODICE_FISCALE_LEGALE = '$LoggedAccount->CODICE_FISCALE' ";
if ($searchValue != '') {
/*
* modificare queste righe per visualizzare le ricerche
*/
$searchQuery .= " AND ( CODICE_FISCALE_IMPRESA LIKE :CODICE_FISCALE_IMPRESA ) ";
$searchArray = array(
'CODICE_FISCALE_IMPRESA' => "%$searchValue%"
// 'username' => "%$searchValue%"
);
}
// Utils::print_array($_POST);
//$res = Domanda::LoadDataTable($searchQuery, $searchArray, $columnName, $columnSortOrder, $row, $rowperpage);
$res = Domanda::LoadDataTableLeft($searchQuery, $searchArray, $columnName, $columnSortOrder, $row, $rowperpage);
//Utils::print_array($res);
foreach ($res['empRecords'] as $row) {
//'pageview';
//$fnDisable = ''.$iconBtnDisable.'';
//$protocolli = DomandeProtocollo::loadFromId($row['ID']);
//$inviata = DomandeInviate::loadFromId($row['ID']);
$ammesse = DomandeAmmesse::loadFromId($row['ID']);
// $row['DATA_PRESENTAZIONE'] = '';
// $row['PROTOCOLLO_SOTTOMISSIONE'] = '';
// $row['DATA_SOTTOMISSIONE'] = '';
// $row['CUP'] = '';
// $row['PROTOCOLLO_EROGAZIONE'] = '';
// $row['DATA_EROGAZIONE'] = '';
/* if (count($inviata) > 0) {
foreach ($inviata as $value) {
$row['DATA_PRESENTAZIONE'] = Utils::dateOracleTimeStamp($value['DATA_PRESENTAZIONE']);
}
} */
// if (count($protocolli) > 0) {
// foreach ($protocolli as $value) {
// if ($value['FASE'] == FASE_PROTOCOLLO_SOTTOMISSIONE) {
// $row['PROTOCOLLO_SOTTOMISSIONE'] = $value['NUMERO_PROTOCOLLO'];
// $row['DATA_SOTTOMISSIONE'] = Utils::dateOracleTimeStamp($value['DATA_PROTOCOLLO']);
// } elseif ($value['FASE'] == FASE_PROTOCOLLO_EROGAZIONE) {
// $row['PROTOCOLLO_EROGAZIONE'] = $value['NUMERO_PROTOCOLLO'];
// $row['DATA_EROGAZIONE'] = Utils::dateOracleTimeStamp($value['DATA_PROTOCOLLO']);
// }
// }
// }
$domanda = new Domanda();
$stato = $domanda->GetStatoDomanda($row);
$fnVisualizza = "";
if ($row['STATO'] == 0) {
$data_modifica = "";
$data_sottoMissione = "";
$fnDelete = "";
if ($bando_setup->ControllaPeriodoPreparazione()) {
$cfadhoc = $row['CODICE_FISCALE_IMPRESA'];
$fnDelete = '';
$fnVisualizza = $fnDelete . '';
} else {
$fnVisualizza = '';
}
} else if ($row['STATO'] == 1) {
$path = $row['FILEPATH'];
$percorsoDownload = BASE_HTTP . "modules/streamer.php?f=";
$fnModifica = "";
if ($bando_setup->ControllaPeriodoPreparazione()) {
$cfadhoc = $row['CODICE_FISCALE_IMPRESA'];
$fnModifica = '';
}
// $fnVisualizza = $fnModifica . '';
$fnVisualizza = $fnModifica;
} else if ($row['STATO'] == 2) {
if ($row['PROTOCOLLO_SOTTOMISSIONE'] != "") {
$txtPulsante = 'Attestato di sottomissione';
} else {
$txtPulsante = 'Attestato di presentazione';
}
$onclick = "downloadPdf('" . $row['CODICE_FISCALE_IMPRESA'] . "')";
$fnVisualizza = '';
} else if ($row['STATO'] == 3) {
$cfadhoc = $row['CODICE_FISCALE_IMPRESA'];
if ($row['PROTOCOLLO_EROGAZIONE'] == "") {
$fnVisualizza = '';
} else {
}
}
if ($row['DATA_INSERIMENTO'] != "") {
$data_inserimento = Utils::dateOracleTimeStamp($row['DATA_INSERIMENTO']);
}
if ($row['DATA_MODIFICA'] != "") {
$data_modifica = Utils::dateOracleTimeStamp($row['DATA_MODIFICA']);
}
if ($row['DATA_COMPLETAMENTO'] != "") {
$data_completamento = Utils::dateOracleTimeStamp($row['DATA_COMPLETAMENTO']);
}
$data[] = array(
"ID" => $row['ID'],
"CODICE_FISCALE_IMPRESA" => $row['CODICE_FISCALE_IMPRESA'],
"DATA_INSERIMENTO" => $data_inserimento,
"DATA_MODIFICA" => $data_modifica,
"DATA_COMPLETAMENTO" => $data_completamento,
"DATA_PRESENTAZIONE" => $row['DATA_PRESENTAZIONE'],
"PROTOCOLLO_SOTTOMISSIONE" => $row['PROTOCOLLO_SOTTOMISSIONE'],
"DATA_SOTTOMISSIONE" => $row['DATA_SOTTOMISSIONE'],
"CUP" => $ammesse['CUP'],
"PROTOCOLLO_EROGAZIONE" => $row['PROTOCOLLO_EROGAZIONE'],
"DATA_EROGAZIONE" => $row['DATA_EROGAZIONE'],
"STATO" => $stato,
"gestione" => '
Alla REGIONE SICILIANA |
In ragione delle modifiche a termini, modalità, criteri ed importo del contributo massimo erogabile di cui al DDG n. $ddg_numero del $ddg_data , a parziale rettifica della richiesta di accesso al contributo a fondo perduto BONUSICILIA di cui all'Allegato 2
EOD; $htmlDichiaraChe = <<