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.
122 righe
4.5 KiB
122 righe
4.5 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) && tokenVerify()) { |
|
$error = false; |
|
if (empty($_POST["codice"])) { $_POST["timestamp_creazione"] = date('Y-m-d H:i:s'); } |
|
$createDomain = false; |
|
if (!empty($_POST["dominio"]) && $config["protocollo"] == "https://" && preg_match('/^(?:[-A-Za-z0-9\.]+\.)+[A-Za-z]{2,6}$/', $_POST["dominio"])) { |
|
$pieces = explode(".",$_POST["dominio"]); |
|
if (count($pieces) == 3 && $pieces[1] == "tuttogare" && $pieces[2] == "it" && !$config["demoEnv"] && !$config["developEnv"]) { |
|
$_POST["alias"] = "S"; |
|
} else { |
|
$ris_check = $pdo->go("SELECT alias FROM b_enti WHERE dominio = :dominio ",[":dominio"=>$_POST["dominio"]]); |
|
if ($ris_check->rowCount() == 0) { |
|
$createDomain = true; |
|
} |
|
} |
|
} |
|
if (!empty($_POST["codice"])) { |
|
$existingEnte = Ente::getInfoFromID($_POST["codice"]); |
|
if (!empty($existingEnte)) { |
|
$existingEnte = reset($existingEnte); |
|
if (!empty($existingEnte["dominio"]) && empty($existingEnte["db"])) { |
|
$_POST["db"] = "W"; |
|
} |
|
} |
|
} |
|
if (!empty($_POST["dominio"]) && empty($_POST["codice"])) { |
|
$_POST["db"] = "W"; |
|
} |
|
if ($createDomain) { |
|
$_POST["alias"] = "W"; |
|
} |
|
$salva = new salva(); |
|
$salva->debug = false; |
|
|
|
$salva->nome_tabella = "b_enti"; |
|
$salva->operazione = empty($_POST["codice"]) ? "INSERT" : "UPDATE"; |
|
$salva->oggetto = $_POST; |
|
$salva->ignore = ["token","logo"]; |
|
$codice = $salva->save(); |
|
if ($codice !== false) { |
|
if (!empty($_SESSION["ente-new-img"])) { |
|
$image = new \claviska\SimpleImage(); |
|
$image->fromString($_SESSION["ente-new-img"]); |
|
$ext = $image->getMimeType(); |
|
$ext = explode("/",$ext); |
|
$ext = end($ext); |
|
$logo = "logo-{$codice}-".time().".{$ext}"; |
|
$riferimento = hash("md5",$_SESSION["ente-new-img"]); |
|
$salt = substr(str_shuffle($riferimento),0,5); |
|
$riferimento .= $salt; |
|
} else if ($_POST["elimina_foto"] == "S") { |
|
$logo = ""; |
|
$riferimento = ""; |
|
} |
|
if (isset($logo)) { |
|
$salva->operazione = "UPDATE"; |
|
$salva->ignore = []; |
|
$salva->oggetto = ["codice"=>$codice,"logo"=>$logo,"riferimento"=>$riferimento]; |
|
$salva->save(); |
|
} |
|
if (isset($image)) { |
|
$path = $config["mediaFolder"] . "/enti/"; |
|
if (!is_dir($path)) { mkdir($path,0750,true); } |
|
$image->toFile($path."/".$riferimento); |
|
} |
|
|
|
$validation = array(); |
|
if (empty($_POST["cf"])) { $validation[] = __("codice fiscale") . " " . __("obbligatorio"); } |
|
if (empty($_POST["denominazione"])) { $validation[] = __("Denominazione") . " " . __("obbligatorio"); } |
|
|
|
$bind = array(); |
|
$bind[":codice"] = $codice; |
|
$strsql = "DELETE FROM r_contributi_sua WHERE codice_ente = :codice"; |
|
$risultato = $pdo->go($strsql,$bind); |
|
if (isset($_POST["contributi_sua"])) { |
|
foreach($_POST["contributi_sua"] as $contributo) { |
|
|
|
$contributo["codice_ente"] = $codice; |
|
$salva = new salva(); |
|
$salva->debug = false; |
|
|
|
$salva->nome_tabella = "r_contributi_sua"; |
|
$salva->operazione = "INSERT"; |
|
$salva->oggetto = $contributo; |
|
$codice_contributo = $salva->save(); |
|
|
|
} |
|
} |
|
if (empty($validation)) { |
|
if (empty($_POST["codice"]) && !empty($_POST["dominio"])) { |
|
?> |
|
swal({title:js_dict["success-msg"],type:"success"}).then(function(){ showModalWithURL("/backend/enti/permessi/edit.php?codice=<?= $codice ?>"); }); |
|
<? |
|
} else { |
|
?> |
|
swal({title:js_dict["success-msg"],type:"success"}).then(function(){ window.location.href="/backend/enti/edit.php?codice=<?= $codice ?>"; }); |
|
<? |
|
} |
|
} else { |
|
$errori = ""; |
|
foreach ($validation as $value) { |
|
$errori .= $value . "<br>"; |
|
} |
|
?> |
|
swal({title:js_dict.attenzione,html:"<?= $errori ?>",type:"warning"}).then(function(){ window.location.href="/backend/enti/edit.php?codice=<?= $codice ?>"; }); |
|
<? |
|
} |
|
|
|
} else { |
|
?> |
|
swal({title:js_dict.error,text:js_dict["error-generic"],html:true,type:"error"}); |
|
<? |
|
} |
|
} |
|
if ($error) { |
|
header('HTTP/1.0 403 Forbidden'); |
|
die(); |
|
} |
|
?>
|
|
|