diff --git a/controllers/ProjectCtrl.php b/controllers/ProjectCtrl.php index fc85dd1..9993677 100644 --- a/controllers/ProjectCtrl.php +++ b/controllers/ProjectCtrl.php @@ -482,15 +482,21 @@ */ public function delete(){ - if (!isset($_SESSION['user']) || $_SESSION['user']['user_status'] != 2) { - header('Location: '.$_ENV['BASE_URL']); - exit; + $objProjectModel = new ProjectModel(); + $intId = $_GET['id'] ?? null; + $project = $objProjectModel->findOne($intId); + if ( + !isset($_SESSION['user']) || + $_SESSION['user']['user_status'] != 2 || + !$project || + $project['project_creatorname'] == $_SESSION['user']['user_pseudo'] + ) { + header('Location: '.$_ENV['BASE_URL']); + exit; } - $intId = $_GET['id'] ?? null; if ($intId) { - $objProjectModel = new ProjectModel(); if ($objProjectModel->delete_soft_project((int) $intId)) { $_SESSION['success'] = "Le projet a été archivé avec succès."; } else { diff --git a/uploads/projects/69a95f336d8be.webp b/uploads/projects/69a95f336d8be.webp new file mode 100644 index 0000000..359a599 Binary files /dev/null and b/uploads/projects/69a95f336d8be.webp differ diff --git a/views/project_display.tpl b/views/project_display.tpl index 6db55de..e617858 100644 --- a/views/project_display.tpl +++ b/views/project_display.tpl @@ -145,7 +145,11 @@ {if isset($smarty.session.user)} {if ($smarty.session.user.user_status == 2 || $smarty.session.user.user_id == $objProject->getUser_id())}