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.
 
 
 

917 righe
41 KiB

<?php
$mode = $_REQUEST['action'];
switch ($mode) {
case 'saveDomanda':
saveDomanda();
break;
case 'saveDocumento':
saveDocumento();
break;
case 'generaPdf':
generaPdf();
break;
}
function saveDocumento() {
global $con, $LoggedAccount, $bando_setup;;
if (!$bando_setup->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 .= " <br>Al momento non è possibile completare l'operazione</b> ";
}
if ($_POST['ISTITUTO_DI_CREDITO'] == "") {
$controllValidita = false;
$dati_mancanti .= " <br><b>Campo Istituto di Credito Obbligatorio</b> ";
}
if ($_POST['FILIALE_DI'] == "") {
$controllValidita = false;
$dati_mancanti .= " <br><b>Campo Filiale di Riferimento Obbligatorio</b>";
}
if ($_POST['IBAN'] == "") {
$controllValidita = false;
$dati_mancanti .= " <br><b>Campo Iban Obbligatorio</b>";
}
if ($_POST['RIPETI_IBAN'] == "" || ($_POST['RIPETI_IBAN'] != $_POST['IBAN'])) {
$controllValidita = false;
$dati_mancanti .= " <br><b>Campo Iban Errato o non corrispondente</b>";
}
if ($_POST['INFO_PEC'] == "") {
$controllValidita = false;
$dati_mancanti .= " <br><b>Campo PEC Obbligatorio</b>";
}
if (intval($_POST['REGOLARITA_CONTRIBUTIVA']) < 0 || intval($_POST['REGOLARITA_CONTRIBUTIVA']) > 1) {
$controllValidita = false;
$dati_mancanti .= " <br><b>Campo Regolarità Contributiva Obbligatorio</b>";
}
if (intval($_POST['REGOLARITA_CONTRIBUTIVA']) == 1 && trim($_POST['MOTIVAZIONE']) == "") {
$controllValidita = false;
$dati_mancanti .= " <br><b>Campo Motivazione Regolarità Contributiva Obbligatorio</b>";
}
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) {
//'<a href="'.BASE_HTTP.'admin/logs.php?mode=viewLog&id='.base64_encode($row['id']).'" class="mb-6 btn-floating waves-effect waves-light purple lightrn-1"><i class="material-icons">pageview</i></a>';
//$fnDisable = '<a href="#" '.$onclickDisable.' rel="'.RELUPDATE.'" class="btn-floating mb-1 '.$colorBtnDisable.' waves-effect waves-light "><i class="material-icons dp48">'.$iconBtnDisable.'</i></a>';
//$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 = '<button type="button" class="btn btn-danger tooltipped" data-toggle="tooltip" data-position="top" title="Annulla domanda" onclick=\'opsDomanda("' . base64_encode($domanda->ID) . '")\'><i class="far fa-trash-alt"></i></button>';
$fnVisualizza = $fnDelete . '<button type="button" class="btn btn-info tooltipped" data-toggle="tooltip" data-position="top" title="Visualizza la domanda" onclick=\'redirectDomanda("' . $cfadhoc . '")\'><i class="fas fa-eye"></i></button>';
} 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 = '<button type="button" class="btn btn-success tooltipped" data-toggle="tooltip" data-position="top" title="Modifica domanda" onclick=\'redirectDomanda("' . $cfadhoc . '")\'><i class="far fa-edit"></i></button>';
}
// $fnVisualizza = $fnModifica . '<a class="btn btn-info tooltipped" data-toggle="tooltip" data-position="top" title="Download p7m" href="' . $percorsoDownload . $path . '" ><i class="fa fa-download"></i></a>';
$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 = '<button class="btn btn-primary tooltipped" data-toggle="tooltip" data-position="top" title="' . $txtPulsante . '" onclick="' . $onclick . '" ><i class="fa fa-download"></i></button>';
} else if ($row['STATO'] == 3) {
$cfadhoc = $row['CODICE_FISCALE_IMPRESA'];
if ($row['PROTOCOLLO_EROGAZIONE'] == "") {
$fnVisualizza = '<button type="button" class="btn btn-info tooltipped" data-toggle="tooltip" data-position="top" title="Richiesta contributo" onclick=\'redirectDomandaAm("' . $cfadhoc . '")\'><i class="fas fa-euro-sign"></i></button>';
} 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" => '<div class="btn-group" role="group" aria-label="Gestione">' . $fnVisualizza . '</div>'
);
}
## Response
$response = array(
"draw" => intval($draw),
"iTotalRecords" => $res['iTotalRecords'],
"iTotalDisplayRecords" => $res['iTotalDisplayRecords'],
"aaData" => $data
);
exit(json_encode($response));
}
//function listsportello() {
// global $LoggedAccount;
// $domande = Domanda::statoDomandaCompletata();
// print_r($domande);
// echo is_array($domande);
// $ciccio=array("ciao", "secondo");
//
//
// echo (json_encode($domande));
//}
function generaPdf() {
exit();
global $con, $LoggedAccount;
set_time_limit(0);
require_once ROOT . "lib/modules/tcpdf/lang/ita.php";
require_once ROOT . "lib/modules/tcpdf/tcpdf.php";
error_reporting(E_ALL);
ini_set('display_errors', 1);
$id = Utils::get_filter_int('id');
$cod_fis_impresa = trim(Utils::get_filter_string('cod_fis_impresa'));
//$domanda = new Domanda($id);
$domandaForAdesione = Domanda::getDomandaForAdesione($id);
//
//Utils::print_array($domandaForAdesione);
//
//exit();
if ($domandaForAdesione['CODICE_FISCALE_LEGALE'] != $LoggedAccount->CODICE_FISCALE) {
Utils::RedirectTo(BASE_HTTP . 'dashboard.php');
exit();
}
if ($domandaForAdesione['CODICE_FISCALE_IMPRESA'] != $cod_fis_impresa) {
Utils::RedirectTo(BASE_HTTP . 'dashboard.php');
exit();
}
if ($domandaForAdesione['ID'] != $id) {
Utils::RedirectTo(BASE_HTTP . 'dashboard.php');
exit();
}
if (intval($domandaForAdesione['VERSIONE']) > 0) {
Utils::RedirectTo(BASE_HTTP . 'dashboard.php');
exit();
}
$IDDomanda = $domandaForAdesione['ID'];
$domanda_adesione = new Domanda_Adesione($IDDomanda);
if ($domanda_adesione->ID != $IDDomanda) {
Utils::RedirectTo(BASE_HTTP . 'dashboard.php');
exit();
}
$statoRegolarita = $domanda_adesione->REGOLARITA_CONTRIBUTIVA;
$motivazioneRegolarita = $domanda_adesione->MOTIVAZIONE;
$codice_fiscale_impresa = $domandaForAdesione['CODICE_FISCALE_IMPRESA'];
$domanda_json = $domandaForAdesione['DOMANDA_JSON'];
$domanda_array = json_decode($domanda_json, true);
$sp = $domanda_array['SchedaPersona'];
$cognome = $sp['cognome']; //$LoggedAccount->SchedaPersona->cognome;
$nome = $sp['nome']; //$LoggedAccount->SchedaPersona->nome;
$sesso = $sp['sesso']; //$LoggedAccount->SchedaPersona->sesso;
$c_fiscale = $sp['c_fiscale']; //$LoggedAccount->SchedaPersona->c_fiscale;
$comune_n = $sp['comune']; //$LoggedAccount->SchedaPersona->comune;
$provincia_n = $sp['provincia']; //$LoggedAccount->SchedaPersona->provincia;
$data_n = $sp['dt']; //$LoggedAccount->SchedaPersona->dt;
$comune_residenza = $domanda_array['comune_residenza_save'];
$provincia_residenza = $domanda_array['provincia_residenza_save'];
$indirizzo_residenza = $domanda_array['indirizzo_residenza_save'];
$cap_residenza = $domanda_array['cap_residenza_save'];
$txt_sottoscritto = ($sesso == 'M' ? 'Il sottoscritto ' : 'La sottoscritta ');
$txt_natoa = ($sesso == 'M' ? 'nato a ' : 'nata a ');
// $loadVisuraImpresa = VisuraImpresa::Load($domandaForAdesione['CODICE_FISCALE_IMPRESA']);
$titoloDomanda = "<i>BONU<span style=\"font-size:20px\">S</span>ICILIA</i> - AVVISO PUBBLICO A FAVORE DELLE MICROIMPRESE ARTIGIANE, COMMERCIALI, INDUSTRIALI E DI SERVIZI PER LA CONCESSIONE DI UN CONTRIBUTO A FONDO PERDUTO<br>ai sensi dell'art.10 comma 16 della L.R. del 12 maggio 2020";
$azioneDomanda = "Azione 3.1.1_04a";
$ddg_numero = DDG_NUMERO;
$ddg_data = DDG_DATA;
$htmlHeader = <<<EOD
<style>
.header-tb td{
border-top:1px solid #000000;
border-bottom:1px solid #000000;
}
.all-tb td{
padding: 5px;
border:1px solid #000000;
}
ul li{
margin-bottom: 1px;
}
</style>
<div style="text-align: center">
<img src="/assets/img/test2b.jpg" alt=""/>
</div>
<h3 style="color:#2E64FE">Allegato 2.A - Modello di Dichiarazione di adesione</h3>
<div style="text-align: center">
<h3>$titoloDomanda</h3>
<h3>$azioneDomanda</h3>
</div>
<table width="100%">
<tr>
<td width="60%">&nbsp;</td>
<td width="40%"><p><b>Alla REGIONE SICILIANA</b><br/>
<b>Dipartimento Attività produttive</b><br/>
<b>Via degli Emiri n. 45</b><br/>
<b>90135 Palermo</b></p></td>
</tr>
</table>
<h3>Oggetto: Dichiarazione di adesione a parziale rettifica dell'Istanza di accesso al contributo (Allegato 2) come previsto dall'Avviso pubblico approvato con D.D.G n. $ddg_numero del $ddg_data</h3>
<h3>Identificativo istanza (id): $IDDomanda</h3>
EOD;
$denominazione = $domanda_array['DENOMINAZIONE_IMPRESA'];
$forma_giuridica = $domanda_array['vi_forma_giuridica'];
$c_fiscale_imp = $codice_fiscale_impresa;
$partita_iva = $domanda_array['vi_partita_iva'];
//$htmlHeader2 = <<<EOD
// <p style="text-align: justify">$txt_sottoscritto <b>$cognome</b> <b>$nome</b> $txt_natoa <b>$comune_n</b> Prov. <b>$provincia_n</b> il <b>$data_n</b>
// Residente in <b>$comune_residenza</b>, Prov. <b>$provincia_residenza</b>, Via/Loc. <b>$indirizzo_residenza</b>, CAP <b>$cap_residenza</b>, Codice Ficale <b>$c_fiscale</b>,
// Telefono cellulare <b>$spid_moble_phone</b>, documento di riconoscimento (Tipo e nr) <b>$spid_tipo_documento $spid_numero_documento</b>, rilasciato da <b>$spid_ente_rilascio</b>, il <b>$spid_data_rilascio</b>, scadenza <b>$spid_data_scadenza</b> in qualità di legale rappresentante/titolare dell'impresa:
// </p>
//EOD;
$htmlHeader2 = <<<EOD
<p style="text-align: justify">$txt_sottoscritto <b>$cognome</b> <b>$nome</b> $txt_natoa <b>$comune_n</b> Prov. <b>$provincia_n</b> il <b>$data_n</b>
Residente in <b>$comune_residenza</b>, Prov. <b>$provincia_residenza</b>, Via/Loc. <b>$indirizzo_residenza</b>, CAP <b>$cap_residenza</b>, Codice Ficale <b>$c_fiscale</b>,
in qualità di legale rappresentante/titolare dell'impresa <b>$denominazione ($forma_giuridica)</b> (Ragione Sociale), P.IVA/C.F. <b>$partita_iva</b>/<b>$c_fiscale_imp</b>
come meglio già identificata nell'Allegato 2
</p>
<p>
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
</p>
EOD;
$htmlDichiaraChe = <<<EOD
<div style="text-align: center">
<h3>DICHIARA</h3>
</div>
<ul style="text-align: justify">
<li>di essere a conoscenza e di accettare espressamente ed incondizionatamente le modifiche apportate all'AVVISO PUBBLICO A FAVORE DELLE MICROIMPRESE ARTIGIANE, COMMERCIALI, INDUSTRIALI E DI SERVIZI PER LA CONCESSIONE DI UN CONTRIBUTO A FONDO PERDUTO, BONUSICILIA (con particolare riferimento agli artt. 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 e 14 dell'Avviso) dal DDG n.$ddg_numero del $ddg_data relativamente a termini, modalità, criteri ed importo del contributo massimo erogabile;</li>
<li>di voler accedere al contributo a fondo perduto <i><b>BONU<span style="font-size:20px">S</span>ICILIA</b></i> per un ammontare pari ad un massimo di € <b>3.500,00 (tremilacinquecento/00)</b>. Il contributo concesso effettivo sarà calcolato sulla base del seguente rapporto: dotazione finanziaria di cui all'art. 3 comma 1 dell'Avviso pubblico diviso il numero di istanze utilmente presentate entro i termini di cui all'art. 8 comma 2 dell'Avviso;</li>
<li>di essere a conoscenza che a seguito delle modifiche relative a termini, modalità, criteri ed importo del contributo massimo erogabile, sono stati revocati l'Allegato 3 – Modello per la richiesta di erogazione del contributo e l'Allegato 3a – Schema di rapporto di certificazione, in quanto l'istanza di accesso al contributo include già la richiesta di erogazione sul conto corrente dedicato/iban indicato dall'impresa.</li>
</ul>
EOD;
$htmlFirma = <<<EOD
<table width="100%">
<tr>
<td width="30%">
<div style="text-align: center">
<h4>Data</h4>
</div>
</td>
<td width="70%">
<div style="text-align: center">
<h4>Firmato digitalmente</h4>
</div>
</td>
</tr>
</table>
EOD;
$asterischi = <<<EOD
<div style="text-align: center">
*****************************************************************************************************************************
</div>
EOD;
$intestazione_DSAN = <<<EOD
<div style="text-align: center">
<h3>DICHIARAZIONE SOSTITUTIVA DELL'ATTO DI NOTORIETA'<br>
(artt. 46 e 47 D.P.R. 28.12.2000, n. 445)<br>
(Art. 264 comma 1, lettera a), D.L. 19.05.2020, n. 34</h3>
</div>
EOD;
$titolare_DSAN = <<<EOD
<p style="text-align: justify">$txt_sottoscritto <b>$cognome</b> <b>$nome</b> Codice Ficale <b>$c_fiscale</b> $txt_natoa <b>$comune_n</b> Prov. <b>$provincia_n</b> il <b>$data_n</b>,
residente a <b>$comune_residenza</b>, prov. <b>$provincia_residenza</b>, all'indirizzo <b>$indirizzo_residenza</b>,
in qualità di legale rappresentante/titolare dell'impresa <b>$denominazione</b>, P.IVA <b>$partita_iva</b> C.F. <b>$c_fiscale_imp</b>,
</p>
EOD;
$consapevole_DSAN = <<<EOD
<div style="text-align: center">
CONSAPEVOLE
</div>
<ul style="text-align: justify">
<li>delle sanzioni penali richiamate dall'art. 76 del D.P.R 28/12/00 n.445 in caso di dichiarazioni mendaci e della decadenza dei benefici eventualmente conseguenti al provvedimento emanato sulla base di dichiarazioni non veritiere, di cui all'art. 75 del D.P.R. del 28/12/00 n. 445, ai sensi e per gli effetti dell'art. 47 del citato D.P.R. 445/2000;</li>
<li>che ai sensi dell'Art. 264 comma 1, lettera a del D.L. 19.05.2020 n. 34, la dichiarazione mendace comporta, altresì, la revoca degli eventuali benefici già erogati nonchè il divieto di accesso a contributi, finanziamenti e agevolazioni per un periodo di 2 anni decorrenti da quando l'amministrazione ha adottato l'atto di decadenza sotto la propria responsabilità.</li>
</ul>
EOD;
$parametroDichiara = REGOLARITA[$statoRegolarita];
if ($statoRegolarita == 1) {
$motivazioneRegolarita;
}
$dichiara_DSAN = <<<EOD
<div style="text-align: center">
<h4>DICHIARA</h4>
</div>
<div style="text-align: justify">
$parametroDichiara<br><br><u><b>$motivazioneRegolarita</b></u>
</div>
EOD;
$firma_DSAN = <<<EOD
<table width="100%">
<tr>
<td width="30%">
<div style="text-align: center">
<h4>Data</h4>
</div>
</td>
<td width="70%">
<div style="text-align: center">
<h4>Firmato digitalmente</h4>
</div>
</td>
</tr>
</table>
EOD;
$attenzione_DSAN = <<<EOD
<div>
<br><b><span style="background-color: yellow;"><u>ATTENZIONE: firmare la presente dichiarazione con firma digitale del Titolare/Legale rappresentante.</u></span></b><br><br>
</div>
<div>
<span style="font-size:11px">(1) Ai sensi dell'art. 264 comma 2, lettera a) 1), D.L. 19.05.2020, n. 34, l'Amministrazione effettuerà idonei controlli anche a campione per verificare la veridicità delle dichiarazioni rese.</span>
</div>
EOD;
$htmlDomanda = $htmlHeader . $htmlHeader2 .
$htmlDichiaraChe . $htmlFirma .
$asterischi .
$intestazione_DSAN . $titolare_DSAN . $consapevole_DSAN . $dichiara_DSAN .
$firma_DSAN . $attenzione_DSAN;
//echo $htmlDomanda;
//exit();
$nomeFilePdf = md5($codice_fiscale_impresa) . ".pdf";
//exit();
ob_clean();
$pdf = new PDF_DOMANDA(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pageBreack = "";
$pdf->SetCreator(PDF_CREATOR);
// set default header data
//$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT + 3, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT + 3);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//set some language-dependent strings
$pdf->setLanguageArray($l);
// set font
//$pdf->SetFont('times', 'BI', 16);
$pdf->SetFont('helvetica', '', 10);
$pdf->AddPage();
$pdf->writeHTML($htmlDomanda, false, 0, true, 0);
#######################################################################################
$dir = $domandaForAdesione['CODICE_FISCALE_LEGALE'];
// $cartella = ROOT_UPLOAD_PRESENTAZIONE . $dir;
$cartella = ROOT_UPLOAD . $dir;
if (is_dir($cartella) === false) {
mkdir($cartella, 0755);
}
$cartella .= "/" . $domandaForAdesione['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);
}
######################################################################################
if (file_exists($cartella . $nomeFilePdf)) {
$nomeFilePdf = time() . $nomeFilePdf;
}
//$pdf->Output($nomeFilePdf, 'I');
//exit();
$nomefilePrefix = $pdf->Output($cartella . $nomeFilePdf, 'F');
$ricavohash = md5_file($cartella . $nomeFilePdf);
$domanda_adesione->HASH_FILE = $ricavohash;
//$response = file_get_contents($cartella . $nomeFilePdf);
$con->db_transactionStart();
$transaction = false;
$result = $domanda_adesione->Save();
if ($result['esito'] == 1) {
$transaction = true;
} else {
$return['erroreDescrizione'] = $result['descrizioneErrore'];
}
if ($transaction) {
$file = $cartella . $nomeFilePdf;
$con->db_transactionCommit();
$url = $file;
$return['success'] = true;
$return['url'] = $url;
// header('Content-Description: File Transfer');
// header('Content-Type: application/pdf');
// header('Content-Type: application/octet-stream');
// header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1');
// header('Pragma: public');
// header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
// header('Content-Disposition: inline; filename="' . basename($file) . '"');
// header('Content-Length: ' . filesize($file));
// ob_clean();
// flush();
// readfile($file);
// exit();
} else {
$return['esito'] = -999;
$return['erroreDescrizione'] = "Attenzione , riprovare o contattare il Personale Tecnico";
$con->db_transactionRollback();
unlink($cartella . $nomeFilePdf);
}
exit(json_encode($return));
}