gest366/modules/opzioni/actions.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 &quot;" . $result["nome"] . "&quot; 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!"));
}
}
}
}
?>