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
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(); |
|
} |
|
} |
|
?>
|