69 lines
1.7 KiB
PHP
Executable File
69 lines
1.7 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Page des réglages de RaspiSMS
|
|
*/
|
|
class settings extends Controller
|
|
{
|
|
/**
|
|
* Cette fonction est appelée avant toute les autres :
|
|
* Elle vérifie que l'utilisateur est bien connecté && est admin
|
|
* @return void;
|
|
*/
|
|
public function before()
|
|
{
|
|
internalTools::verifyConnect();
|
|
|
|
if (!$_SESSION['admin'])
|
|
{
|
|
die();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Cette fonction retourne la page d'accueil des réglages de RaspiSMS
|
|
*/
|
|
public function byDefault()
|
|
{
|
|
return $this->render('settings/default');
|
|
}
|
|
|
|
/**
|
|
* Cette fonction permet de mettre à jour un réglage
|
|
* @param string $settingName : Le nom du réglage à modifier
|
|
* @param $csrf : Le jeton CSRF
|
|
* @param string $_POST['settingValue'] : La nouvelle valeur du réglage
|
|
* @return boolean
|
|
*/
|
|
public function change($settingName, $csrf)
|
|
{
|
|
//On vérifie que le jeton csrf est bon
|
|
if (!internalTools::verifyCSRF($csrf))
|
|
{
|
|
$_SESSION['errormessage'] = 'Jeton CSRF invalide !';
|
|
header('Location: ' . $this->generateUrl('settings'));
|
|
return false;
|
|
}
|
|
|
|
//On vérifie que la valeur est définie
|
|
if (!isset($_POST['settingValue']))
|
|
{
|
|
$_SESSION['errormessage'] = 'Vous devez fournir une valeur pour le réglage !';
|
|
header('Location: ' . $this->generateUrl('settings'));
|
|
return false;
|
|
}
|
|
|
|
global $db;
|
|
|
|
if (!$db->updateTableWhere('settings', ['value' => $_POST['settingValue']], ['name' => $settingName]))
|
|
{
|
|
$_SESSION['errormessage'] = 'Impossible de mettre les données à jour.';
|
|
header('Location: ' . $this->generateUrl('settings'));
|
|
return false;
|
|
}
|
|
|
|
$_SESSION['successmessage'] = 'Les données ont été mises à jour.';
|
|
header('Location: ' . $this->generateUrl('settings'));
|
|
return true;
|
|
}
|
|
}
|