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.
107 righe
4.2 KiB
107 righe
4.2 KiB
<? |
|
|
|
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php"; |
|
include_once($configPath); |
|
$error = true; |
|
if (!empty($_POST) && !empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($radice,$_POST["codice"]) && tokenVerify()) { |
|
if (empty($_POST["codice"])) { |
|
if (isset($_SESSION["ente"]) && consulenza::checkLimite($_SESSION["ente"]->codice)) { |
|
$operazione = "INSERT"; |
|
$_POST["timestamp_creazione"] = date("d-m-Y H:i:s"); |
|
$_POST["codice_gestore"] = $_SESSION["ente"]->codice; |
|
$_POST["gruppo"] = $_SESSION["ente"]->getInfo()["gruppo_consulenza"]; |
|
} |
|
} else { |
|
$consulenza = consulenza::init($_POST["codice"]); |
|
if (!empty($consulenza) && (!empty($consulenza->info["stato"]) || isset($_SESSION["ente"]))) { |
|
$operazione = "UPDATE"; |
|
} |
|
} |
|
if (isset($operazione)) { |
|
if (isset($consulenza)) { |
|
if (!empty($consulenza->info["stato"]) && isset($_POST["titolo"])) { |
|
unset($_POST["titolo"]); |
|
} |
|
if ($consulenza->info["stato"] > $_POST["stato"]) { |
|
unset($_POST["stato"]); |
|
} |
|
} |
|
$salva = new salva(); |
|
$salva->debug = false; |
|
|
|
if (!empty($_POST["titolo"]) || !empty($_POST["stato"])) { |
|
$salva->nome_tabella = "b_consulenze"; |
|
$salva->operazione = $operazione; |
|
$salva->oggetto = $_POST; |
|
$codice = $salva->save(); |
|
} else if (!empty($consulenza)) { |
|
$codice = $consulenza->info["codice"]; |
|
} |
|
if (!empty($codice)) { |
|
$operazione = "INSERT"; |
|
$messaggio = ["codice_consulenza"=>$codice,"messaggio"=>$_POST["messaggio"]]; |
|
$messaggio["tipo"] = (empty($_SESSION["utente"]->codice_ente)) ? "R" : "D"; |
|
if (!empty($_POST["codice_messaggio"])) { |
|
$operazione = "UPDATE"; |
|
$messaggio["codice"] = $_POST["codice_messaggio"]; |
|
} |
|
$salva->nome_tabella = "b_consulenze_conversazioni"; |
|
$salva->operazione = $operazione; |
|
$salva->oggetto = $messaggio; |
|
$codice_messaggio = $salva->save(); |
|
if (!empty($codice_messaggio)) { |
|
$error = false; |
|
if (isset($_POST["allegato-consulenza"])) { |
|
foreach($_POST["allegato-consulenza"] as $allegato) { |
|
if (filesManager::saveFile($allegato["filename"],$codice_messaggio,"consulenza",$allegato["nome"] ?? "","A",$allegato["classificazione"] ?? "") === false) { |
|
$errori_upload[] = $allegato["filename"]; |
|
} |
|
} |
|
} |
|
$consulenza = consulenza::init($codice); |
|
if (!empty($consulenza->info["stato"])) { |
|
$messaggi = $consulenza->getMessaggi(); |
|
if ($messaggio["tipo"] == "D") { |
|
if (!empty($consulenza->info["stato"])) { |
|
$found = false; |
|
if (!empty($messaggi)) { |
|
foreach($messaggi AS $msg) { |
|
if ($msg["tipo"] == "R") { |
|
$found = true; |
|
$destinatari[] = Utente::getInfoFromID($messaggi[0]["utente_modifica"])["email"] ?? null; |
|
} |
|
} |
|
} |
|
if (!$found) { |
|
$destinatari = Utente::getConsulenti($consulenza->info["gruppo"]); |
|
} |
|
} |
|
} else { |
|
$destinatari = Utente::getInfoFromID($messaggi[0]["utente_modifica"])["email"] ?? null; |
|
} |
|
if (!empty($destinatari)) { |
|
$mailer = new Communicator(); |
|
$mailer->oggetto = __("Richieste consulenza"); |
|
$mailer->corpo = "<h1>" . $consulenza->info["titolo"] . "</h1><br>" . $_POST["messaggio"]; |
|
$mailer->codice_pec = -3; |
|
$mailer->coda = true; |
|
$mailer->destinatari = $destinatari; |
|
$mailer->send(); |
|
} |
|
} |
|
?> |
|
swal({title:js_dict["success-msg"],type:"success"}).then(function(){ window.location.href="/backend/consulenza/edit.php?codice=<?= $codice ?>"; }); |
|
<? |
|
} else { |
|
?> |
|
swal({title:js_dict.error,html:js_dict["error-generic"],type:"error"}); |
|
<? |
|
} |
|
} |
|
} |
|
} |
|
if ($error) { |
|
header('HTTP/1.0 403 Forbidden'); |
|
die(); |
|
} |
|
?>
|
|
|