Compare commits
2 Commits
e7ef57817a
...
829d121268
| Author | SHA1 | Date | |
|---|---|---|---|
| 829d121268 | |||
| e2b3062a22 |
@@ -1,12 +0,0 @@
|
||||
<?php
|
||||
/* inclure l'autoloader */
|
||||
require_once('../vendor/autoload.php');
|
||||
/* templates chargés à partir du système de fichiers (répertoire vue) */
|
||||
$loader = new Twig\Loader\FilesystemLoader('../templates');
|
||||
/* options : prod = cache dans le répertoire cache, dev = pas de cache */
|
||||
$options_prod = array('cache' => 'cache', 'autoescape' => true);
|
||||
$options_dev = array('cache' => false, 'autoescape' => true);
|
||||
/* stocker la configuration */
|
||||
$twig = new Twig\Environment($loader);
|
||||
/* charger+compiler le template, exécuter, envoyer le résultat au navigateur */
|
||||
echo $twig->render($vue, $donnees);
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
require_once('../src/User.php');
|
||||
require_once('../src/Twig.php');
|
||||
|
||||
if (isset($_POST)) {
|
||||
if (
|
||||
@@ -23,7 +24,4 @@ if (isset($_POST)) {
|
||||
}
|
||||
}
|
||||
|
||||
$vue = "users/add.twig";
|
||||
$donnees = array();
|
||||
|
||||
require_once('../modele/twig.php');
|
||||
renderTwig("users/add.twig", array());
|
||||
@@ -2,6 +2,7 @@
|
||||
session_start();
|
||||
|
||||
require_once('../src/User.php');
|
||||
require_once('../src/Twig.php');
|
||||
|
||||
if (isset($_GET['id']) && !empty($_GET['id'])) {
|
||||
$id = strip_tags($_GET['id']);
|
||||
@@ -13,8 +14,4 @@ if (isset($_GET['id']) && !empty($_GET['id'])) {
|
||||
header('Location: index.php');
|
||||
}
|
||||
|
||||
|
||||
$vue = "users/details.twig";
|
||||
$donnees = array("user" => $user);
|
||||
|
||||
require_once('../modele/twig.php');
|
||||
renderTwig("users/details.twig", array("user" => $user));
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
require_once('../src/User.php');
|
||||
require_once('../src/Twig.php');
|
||||
|
||||
if (isset($_POST)) {
|
||||
if (
|
||||
@@ -28,7 +29,4 @@ if (isset($_GET['id']) && !empty($_GET['id'])) {
|
||||
$user = GetUser($id);
|
||||
}
|
||||
|
||||
$vue = "users/edit.twig";
|
||||
$donnees = array("user" => $user);
|
||||
|
||||
require_once('../modele/twig.php');
|
||||
renderTwig("users/edit.twig", array("user" => $user));
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
<?php
|
||||
|
||||
// On inclut la connexion à la base
|
||||
require_once('../src/User.php');
|
||||
require_once('../src/Twig.php');
|
||||
|
||||
$vue = "users/index.twig";
|
||||
$donnees = array("users" => GetUsers());
|
||||
|
||||
require_once('../modele/twig.php');
|
||||
renderTwig("users/index.twig", array("users" => GetUsers()));
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
require_once('DataBase.php');
|
||||
|
||||
class Role
|
||||
{
|
||||
public int $id;
|
||||
public string $name;
|
||||
|
||||
function __construct(array $table)
|
||||
{
|
||||
$this->id = $table['id'];
|
||||
$this->name = $table['name'];
|
||||
}
|
||||
}
|
||||
|
||||
function AddRole(string $name): void
|
||||
{
|
||||
global $db;
|
||||
|
||||
ConnectDataBase();
|
||||
|
||||
$sql = "INSERT INTO `roles` (`name`) VALUES (:name);";
|
||||
$query = $db->prepare($sql);
|
||||
$query->bindValue(':name', $name, PDO::PARAM_STR);
|
||||
$query->execute();
|
||||
|
||||
CloseDataBase();
|
||||
}
|
||||
|
||||
function GetRole(int $id): Role
|
||||
{
|
||||
global $db;
|
||||
|
||||
ConnectDataBase();
|
||||
|
||||
$sql = "SELECT * FROM `roles` WHERE `id`=:id;";
|
||||
$query = $db->prepare($sql);
|
||||
$query->bindValue(':id', $id, PDO::PARAM_INT);
|
||||
$query->execute();
|
||||
$result = $query->fetch();
|
||||
|
||||
CloseDataBase();
|
||||
|
||||
if (empty($result))
|
||||
return null;
|
||||
|
||||
return new Role($result);
|
||||
}
|
||||
|
||||
function GetRoles(): array
|
||||
{
|
||||
global $db;
|
||||
|
||||
ConnectDataBase();
|
||||
|
||||
$sql = 'SELECT * FROM `roles`';
|
||||
$query = $db->prepare($sql);
|
||||
$query->execute();
|
||||
$result = $query->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
CloseDataBase();
|
||||
|
||||
$roles = array();
|
||||
|
||||
foreach ($result as $role) {
|
||||
array_push($roles, new User($role));
|
||||
}
|
||||
|
||||
return $roles;
|
||||
}
|
||||
|
||||
function UpdateRole(Role $role): void
|
||||
{
|
||||
global $db;
|
||||
|
||||
ConnectDataBase();
|
||||
|
||||
$sql = "UPDATE `roles` SET `name`=:name WHERE `id`=:id;";
|
||||
$query = $db->prepare($sql);
|
||||
$query->bindValue(':login', $role->name, PDO::PARAM_STR);
|
||||
$query->bindValue(':id', $role->id, PDO::PARAM_INT);
|
||||
$query->execute();
|
||||
|
||||
CloseDataBase();
|
||||
}
|
||||
|
||||
15
tpCrudTwig/src/Twig.php
Normal file
15
tpCrudTwig/src/Twig.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/* inclure l'autoloader */
|
||||
require_once('../vendor/autoload.php');
|
||||
|
||||
function renderTwig(string $file, $donnees) {
|
||||
/* templates chargés à partir du système de fichiers (répertoire vue) */
|
||||
$loader = new Twig\Loader\FilesystemLoader('../templates');
|
||||
/* options : prod = cache dans le répertoire cache, dev = pas de cache */
|
||||
$options_prod = array('cache' => 'cache', 'autoescape' => true);
|
||||
$options_dev = array('cache' => false, 'autoescape' => true);
|
||||
/* stocker la configuration */
|
||||
$twig = new Twig\Environment($loader);
|
||||
/* charger+compiler le template, exécuter, envoyer le résultat au navigateur */
|
||||
echo $twig->render($file, $donnees);
|
||||
}
|
||||
Reference in New Issue
Block a user