Loading css/design.css +37 −46 Original line number Diff line number Diff line Loading @@ -66,18 +66,17 @@ h2{ h3 a{ text-decoration: none; text-shadow: 0 0 1px #69f; transition: padding-left 0.3s, text-shadow 0.3s, color 0.3s; transition: color 0.3s; } h3 a:hover{ padding-left: 5px; text-shadow: -5px 0 4px #BBf; transition: padding-left 0.3s, text-shadow 0.3s, color 0.3s; color: #47476b; text-shadow: 0 0 1px #69f; transition: color 0.3s; } #listMenu{ padding: 0; width: auto; display: flex; margin: 15px 0; flex-direction: row; Loading @@ -103,6 +102,7 @@ article{ margin: 20px 0; padding: 5px 15px; background-color: #f0f0f0; border-bottom: 3px solid #ccc; } #listMenu .selected{ Loading @@ -123,11 +123,6 @@ article .postInfos{ background-color: #f0f0f0; } hr{ width: 66%; border: 1px solid #ccc; } a{ transition: color 0.3s; } Loading Loading @@ -156,10 +151,13 @@ input, textarea{ margin: 0 0 0 20px; } #inputContent{ height: 10em; } input:hover, input:focus, textarea:hover, textarea:focus{ padding-left: 10px; border-left: 3px solid #ccc; transition: border-left 0.05s, padding-left 0.05s; transition: border-left 0.05s; } Loading @@ -175,25 +173,6 @@ input[type="submit"]:hover{ transition: background-color 0.3s; } input[type="checkbox"]{ width: 30px; height: 30px; margin: 15px; cursor: pointer; appearance: none; border-width: 0; display: inline-block; box-sizing: border-box; background-color: #eaa; -webkit-appearance: none; transition: background-color 0.3s; } input[type="checkbox"]:checked{ background-color: #aea; transition: background-color 0.3s; } label{ display: inline-block; width: 250px; Loading @@ -213,6 +192,7 @@ form .small{ display: flex; align-items: flex-start; justify-content: center; flex-wrap: wrap; } #listAdmin{ Loading Loading @@ -304,6 +284,28 @@ Media Queries } } @media all and (max-width: 700px){ input, textarea, label{ width: 100%; } label{ margin-right: 20px; } #menu{ width: 100%; } #listMenu{ flex-direction: column; justify-content: center; } #listMenu li, #listMenu h2, #listMenu a{ display: block; width: 90%; margin: 2px auto; text-align: center; } } @media all and (max-width: 500px){ #page{ font-size: 1em; Loading @@ -312,30 +314,19 @@ Media Queries width: 45px; height: 45px; } #title{ margin-bottom: 15px; } #listMenu{ width: 50%; width: 80%; margin: auto; flex-wrap: wrap; justify-content: center; } #listMenu li, #listMenu h2, #listMenu a{ width: 100%; } #listMenu li{ margin: 5px auto; text-align: center; margin: 3px auto; } #listMenu a{ margin: 0; padding: 3px 0; display: inline-block; } #listMenu .selected{ border: none; background-color: #cccccc; background-color: #ccc; } } Loading index.php +3 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,9 @@ session_start(); // le gros gros controlleur (peut-être le casser en plusieurs morceaux plus tard) require_once('site/controller/mainController.php'); // le moins gros controlleur (oui c'est un morceau) require_once('site/controller/adminController.php'); // afficher le contenu (qui va switcher sur le contenu dynamique à afficher) require_once('site/layout/layout.php'); Loading l3m.sql +2 −38 Original line number Diff line number Diff line Loading @@ -10,25 +10,9 @@ CREATE TABLE `l3m_blog` ( `time` datetime NOT NULL, `title` varchar(255) NOT NULL, `content` text NOT NULL, `shortContent` varchar(255) NOT NULL DEFAULT 'Ce billet de blog ne dispose d''aucune description.', `comments` tinyint(4) NOT NULL DEFAULT '1' `shortContent` varchar(255) NOT NULL DEFAULT 'Ce billet de blog ne dispose d''aucune description.' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `l3m_blog` (`id`, `time`, `title`, `content`, `shortContent`, `comments`) VALUES (1, '2019-01-10 00:00:00', 'Le premier article !', 'Contenu contenu contenu.', 'Le premier article du blog !', 1), (2, '2019-01-14 12:08:00', 'Second article du blog !', 'L\'édition fonctionne.', 'WIP !', 1); CREATE TABLE `l3m_comments` ( `id` int(11) NOT NULL, `id_blog` int(11) NOT NULL, `pseudo` varchar(255) NOT NULL, `mail` varchar(255) NOT NULL, `link` varchar(255) NOT NULL, `content` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `l3m_projects` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, Loading @@ -37,28 +21,8 @@ CREATE TABLE `l3m_projects` ( `shortContent` varchar(255) NOT NULL DEFAULT 'Pas de description.' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `l3m_projects` (`id`, `name`, `link`, `content`, `shortContent`) VALUES (1, 'l3m website', 'http://l3m.in', 'Ce site.', 'Pas de description.'); ALTER TABLE `l3m_blog` ADD PRIMARY KEY (`id`); ALTER TABLE `l3m_comments` ADD PRIMARY KEY (`id`), ADD KEY `id_blog` (`id_blog`); ALTER TABLE `l3m_projects` ADD PRIMARY KEY (`id`); No newline at end of file ALTER TABLE `l3m_blog` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; ALTER TABLE `l3m_comments` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; ALTER TABLE `l3m_projects` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; ALTER TABLE `l3m_comments` ADD CONSTRAINT `l3m_comments_ibfk_1` FOREIGN KEY (`id_blog`) REFERENCES `l3m_blog` (`id`); No newline at end of file site/controller/adminController.php 0 → 100644 +89 −0 Original line number Diff line number Diff line <?php // classe pour l'administration du contenu du site require_once('site/model/AdminManager.php'); // tente de connecter l'administrateur function loginAdminPage($pageName){ if(password_verify($_POST['pass'], pass) && $_POST['user'] == user){ $_SESSION['user'] = $_POST['user']; $_SESSION['pass'] = $_POST['pass']; header('Location:/patate'); } else header('Location:/patate'); } // afficher le panneau d'administration & gère l'administration du site function writeAdminPage($pageName){ $admin = new AdminManager(); if($admin->verifyAdminConnect()){ if(isset($_GET['editb'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); if($blogpost = $admin->getBlogPost($title)) require('site/view/private/editblogView.php'); else header('Location:/404'); } else{ $admin->updateBlogPost(); header('Location:/patate'); } } else if(isset($_GET['editp'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $project = $admin->getProject($title); require('site/view/private/editProjectView.php'); } else{ $admin->updateProject(); header('Location:/patate'); } } else if(isset($_GET['submitb'])){ require('site/view/private/createBlogView.php'); } else if(isset($_GET['submitp'])){ require('site/view/private/createProjectView.php'); } else if(isset($_GET['sendb'])){ $admin->sendBlogPost(); header('Location:/'); } else if(isset($_GET['sendp'])){ $admin->sendProject(); header('Location:/projects'); } else if(isset($_GET['deleteb'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $admin->deleteBlogPost($title); header('Location:/patate'); } } else if(isset($_GET['deletep'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $admin->deleteProject($title); header('Location:/patate'); } } else{ $blogposts = $admin->getBlogPosts(); $projects = $admin->getProjects(); require('site/view/private/admin.php'); } } else require('site/view/private/loginFormView.php'); } // déconnexion de la partie administration function decoAdminPage(){ $_SESSION = array(); header('Location:/'); } No newline at end of file site/controller/mainController.php +14 −107 Original line number Diff line number Diff line Loading @@ -6,9 +6,6 @@ require_once('site/model/config.php'); // connexion à la base de données require_once('site/model/Base.php'); // classe pour l'administration du contenu du site require_once('site/model/AdminManager.php'); // classe pour la gesion des billets de blog require_once('site/model/BlogManager.php'); Loading @@ -28,7 +25,7 @@ function getPageName(){ return ['À Propos', 'about']; break; case 'projects': // projets return ['Projets', 'projects']; return ['Projets', 'project']; break; case 'project': // projet return ['Projet', 'project']; Loading @@ -45,9 +42,6 @@ function getPageName(){ case '404': // page not found return ['Erreur 404 - File not found', '404']; break; case 'article': // billet de blog return [$_GET['title'], $_GET['title']]; break; case 'patate': // administration return ['Administration', 'administration']; break; Loading @@ -66,7 +60,13 @@ function getPageName(){ function writeMenu($pageName){ ?> <ul id='listMenu'> <?php if($pageName == 'Administration'){ ?><li><h2><a href="/eplucher" class="selected">🔧</a></h2></li><?php } ?> <?php if($pageName == 'Administration'){ ?> <li><h2><a href="/eplucher" class="selected">🔧</a></h2></li> <?php } else if(isset($_SESSION['user'])){ ?> <li><h2><a href="/patate" >🔧</a></h2></li> <?php } ?> <li><h2><a href="/" title="Blog" <?php if($pageName == 'Blog'){ ?>class="selected"<?php } ?>>Blog</a></h2></li> <li><h2><a href="/about" title="À propos" <?php if($pageName == 'À Propos'){ ?>class="selected"<?php } ?>>À propos</a></h2></li> <li><h2><a href="/projects" title="Projets" <?php if($pageName == 'Projets' || $pageName == 'Projet'){ ?>class="selected"<?php } ?>>Projets</a></h2></li> Loading Loading @@ -99,116 +99,23 @@ function writeBlogPage($pageName){ } // affiche la liste des projets function writeProjectsPage($pageName){ $projects = new ProjectManager(NULL, NULL, NULL, NULL, NULL); $projects = $projects->getProjects(); require('site/view/public/projectsView.php'); } // affiche un projet en particulier function writeProjectPage($pageName){ $project = new ProjectManager(NULL, NULL, NULL, NULL, NULL); // si on affiche un projet en particulier if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $project = $project->get($title); if($project != false){ $project['pageProject'] = true; if($project != false) require('site/view/public/projectView.php'); } else{ header('Location:/404'); } } else require('site/view/public/projectsView.php'); } // tente de connecter l'administrateur function loginAdminPage($pageName){ if(password_verify($_POST['pass'], pass) && $_POST['user'] == user){ $_SESSION['user'] = $_POST['user']; $_SESSION['pass'] = $_POST['pass']; header('Location:/patate'); } else header('Location:/patate'); } // afficher le panneau d'administration & gère l'administration du site function writeAdminPage($pageName){ $admin = new AdminManager(); if($admin->verifyAdminConnect()){ if(isset($_GET['editb'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); if($blogpost = $admin->getBlogPost($title)) require('site/view/private/editblogView.php'); else header('Location:/404'); } // si on affiche la liste des projets else{ $admin->updateBlogPost(); header('Location:/patate'); } } else if(isset($_GET['editp'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $project = $admin->getProject($title); require('site/view/private/editProjectView.php'); } else{ $admin->updateProject(); header('Location:/patate'); } } else if(isset($_GET['submitb'])){ require('site/view/private/createBlogView.php'); } else if(isset($_GET['submitp'])){ require('site/view/private/createProjectView.php'); } else if(isset($_GET['sendb'])){ $admin->sendBlogPost(); header('Location:/'); } else if(isset($_GET['sendp'])){ $admin->sendProject(); header('Location:/projects'); } else if(isset($_GET['deleteb'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $admin->deleteBlogPost($title); header('Location:/patate'); } } else if(isset($_GET['deletep'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $admin->deleteProject($title); header('Location:/patate'); } } else{ $blogposts = $admin->getBlogPosts(); $projects = $admin->getProjects(); require('site/view/private/admin.php'); } } else require('site/view/private/loginFormView.php'); $projects = $project->getProjects(); require('site/view/public/projectsView.php'); } // déconnexion de la partie administration function decoAdminPage(){ $_SESSION = array(); header('Location:/'); } // on récupère le nom de la page ici (avant d'inclure le layout) Loading Loading
css/design.css +37 −46 Original line number Diff line number Diff line Loading @@ -66,18 +66,17 @@ h2{ h3 a{ text-decoration: none; text-shadow: 0 0 1px #69f; transition: padding-left 0.3s, text-shadow 0.3s, color 0.3s; transition: color 0.3s; } h3 a:hover{ padding-left: 5px; text-shadow: -5px 0 4px #BBf; transition: padding-left 0.3s, text-shadow 0.3s, color 0.3s; color: #47476b; text-shadow: 0 0 1px #69f; transition: color 0.3s; } #listMenu{ padding: 0; width: auto; display: flex; margin: 15px 0; flex-direction: row; Loading @@ -103,6 +102,7 @@ article{ margin: 20px 0; padding: 5px 15px; background-color: #f0f0f0; border-bottom: 3px solid #ccc; } #listMenu .selected{ Loading @@ -123,11 +123,6 @@ article .postInfos{ background-color: #f0f0f0; } hr{ width: 66%; border: 1px solid #ccc; } a{ transition: color 0.3s; } Loading Loading @@ -156,10 +151,13 @@ input, textarea{ margin: 0 0 0 20px; } #inputContent{ height: 10em; } input:hover, input:focus, textarea:hover, textarea:focus{ padding-left: 10px; border-left: 3px solid #ccc; transition: border-left 0.05s, padding-left 0.05s; transition: border-left 0.05s; } Loading @@ -175,25 +173,6 @@ input[type="submit"]:hover{ transition: background-color 0.3s; } input[type="checkbox"]{ width: 30px; height: 30px; margin: 15px; cursor: pointer; appearance: none; border-width: 0; display: inline-block; box-sizing: border-box; background-color: #eaa; -webkit-appearance: none; transition: background-color 0.3s; } input[type="checkbox"]:checked{ background-color: #aea; transition: background-color 0.3s; } label{ display: inline-block; width: 250px; Loading @@ -213,6 +192,7 @@ form .small{ display: flex; align-items: flex-start; justify-content: center; flex-wrap: wrap; } #listAdmin{ Loading Loading @@ -304,6 +284,28 @@ Media Queries } } @media all and (max-width: 700px){ input, textarea, label{ width: 100%; } label{ margin-right: 20px; } #menu{ width: 100%; } #listMenu{ flex-direction: column; justify-content: center; } #listMenu li, #listMenu h2, #listMenu a{ display: block; width: 90%; margin: 2px auto; text-align: center; } } @media all and (max-width: 500px){ #page{ font-size: 1em; Loading @@ -312,30 +314,19 @@ Media Queries width: 45px; height: 45px; } #title{ margin-bottom: 15px; } #listMenu{ width: 50%; width: 80%; margin: auto; flex-wrap: wrap; justify-content: center; } #listMenu li, #listMenu h2, #listMenu a{ width: 100%; } #listMenu li{ margin: 5px auto; text-align: center; margin: 3px auto; } #listMenu a{ margin: 0; padding: 3px 0; display: inline-block; } #listMenu .selected{ border: none; background-color: #cccccc; background-color: #ccc; } } Loading
index.php +3 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,9 @@ session_start(); // le gros gros controlleur (peut-être le casser en plusieurs morceaux plus tard) require_once('site/controller/mainController.php'); // le moins gros controlleur (oui c'est un morceau) require_once('site/controller/adminController.php'); // afficher le contenu (qui va switcher sur le contenu dynamique à afficher) require_once('site/layout/layout.php'); Loading
l3m.sql +2 −38 Original line number Diff line number Diff line Loading @@ -10,25 +10,9 @@ CREATE TABLE `l3m_blog` ( `time` datetime NOT NULL, `title` varchar(255) NOT NULL, `content` text NOT NULL, `shortContent` varchar(255) NOT NULL DEFAULT 'Ce billet de blog ne dispose d''aucune description.', `comments` tinyint(4) NOT NULL DEFAULT '1' `shortContent` varchar(255) NOT NULL DEFAULT 'Ce billet de blog ne dispose d''aucune description.' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `l3m_blog` (`id`, `time`, `title`, `content`, `shortContent`, `comments`) VALUES (1, '2019-01-10 00:00:00', 'Le premier article !', 'Contenu contenu contenu.', 'Le premier article du blog !', 1), (2, '2019-01-14 12:08:00', 'Second article du blog !', 'L\'édition fonctionne.', 'WIP !', 1); CREATE TABLE `l3m_comments` ( `id` int(11) NOT NULL, `id_blog` int(11) NOT NULL, `pseudo` varchar(255) NOT NULL, `mail` varchar(255) NOT NULL, `link` varchar(255) NOT NULL, `content` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `l3m_projects` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, Loading @@ -37,28 +21,8 @@ CREATE TABLE `l3m_projects` ( `shortContent` varchar(255) NOT NULL DEFAULT 'Pas de description.' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `l3m_projects` (`id`, `name`, `link`, `content`, `shortContent`) VALUES (1, 'l3m website', 'http://l3m.in', 'Ce site.', 'Pas de description.'); ALTER TABLE `l3m_blog` ADD PRIMARY KEY (`id`); ALTER TABLE `l3m_comments` ADD PRIMARY KEY (`id`), ADD KEY `id_blog` (`id_blog`); ALTER TABLE `l3m_projects` ADD PRIMARY KEY (`id`); No newline at end of file ALTER TABLE `l3m_blog` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; ALTER TABLE `l3m_comments` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; ALTER TABLE `l3m_projects` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; ALTER TABLE `l3m_comments` ADD CONSTRAINT `l3m_comments_ibfk_1` FOREIGN KEY (`id_blog`) REFERENCES `l3m_blog` (`id`); No newline at end of file
site/controller/adminController.php 0 → 100644 +89 −0 Original line number Diff line number Diff line <?php // classe pour l'administration du contenu du site require_once('site/model/AdminManager.php'); // tente de connecter l'administrateur function loginAdminPage($pageName){ if(password_verify($_POST['pass'], pass) && $_POST['user'] == user){ $_SESSION['user'] = $_POST['user']; $_SESSION['pass'] = $_POST['pass']; header('Location:/patate'); } else header('Location:/patate'); } // afficher le panneau d'administration & gère l'administration du site function writeAdminPage($pageName){ $admin = new AdminManager(); if($admin->verifyAdminConnect()){ if(isset($_GET['editb'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); if($blogpost = $admin->getBlogPost($title)) require('site/view/private/editblogView.php'); else header('Location:/404'); } else{ $admin->updateBlogPost(); header('Location:/patate'); } } else if(isset($_GET['editp'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $project = $admin->getProject($title); require('site/view/private/editProjectView.php'); } else{ $admin->updateProject(); header('Location:/patate'); } } else if(isset($_GET['submitb'])){ require('site/view/private/createBlogView.php'); } else if(isset($_GET['submitp'])){ require('site/view/private/createProjectView.php'); } else if(isset($_GET['sendb'])){ $admin->sendBlogPost(); header('Location:/'); } else if(isset($_GET['sendp'])){ $admin->sendProject(); header('Location:/projects'); } else if(isset($_GET['deleteb'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $admin->deleteBlogPost($title); header('Location:/patate'); } } else if(isset($_GET['deletep'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $admin->deleteProject($title); header('Location:/patate'); } } else{ $blogposts = $admin->getBlogPosts(); $projects = $admin->getProjects(); require('site/view/private/admin.php'); } } else require('site/view/private/loginFormView.php'); } // déconnexion de la partie administration function decoAdminPage(){ $_SESSION = array(); header('Location:/'); } No newline at end of file
site/controller/mainController.php +14 −107 Original line number Diff line number Diff line Loading @@ -6,9 +6,6 @@ require_once('site/model/config.php'); // connexion à la base de données require_once('site/model/Base.php'); // classe pour l'administration du contenu du site require_once('site/model/AdminManager.php'); // classe pour la gesion des billets de blog require_once('site/model/BlogManager.php'); Loading @@ -28,7 +25,7 @@ function getPageName(){ return ['À Propos', 'about']; break; case 'projects': // projets return ['Projets', 'projects']; return ['Projets', 'project']; break; case 'project': // projet return ['Projet', 'project']; Loading @@ -45,9 +42,6 @@ function getPageName(){ case '404': // page not found return ['Erreur 404 - File not found', '404']; break; case 'article': // billet de blog return [$_GET['title'], $_GET['title']]; break; case 'patate': // administration return ['Administration', 'administration']; break; Loading @@ -66,7 +60,13 @@ function getPageName(){ function writeMenu($pageName){ ?> <ul id='listMenu'> <?php if($pageName == 'Administration'){ ?><li><h2><a href="/eplucher" class="selected">🔧</a></h2></li><?php } ?> <?php if($pageName == 'Administration'){ ?> <li><h2><a href="/eplucher" class="selected">🔧</a></h2></li> <?php } else if(isset($_SESSION['user'])){ ?> <li><h2><a href="/patate" >🔧</a></h2></li> <?php } ?> <li><h2><a href="/" title="Blog" <?php if($pageName == 'Blog'){ ?>class="selected"<?php } ?>>Blog</a></h2></li> <li><h2><a href="/about" title="À propos" <?php if($pageName == 'À Propos'){ ?>class="selected"<?php } ?>>À propos</a></h2></li> <li><h2><a href="/projects" title="Projets" <?php if($pageName == 'Projets' || $pageName == 'Projet'){ ?>class="selected"<?php } ?>>Projets</a></h2></li> Loading Loading @@ -99,116 +99,23 @@ function writeBlogPage($pageName){ } // affiche la liste des projets function writeProjectsPage($pageName){ $projects = new ProjectManager(NULL, NULL, NULL, NULL, NULL); $projects = $projects->getProjects(); require('site/view/public/projectsView.php'); } // affiche un projet en particulier function writeProjectPage($pageName){ $project = new ProjectManager(NULL, NULL, NULL, NULL, NULL); // si on affiche un projet en particulier if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $project = $project->get($title); if($project != false){ $project['pageProject'] = true; if($project != false) require('site/view/public/projectView.php'); } else{ header('Location:/404'); } } else require('site/view/public/projectsView.php'); } // tente de connecter l'administrateur function loginAdminPage($pageName){ if(password_verify($_POST['pass'], pass) && $_POST['user'] == user){ $_SESSION['user'] = $_POST['user']; $_SESSION['pass'] = $_POST['pass']; header('Location:/patate'); } else header('Location:/patate'); } // afficher le panneau d'administration & gère l'administration du site function writeAdminPage($pageName){ $admin = new AdminManager(); if($admin->verifyAdminConnect()){ if(isset($_GET['editb'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); if($blogpost = $admin->getBlogPost($title)) require('site/view/private/editblogView.php'); else header('Location:/404'); } // si on affiche la liste des projets else{ $admin->updateBlogPost(); header('Location:/patate'); } } else if(isset($_GET['editp'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $project = $admin->getProject($title); require('site/view/private/editProjectView.php'); } else{ $admin->updateProject(); header('Location:/patate'); } } else if(isset($_GET['submitb'])){ require('site/view/private/createBlogView.php'); } else if(isset($_GET['submitp'])){ require('site/view/private/createProjectView.php'); } else if(isset($_GET['sendb'])){ $admin->sendBlogPost(); header('Location:/'); } else if(isset($_GET['sendp'])){ $admin->sendProject(); header('Location:/projects'); } else if(isset($_GET['deleteb'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $admin->deleteBlogPost($title); header('Location:/patate'); } } else if(isset($_GET['deletep'])){ if(isset($_GET['title'])){ $title = urldecode($_GET['title']); $admin->deleteProject($title); header('Location:/patate'); } } else{ $blogposts = $admin->getBlogPosts(); $projects = $admin->getProjects(); require('site/view/private/admin.php'); } } else require('site/view/private/loginFormView.php'); $projects = $project->getProjects(); require('site/view/public/projectsView.php'); } // déconnexion de la partie administration function decoAdminPage(){ $_SESSION = array(); header('Location:/'); } // on récupère le nom de la page ici (avant d'inclure le layout) Loading