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
|
<?php
|
||||||
|
|
||||||
require_once('../src/User.php');
|
require_once('../src/User.php');
|
||||||
|
require_once('../src/Twig.php');
|
||||||
|
|
||||||
if (isset($_POST)) {
|
if (isset($_POST)) {
|
||||||
if (
|
if (
|
||||||
@@ -23,7 +24,4 @@ if (isset($_POST)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$vue = "users/add.twig";
|
renderTwig("users/add.twig", array());
|
||||||
$donnees = array();
|
|
||||||
|
|
||||||
require_once('../modele/twig.php');
|
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
require_once('../src/User.php');
|
require_once('../src/User.php');
|
||||||
|
require_once('../src/Twig.php');
|
||||||
|
|
||||||
if (isset($_GET['id']) && !empty($_GET['id'])) {
|
if (isset($_GET['id']) && !empty($_GET['id'])) {
|
||||||
$id = strip_tags($_GET['id']);
|
$id = strip_tags($_GET['id']);
|
||||||
@@ -13,8 +14,4 @@ if (isset($_GET['id']) && !empty($_GET['id'])) {
|
|||||||
header('Location: index.php');
|
header('Location: index.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
renderTwig("users/details.twig", array("user" => $user));
|
||||||
$vue = "users/details.twig";
|
|
||||||
$donnees = array("user" => $user);
|
|
||||||
|
|
||||||
require_once('../modele/twig.php');
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('../src/User.php');
|
require_once('../src/User.php');
|
||||||
|
require_once('../src/Twig.php');
|
||||||
|
|
||||||
if (isset($_POST)) {
|
if (isset($_POST)) {
|
||||||
if (
|
if (
|
||||||
@@ -28,7 +29,4 @@ if (isset($_GET['id']) && !empty($_GET['id'])) {
|
|||||||
$user = GetUser($id);
|
$user = GetUser($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
$vue = "users/edit.twig";
|
renderTwig("users/edit.twig", array("user" => $user));
|
||||||
$donnees = array("user" => $user);
|
|
||||||
|
|
||||||
require_once('../modele/twig.php');
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// On inclut la connexion à la base
|
|
||||||
require_once('../src/User.php');
|
require_once('../src/User.php');
|
||||||
|
require_once('../src/Twig.php');
|
||||||
|
|
||||||
$vue = "users/index.twig";
|
renderTwig("users/index.twig", array("users" => GetUsers()));
|
||||||
$donnees = array("users" => GetUsers());
|
|
||||||
|
|
||||||
require_once('../modele/twig.php');
|
|
||||||
|
|||||||
@@ -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