mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-04-21 08:56:27 +02:00
update settings
This commit is contained in:
parent
a99e159b1f
commit
9b7b78b306
12 changed files with 92 additions and 52 deletions
|
@ -21,22 +21,52 @@ namespace controllers\internals;
|
|||
}
|
||||
|
||||
/**
|
||||
* Return all settings.
|
||||
*
|
||||
* @return array || false
|
||||
* Return all settings of a user.
|
||||
* @param int $id_user : user id
|
||||
* @return array
|
||||
*/
|
||||
public function get_all()
|
||||
public function gets_for_user (int $id_user)
|
||||
{
|
||||
return $this->model_setting->get_all();
|
||||
$settings = $this->model_setting->gets_for_user($id_user);
|
||||
$settings_array = [];
|
||||
|
||||
foreach ($settings as $setting)
|
||||
{
|
||||
$settings_array[$setting['name']] = $setting['value'];
|
||||
}
|
||||
|
||||
return $settings_array;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Update a setting by his name.
|
||||
*
|
||||
* Update a setting by his name and user id.
|
||||
* @param int $id_user : user id
|
||||
* @param string $name : setting name
|
||||
* @param mixed $value
|
||||
* @return int : number of modified lines
|
||||
*/
|
||||
public function update(string $name, $value): bool
|
||||
public function update (int $id_user, string $name, $value) : bool
|
||||
{
|
||||
return (bool) $this->model_setting->update($name, $value);
|
||||
return (bool) $this->model_setting->update($id_user, $name, $value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create a new setting
|
||||
* @param int $id_user : user id
|
||||
* @param string $name : setting name
|
||||
* @param mixed $value : value of the setting
|
||||
* @return bool
|
||||
*/
|
||||
public function insert (int $id_user, string $name, $value) : bool
|
||||
{
|
||||
$setting = [
|
||||
'id_user' => $id_user,
|
||||
'name' => $name,
|
||||
'value' => $value,
|
||||
];
|
||||
|
||||
return (bool) $this->model_setting->insert($setting);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ namespace controllers\publics;
|
|||
class Connect extends \descartes\Controller
|
||||
{
|
||||
private $internal_user;
|
||||
private $internal_setting;
|
||||
|
||||
/**
|
||||
* Cette fonction est appelée avant toute les autres :.
|
||||
|
@ -28,6 +29,7 @@ namespace controllers\publics;
|
|||
$bdd = \descartes\Model::_connect(DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD);
|
||||
|
||||
$this->internal_user = new \controllers\internals\User($bdd);
|
||||
$this->internal_setting = new \controllers\internals\Setting($bdd);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -62,6 +64,9 @@ namespace controllers\publics;
|
|||
return $this->redirect(\descartes\Router::url('Connect', 'login'));
|
||||
}
|
||||
|
||||
$settings = $this->internal_setting->gets_for_user($user['id']);
|
||||
$user['settings'] = $settings;
|
||||
|
||||
$_SESSION['connect'] = true;
|
||||
$_SESSION['user'] = $user;
|
||||
|
||||
|
|
|
@ -51,24 +51,16 @@ namespace controllers\publics;
|
|||
|
||||
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
||||
}
|
||||
|
||||
if (!\controllers\internals\Tool::is_admin())
|
||||
{
|
||||
\FlashMessage\FlashMessage::push('danger', 'Vous devez être administrateur pour pouvoir modifier un réglage.');
|
||||
|
||||
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
||||
}
|
||||
|
||||
|
||||
$setting_value = $_POST['setting_value'] ?? false;
|
||||
|
||||
if (false === $setting_value)
|
||||
{
|
||||
\FlashMessage\FlashMessage::push('danger', 'Vous devez renseigner une valeure pour le réglage.');
|
||||
|
||||
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
||||
}
|
||||
|
||||
$update_setting_result = $this->internal_setting->update($setting_name, $setting_value);
|
||||
$update_setting_result = $this->internal_setting->update($_SESSION['user']['id'], $setting_name, $setting_value);
|
||||
if (false === $update_setting_result)
|
||||
{
|
||||
\FlashMessage\FlashMessage::push('danger', 'Impossible de mettre à jour ce réglage.');
|
||||
|
@ -77,7 +69,6 @@ namespace controllers\publics;
|
|||
}
|
||||
|
||||
\FlashMessage\FlashMessage::push('success', 'Le réglage a bien été mis à jour.');
|
||||
|
||||
return $this->redirect(\descartes\Router::url('Setting', 'show'));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue