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.
213 righe
8.1 KiB
213 righe
8.1 KiB
<?php |
|
|
|
//exit(); |
|
|
|
switch ($_POST['action']) { |
|
case 'download': |
|
downloadFile(); |
|
break; |
|
case 'download_istanza': |
|
downloadIstanza(); |
|
break; |
|
case 'download_old': |
|
downloadOld(); |
|
break; |
|
} |
|
|
|
function downloadFile() { |
|
global $LoggedAccount; |
|
$id_allegato = intval($_POST['id']); |
|
if ($id_allegato > 0) { |
|
|
|
$allegato = new Allegati($id_allegato); |
|
if (isset($_POST['file'])) { |
|
$fileName = trim($_POST['file']); |
|
} else { |
|
$fileName = $allegato->FILEPATH; |
|
} |
|
$domanda = new Domanda($allegato->ID_DOMANDA); |
|
$LoggedAccount->checkAuthShowDomandaPage($domanda->ID); |
|
|
|
$documenti_bando = new DocumentiBando($allegato->ID_DOCUMENTO); |
|
$pathInfo = $documenti_bando->getPathInfoDocumento(); |
|
$folder = $domanda->generateDirForUpload(ROOT_UPLOAD_PRESENTAZIONE, $pathInfo["PATH_DOCUMENTO"]); |
|
$filePath = $folder . '/' . $fileName; |
|
|
|
// echo "filename=".$fileName; |
|
// echo "<br>filePath=".$filePath; |
|
// echo "<br>Content-Length=".filesize($filePath); |
|
// exit(); |
|
header('Content-Description: File Transfer'); |
|
header('Content-Type: application/octet-stream'); |
|
header('Content-Disposition: attachment; filename="' . $fileName . '"'); |
|
header('Content-Transfer-Encoding: binary'); |
|
header('Expires: 0'); |
|
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
|
header('Pragma: public'); |
|
header('Content-Length: ' . filesize($filePath)); |
|
ob_clean(); |
|
flush(); |
|
readfile($filePath); |
|
exit; |
|
} |
|
exit; |
|
} |
|
|
|
function downloadIstanza() { |
|
global $LoggedAccount; |
|
|
|
$verificaCsrf = Utils::verifyCsrfToken($_SESSION['Token'], 'csrf_download', $_POST['csrf_download']); |
|
if (!$verificaCsrf) { |
|
$return['erroreDescrizione'] = "Operazione non consentita - 159"; |
|
exit(json_encode($return)); |
|
} |
|
|
|
$response = Utils::initDefaultResponse(); |
|
$domanda = Domanda::loadDomandaFromAccount(); |
|
|
|
if (Utils::isStatoSportelloPreparazione(true) && $domanda->STATO == PREPARATA) { |
|
|
|
$filePath = File::getFolderFromDomanda($domanda, ROOT_UPLOAD_PRESENTAZIONE); |
|
$filePath .= "/domanda_generata/" . $domanda->ALLEGATO_GENERATO; |
|
if (file_exists($filePath) && filesize($filePath) > 0) { |
|
header('Content-Description: File Transfer'); |
|
header('Content-Type: application/octet-stream'); |
|
header('Content-Disposition: attachment; filename=' . File::GetValidFilename($domanda->ALLEGATO_GENERATO)); |
|
header('Content-Transfer-Encoding: binary'); |
|
header('Expires: 0'); |
|
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
|
header('Pragma: public'); |
|
header('Content-Length: ' . filesize($filePath)); |
|
ob_clean(); |
|
flush(); |
|
readfile($filePath); |
|
exit; |
|
} else { |
|
echo "Si prega di procedere alla generazione del file."; |
|
} |
|
} else { |
|
$response['erroreDescrizione'] = 'Operazione non consentita in questa fase.'; |
|
} |
|
} |
|
|
|
function downloadOld() { |
|
global $LoggedAccount, $FOLDER_PRECEDENTI; |
|
|
|
$verificaCsrf = Utils::verifyCsrfToken($_SESSION['Token'], 'csrf_download', $_POST['csrf_download']); |
|
if (!$verificaCsrf) { |
|
$return['erroreDescrizione'] = "Operazione non consentita - 159"; |
|
exit(json_encode($return)); |
|
} |
|
$response = Utils::initDefaultResponse(); |
|
|
|
$domandeOld = Domanda::loadDomandeOld(); |
|
|
|
$anno = intval($_POST['anno']); |
|
|
|
$datiDomandaOld = array(); |
|
foreach ($domandeOld as $domandaOld) { |
|
if ($domandaOld['ANNO'] == $anno) { |
|
$datiDomandaOld['ID'] = $domandaOld['ID']; |
|
$datiDomandaOld['ALLEGATO_GENERATO'] = $domandaOld['ALLEGATO_GENERATO']; |
|
$datiDomandaOld['CODICE_FISCALE'] = $domandaOld['CODICE_FISCALE']; |
|
} |
|
} |
|
|
|
if ($datiDomandaOld['CODICE_FISCALE'] != $LoggedAccount->CODICE_FISCALE) { |
|
Utils::RedirectTo(HTTP_PRIVATE_SECTION . 'dashboard.php'); |
|
exit(); |
|
} |
|
|
|
$root_upload = $FOLDER_PRECEDENTI[$anno] . "presentazione/"; |
|
$filePath = File::getFolderFromDomandaOld($datiDomandaOld['ID'], $root_upload); |
|
$filePath .= "/domanda_generata/" . $datiDomandaOld['ALLEGATO_GENERATO']; |
|
// echo $filePath; |
|
// exit(); |
|
|
|
$fileEsiste = 0; |
|
if (file_exists($filePath) && filesize($filePath) > 0) { |
|
$fileEsiste = 1; |
|
} |
|
$logs = new Logs(); |
|
$logs->ID_OPERATORE = $LoggedAccount->ID; |
|
$logs->IP = $_SERVER['REMOTE_ADDR']; |
|
$logs->USERNAME = $LoggedAccount->COGNOME . " " . $LoggedAccount->NOME; |
|
$logs->MODULE = "DOMANDEOLD"; |
|
$logs->ACTION = $fileEsiste; |
|
$logs->OPERATION = $filePath; |
|
$logs->INFO = ""; |
|
$logs->OLDVALUE = ""; |
|
$return['saveLogs'] = $logs->Save(); |
|
|
|
if (file_exists($filePath) && filesize($filePath) > 0) { |
|
header('Content-Description: File Transfer'); |
|
header('Content-Type: application/octet-stream'); |
|
header('Content-Disposition: attachment; filename=' . File::GetValidFilename($datiDomandaOld['ALLEGATO_GENERATO'])); |
|
header('Content-Transfer-Encoding: binary'); |
|
header('Expires: 0'); |
|
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
|
header('Pragma: public'); |
|
header('Content-Length: ' . filesize($filePath)); |
|
ob_clean(); |
|
flush(); |
|
readfile($filePath); |
|
exit; |
|
} else { |
|
Utils::RedirectTo(HTTP_PRIVATE_SECTION . 'dashboard.php'); |
|
exit(); |
|
} |
|
} |
|
|
|
function printAllegato($allegato, $domanda) { |
|
global $LoggedAccount; |
|
if (!empty($allegato) && !empty($domanda)) { |
|
if ($allegato->FILEPATH != "") { |
|
$file = $allegato->FILEPATH; |
|
if ($LoggedAccount->checkIstitutoFromLoggedAccount($domanda->CODICE_ISTITUTO)) { // controllo proprietario domanda |
|
switch ($allegato->TIPO_DOCUMENTO) { |
|
case TIPO_UPLOAD_OBBLIGATORIO: |
|
$basePath = File::getFolderFromDomanda($domanda, ROOT_UPLOAD_PRESENTAZIONE); |
|
$basePath .= '/obbligatori/'; |
|
break; |
|
case TIPO_UPLOAD_OPZIONALE: |
|
$basePath = File::getFolderFromDomanda($domanda, ROOT_UPLOAD_PRESENTAZIONE); |
|
$basePath .= '/opzionali/'; |
|
break; |
|
case TIPO_UPLOAD_ISTANZA: |
|
$basePath = File::getFolderFromDomanda($domanda, ROOT_UPLOAD_PRESENTAZIONE); |
|
$basePath .= '/istanza/'; |
|
break; |
|
case TIPO_UPLOAD_CONTRIBUTO: |
|
$basePath = File::getFolderFromDomanda($domanda, ROOT_UPLOAD_EROGAZIONE); |
|
$basePath .= '/contributo/'; |
|
break; |
|
} |
|
$filePath = $basePath . $file; |
|
if (file_exists($filePath) && filesize($filePath) > 0) { |
|
header('Content-Description: File Transfer'); |
|
header('Content-Type: application/octet-stream'); |
|
header('Content-Disposition: attachment; filename=' . File::GetValidFilename($file)); |
|
header('Content-Transfer-Encoding: binary'); |
|
header('Expires: 0'); |
|
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
|
header('Pragma: public'); |
|
header('Content-Length: ' . filesize($filePath)); |
|
ob_clean(); |
|
flush(); |
|
readfile($filePath); |
|
exit; |
|
} else { |
|
$msg = "Non è possibile visualizzare il file richiesto, contattare il supporto tecnico (1316)."; |
|
} |
|
} else { |
|
$msg = "Accesso non autorizzato"; |
|
} |
|
} else { |
|
$msg = "Non è possibile visualizzare il file richiesto, contattare il supporto tecnico (1321)."; |
|
} |
|
} else { |
|
$msg = "Non è possibile visualizzare il file richiesto, contattare il supporto tecnico (1325)."; |
|
} |
|
|
|
echo $msg; |
|
}
|
|
|