$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
$id_modulo = "remoto";
$cmd_info = stipula::getInfoModulo($id_modulo);
$error = true;
if (!empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($cmd_info["modulo_riferimento"]) && $_SESSION["utente"]->permission($radice,$_POST["codice_contratto"],$id_modulo)) {
$contratto = stipula::init($_POST["codice_contratto"]);
if (!empty($contratto)) {
$lock = $contratto->checkLock($cmd_info["id"]);
if (!$lock) {
$contraente = $contratto->getContraenti("oe",$_POST["codice_contraente"])[0] ?? false;
if (!empty($contraente["codice_operatore"])) {
$sottoscrizioni = $contratto->getContrattoSottoscritto(true);
if (empty($sottoscrizioni[$contraente["codice"]]["md5"])) {
$previous = false;
foreach($sottoscrizioni AS $id_contraente => $sottoscrizione) {
if (empty($id_contraente)) { $sottoscrizione = $contratto->getFirstContratto(true); }
if ($id_contraente == $contraente["codice"]) { break; }
$previous = $sottoscrizione;
}
if (!empty($previous["content"])) {
$path = sys_get_temp_dir()."/".$_SESSION["utente"]->codice."/".time();
if (is_dir($path) || mkdir($path)) {
$path .= "/".$previous["name"];
if (file_put_contents($path,$previous["content"])) {
$error = false;
$contrattoSottoscritto = array();
if (!empty($sottoscrizioni[$contraente["codice"]])) {
$contrattoSottoscritto["codice"] = $sottoscrizioni[$contraente["codice"]]["codice"];
}
$contrattoSottoscritto["codice_contratto"] = $contratto->info["codice"];
$contrattoSottoscritto["codice_firmatario"] = $contraente["codice"];
$contrattoSottoscritto["utente_creazione"] = $_SESSION["utente"]->codice;
$contrattoSottoscritto["timestamp_creazione"] = date('Y-m-d H:i:s');
$salva = new salva();
$salva->debug = false;
$salva->nome_tabella = "b_contratti_sottoscritti";
$salva->operazione = (empty($contrattoSottoscritto["codice"])) ? "INSERT" : "UPDATE";
$salva->oggetto = $contrattoSottoscritto;
$codice_contratto = $salva->save();
if ($codice_contratto > 0) {
$mailer = new Communicator();
$mailer->oggetto = $contratto->info["oggetto"] . " - " . __("Stipula remota contratto");
$mailer->corpo = __("Effettuate la connessione alla piattaforma per effettuare il caricamento del contratto sottoscritto");
$mailer->corpo .= "
" . __("Contratto allegato") . " HASH SHA256:" . P7Manager::compHash($previous["content"],"sha256");
$mailer->corpo .= "
" . $_SESSION["config"]["link_sito"]."/contratti/dettaglio.php?codice=".$contratto->info["codice"];
$mailer->codice_pec = $contratto->info["codice_pec"];
$mailer->comunicazione = true;
$mailer->sezione = "contratti";
$mailer->codice_gara = $contratto->info["codice"];
$mailer->attachment = [$path];
$mailer->coda = false;
$mailer->destinatari = $contraente["codice_operatore"];
$esito = $mailer->send();
if ($esito) {
$contratto->updateStato(20);
?>
swal({title:js_dict["success-msg"],type:"success"}).then(function(){ window.location.href = "/backend/contratti/remoto/index.php?codice== $contratto->info["codice"] ?>"; });
} else {
?>
swal({title:js_dict.error,html:"= __("Errore nell'invio della messaggio") ?>",type:"error"});
}
unlink($path);
}
}
}
}
}
}
}
}
}
if ($error) {
header('HTTP/1.0 403 Forbidden');
die();
}
?>