<?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; } }