53 lines
1.7 KiB
PHP
53 lines
1.7 KiB
PHP
<?php
|
|
include_once(__DIR__."/../../core.php");
|
|
|
|
$op = filter('op');
|
|
$idutente = $_SESSION['idutente'];
|
|
|
|
if ($modules_info[$module_name]["permessi"] == 'rw') {
|
|
if ($op == "update") {
|
|
$checkbox = explode(",", $_POST["checkbox"]);
|
|
foreach ($checkbox as $id) {
|
|
if(!isset($_POST[$id]))$_POST[$id] ="";
|
|
}
|
|
|
|
foreach ($_POST as $id => $value) {
|
|
$valore = filter($id);
|
|
|
|
$results = $dbo->fetchArray("SELECT * FROM `zz_impostazioni` WHERE `idimpostazione`='$id' AND editable=1");
|
|
$result = $results[0];
|
|
|
|
// integer
|
|
if ($result['tipo'] == 'integer') {
|
|
if (preg_match('/^\d*$/', $valore)) $dbo->query("UPDATE `zz_impostazioni` SET `valore`='$valore' WHERE `idimpostazione`='$id'");
|
|
else array_push($_SESSION['errors'], "Il valore inserito del parametro "" . $result["nome"] . "" deve essere un numero intero!");
|
|
}
|
|
|
|
// list
|
|
// verifico che il valore scelto sia nella lista enumerata nel db
|
|
else if (preg_match("/list\[(.+?)\]/", $result['tipo'], $m)) {
|
|
$m = explode(",", $m[1]);
|
|
for($i = 0; $i < sizeof($m); $i ++)
|
|
if ($m[$i] == $valore) $dbo->query("UPDATE `zz_impostazioni` SET `valore`='$valore' WHERE `idimpostazione`='$id'");
|
|
}
|
|
|
|
// Boolean (checkbox)
|
|
else if ($result['tipo'] == 'boolean') {
|
|
if ($valore == "on") $valore = 1;
|
|
else $valore = 0;
|
|
$dbo->query("UPDATE `zz_impostazioni` SET `valore`='$valore' WHERE `idimpostazione`='$id'");
|
|
}
|
|
|
|
// string
|
|
else {
|
|
$dbo->query("UPDATE `zz_impostazioni` SET `valore`='$valore' WHERE `idimpostazione`='$id'");
|
|
}
|
|
|
|
if ((sizeof($_SESSION['errors']) <= 0) and (sizeof($_SESSION['infos']) <= 0)) {
|
|
array_push($_SESSION['infos'], _("Impostazioni aggiornate correttamente!"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
?>
|