gestione gare pubbliche
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.
 
 
 
 
 

91 righe
3.7 KiB

<?
$configPath = substr(__DIR__, 0, strpos(__DIR__, "/public_html")) . "/config.php";
include_once($configPath);
$error = true;
if (!empty($_SESSION["utente"]) && tokenVerify() && !empty($_POST["codice_elemento"]) && !empty($_POST["sezione"])) {
if (Communicator::checkPermission($_POST["sezione"], $_POST["codice_elemento"], $_POST["sub_elemento"] ?? null)) {
$cod_allegati = [];
if (isset($_POST["allegato-public"])) {
foreach ($_POST["allegato-public"] as $allegato) {
$cod_allegato = filesManager::saveFile($allegato["filename"], $_POST["codice_elemento"], "{$_POST["sezione"]}-chat", $allegato["nome"] ?? "","A",$allegato["classificazione"] ?? "");
if ($cod_allegato != false) {
$cod_allegati[] = $cod_allegato;
}
}
if (!empty($cod_allegati)) {
ob_start();
filesManager::printList($_POST["codice_elemento"], "{$_POST["sezione"]}-chat", "A", $cod_allegati, false);
$_POST["corpo"] .= ob_get_clean();
$_POST["corpo"] = str_replace("/allegati/open.php", $_SESSION["config"]["link_sito"] . "/allegati/open.php", $_POST["corpo"]);
}
}
$msg = [];
$_input_sezione = $msg["sezione"] = $_POST["sezione"];
$msg["codice_ente"] = $_SESSION["ente"]->codice;
$_input_codice_elemento = $msg["elemento"] = $_POST["codice_elemento"];
$_input_sub_elemento = $msg["sub_elemento"] = $_POST["sub_elemento"] ?? null;
$msg["corpo"] = $_POST["corpo"];
$msg["cod_allegati"] = implode(",", $cod_allegati);
$salva = new salva();
$salva->debug = false;
$salva->nome_tabella = "b_chat";
$salva->operazione = "INSERT";
$salva->oggetto = $msg;
$codice = $salva->save();
if (!empty($codice)) {
$error = false;
$salva->nome_tabella = "r_chat";
$salva->operazione = "INSERT";
$salva->oggetto = ["codice_messaggio" => $codice, "codice_utente" => $_SESSION["utente"]->codice];
$salva->save();
$tmp = Ente::getUtentiFromModulo($_POST["sezione"], $_SESSION["ente"]->codice, "", $_POST["codice_elemento"]);
if (!empty($tmp)) {
$utenti = $_SESSION["ente"]->getUtentiFromEnte($tmp, (int) $_POST["codice_ente"], 5);
$destinatari = array_column($utenti, "email");
$destinatari = array_unique($destinatari);
array_filter($destinatari);
if (!empty(Communicator::sezioniSpeciali()[$msg["sezione"]])) {
$sezioneSpeciale = Communicator::sezioniSpeciali()[$msg["sezione"]];
$pathSezioneSpeciale = $sezioneSpeciale["destinatari"];
if (file_exists($pathSezioneSpeciale)) {
$aggiuntivi = include($pathSezioneSpeciale);
if (!empty($aggiuntivi)) {
$destinatari[] = $aggiuntivi;
}
}
}
if (!empty($_infoRelazioniChat)) {
$salva = new salva();
$salva->debug = false;
$salva->nome_tabella = "r_chat";
$salva->operazione = "INSERT";
$salva->oggetto = ["codice_messaggio" => $codice];
foreach($_infoRelazioniChat AS $infoUtente) {
$salva->oggetto["codice_utente"] = $infoUtente["codice_utente"];
$salva->oggetto["letto"] = $infoUtente["letto"] ?? "N";
$salva->save();
}
}
if (!empty($destinatari)) {
$mailer = new Communicator();
$mailer->oggetto = __("Nuovo messaggio in chat");
$mailer->corpo = $_POST["corpo"];
$mailer->codice_pec = -3;
$mailer->destinatari = $destinatari;
$mailer->coda = true;
$mailer->send();
}
}
?>
refreshModalHelper();
<?
}
}
if ($error) {
header('HTTP/1.0 403 Forbidden');
die();
}
}
?>