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

?>