forked from Balthov60/ProjetWebS3
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
109 lines (71 loc) · 3.63 KB
/
index.php
File metadata and controls
109 lines (71 loc) · 3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
require __DIR__ . '/vendor/autoload.php';
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Tools\Setup;
/*************************/
/* Init Silex Components */
/*************************/
$app = new Silex\Application();
/* Entity Manager */
$app['connection'] = [ 'driver' => 'pdo_mysql', 'host' => 'localhost',
'user' => 'root', 'password' => '', 'dbname' => 'blog-projet-web'];
$app['doctrine_config'] = Setup::createYAMLMetadataConfiguration([__DIR__ . '/config'], true);
$app['em'] = function ($app) {
return EntityManager::create($app['connection'], $app['doctrine_config']);
};
/* URL Generator */
$app->register(new Silex\Provider\UrlGeneratorServiceProvider());
/* Twig */
$app->register(new Silex\Provider\TwigServiceProvider(), [
'twig.path' => __DIR__ . '/src/Views',
]);
/* Session */
$app->register(new Silex\Provider\SessionServiceProvider());
if (null === $app["session"]->get("user"))
$app["session"]->set("user", ["username" => "", "isConnected" => false, "isAdmin" => false]);
/*****************/
/* Define Routes */
/*****************/
/* HomePage */
$app->get('', 'DUT\\Controllers\\HomeController::displayHomePage')
->bind('home');
/* Auth */
$app->get('/login', 'DUT\\Controllers\\AuthController::displayLoginPage')
->bind('login');
$app->get('/loginError', 'DUT\\Controllers\\AuthController::displayLoginPageWithErrorMsg')
->bind('loginError');
$app->post('/login', 'DUT\\Controllers\\AuthController::login')
->bind('loginPost');
$app->get('/logout', 'DUT\\Controllers\\AuthController::logout')
->bind('logout');
/* Subscribe */
$app->get("/subscribe", "DUT\\Controllers\\SubscribeController::displaySubscribePage")
->bind('subscribe');
$app->get("/subscribe/{errorMsg}", "DUT\\Controllers\\SubscribeController::displaySubscribePageErrorMsg")
->bind('subscribeError');
$app->post("/subscribe", "DUT\\Controllers\\SubscribeController::subscribe")
->bind('subscribePost');
/* Post */
$app->get("/posts", "DUT\\Controllers\\PostController::displayAllPosts")
->bind("allPostsList");
$app->get("/createPost", "DUT\\Controllers\\PostController::displayPostCreation")
->bind("createPost")->before('DUT\\Controllers\\AuthController::isAdmin');
$app->post("/createPost", "DUT\\Controllers\\PostController::savePost")
->bind("savePost")->before('DUT\\Controllers\\AuthController::isAdmin');
$app->get("/{idPost}", "DUT\\Controllers\\PostController::displayPost")
->bind("{idPost}")->before('DUT\\Controllers\\AuthController::isConnected');
$app->get("/edit/{idPost}", "DUT\\Controllers\\PostController::displayPostEdition")
->bind("edit/{idPost}")->before('DUT\\Controllers\\AuthController::isAdmin');
$app->get("/remove/{idPost}", "DUT\\Controllers\\PostController::removePost")
->bind("remove/{idPost}")->before('DUT\\Controllers\\AuthController::isAdmin');
/* Commentary */
$app->get("/{idPost}/editCommentary/{idCommentary}", "DUT\\Controllers\\CommentaryController::displayEditCommentaryPage")
->bind("editCommentary")->before('DUT\\Controllers\\AuthController::isOwnerOrAdmin');
$app->post("/addCommentary", "DUT\\Controllers\\CommentaryController::addCommentary")
->bind("addCommentary")->before('DUT\\Controllers\\AuthController::isConnected');
$app->post("/updateCommentary", "DUT\\Controllers\\CommentaryController::updateCommentary")
->bind("updateCommentary")->before('DUT\\Controllers\\AuthController::isConnected');
$app->get("/{idPost}/removeCommentary/{idCommentary}", "DUT\\Controllers\\CommentaryController::removeCommentary")
->bind("removeCommentary")->before('DUT\\Controllers\\AuthController::isOwnerOrAdmin');
$app["debug"] = true;
$app->run();