$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 = "