1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2024-12-27 00:06:14 +01:00
openstamanager/modules/impostazioni/actions.php
Thomas Zilio 0b9f6fd2ca Introduzione messaggi flash
Sostituzione del vecchio sistema di gestione dei messaggi per l'utente con il sistema flash (libreria di base slim/flash).
2018-07-07 13:56:22 +02:00

60 lines
1.9 KiB
PHP

<?php
include_once __DIR__.'/../../core.php';
switch (filter('op')) {
case 'update':
foreach ($post as $id => $value) {
$results = $dbo->fetchArray('SELECT * FROM `zz_settings` WHERE `idimpostazione`='.prepare($id).' AND editable = 1');
$result = $results[0];
$continue = true;
// integer
if ($result['tipo'] == 'integer') {
if (!preg_match('/^\d*$/', $value)) {
App::flash()->error(tr('Il valore inserito del parametro _NAME_ deve essere un numero intero!', [
'_NAME_' => '"'.$result['nome'].'"',
]));
$continue = false;
}
}
// list
// verifico che il valore scelto sia nella lista enumerata nel db
elseif (preg_match("/list\[(.+?)\]/", $result['tipo'], $m)) {
$is_valid = false;
$m = explode(',', $m[1]);
for ($i = 0; $i < count($m); ++$i) {
if ($m[$i] == $value) {
$is_valid = true;
}
}
if (!$is_valid) {
App::flash()->error(tr('Il valore inserito del parametro _NAME_ deve essere un compreso tra i valori previsti!', [
'_NAME_' => '"'.$result['nome'].'"',
]));
$continue = false;
}
}
// Boolean (checkbox)
elseif ($result['tipo'] == 'boolean') {
$value = (empty($value) || $value == 'off') ? false : true;
}
if (!$continue) {
$dbo->query('UPDATE `zz_settings` SET `valore`='.prepare($value).' WHERE `idimpostazione`='.prepare($id));
}
}
if ($continue) {
App::flash()->info(tr('Impostazioni aggiornate correttamente!'));
}
break;
}