mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-04-20 16:37:48 +02:00
Ajout d'une page de configuration globale de RaspiSMS, uniquement pour l'admin. Permet pour l'instant de gérer uniquement l'activation du transfer de SMS
This commit is contained in:
parent
e49141c747
commit
97e564ba73
8 changed files with 192 additions and 0 deletions
|
@ -300,6 +300,12 @@
|
|||
*/
|
||||
public function sendTransfers ()
|
||||
{
|
||||
if (!RASPISMS_SETTINGS_TRANSFER)
|
||||
{
|
||||
echo "Le transfer de SMS est désactivé ! \n";
|
||||
return false;
|
||||
}
|
||||
|
||||
global $db;
|
||||
$transfers = $db->getFromTableWhere('transfers', ['progress' => false]);
|
||||
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
$email = isset($_SESSION['email']) ? $_SESSION['email'] : 'Mon compte';
|
||||
$this->render('internalIncs/nav', array(
|
||||
'email' => $email,
|
||||
'admin' => $_SESSION['admin'],
|
||||
'page' => $page,
|
||||
));
|
||||
}
|
||||
|
|
69
controllers/settings.php
Executable file
69
controllers/settings.php
Executable file
|
@ -0,0 +1,69 @@
|
|||
<?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 l'activation ou la désactivation du transfer des SMS
|
||||
* @param $csrf : Le jeton CSRF
|
||||
* @param string $_POST['transfer'] : Le nouveau transfer de l'utilisateur
|
||||
* @return void;
|
||||
*/
|
||||
public function changeTransfer($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;
|
||||
}
|
||||
|
||||
//Creation de l'object de base de données
|
||||
global $db;
|
||||
|
||||
if (!isset($_POST['transfer']))
|
||||
{
|
||||
$_SESSION['errormessage'] = 'Vous devez renseigner un valeur';
|
||||
header('Location: ' . $this->generateUrl('settings'));
|
||||
return false;
|
||||
}
|
||||
|
||||
$transfer = (int)$_POST['transfer'];
|
||||
|
||||
if (!$db->updateTableWhere('settings', ['value' => $transfer], ['name' => 'transfer']))
|
||||
{
|
||||
$_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;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue