This commit is contained in:
Besnik MEHMETI 2026-02-27 11:55:23 +01:00
commit 03f2e90bdf
3 changed files with 41 additions and 37 deletions

View file

@ -2,6 +2,10 @@
use Smarty\Smarty;
/**
* Le controller de la partie accessible uniquement par l'admin
* @author Yasser
*/
class MotherCtrl {
@ -11,25 +15,19 @@
* Méthode d'affichage des pages
*/
protected function _display($strView, bool $boolDisplay = true){
// Création de l'objet Smarty
$objSmarty = new Smarty();
// Ajouter le var_dump au modificateur de smarty : vardump est le nom appelé après le |
$objSmarty->registerPlugin('modifier', 'vardump', 'var_dump');
// Désactiver la mise en cache
$objSmarty->caching = false;
// Forcer la recompilation des templates
$objSmarty->force_compile = true;
// Vérifier si les templates ont été modifiés
$objSmarty->compile_check = true;
// Récupérer les variables
foreach($this->_arrData as $key=>$value){
//$$key = $value;
$objSmarty->assign($key, $value);
}
// Message de succès
$objSmarty->assign("success_message", $_SESSION['success']??'');
unset($_SESSION['success']);
@ -43,14 +41,6 @@
}else{
return $objSmarty->fetch("views/".$strView.".tpl");
}
// inclusion du header
/*include("views/_partial/header.php");
include("views/".$strView.".php");
include("views/_partial/footer.php");*/
}
}

View file

@ -14,7 +14,7 @@
/**
* Le controler des Project
* @author Yasser & Laura
* @author Yasser, Laura, Besnik & Guillaume
*/
class ProjectCtrl extends MotherCtrl{
@ -114,10 +114,9 @@
/**
* Fonction d'affichage de la page projet
* @author Christel adapter par Guillaume
*/
public function addedit_project(){
if (!isset($_SESSION['user'])){ // Pas d'utilisateur connecté
public function addedit_project() {
if (!isset($_SESSION['user'])){
header("Location:index.php?ctrl=error&action=error_403");
exit;
}
@ -126,18 +125,20 @@
$objProjectModel = new ProjectModel;
$objCategoryModel = new CategoryModel;
// Dans la cas de modif
if (isset($_GET['id'])){
$arrProject = $objProjectModel->findOne($_GET['id']);
if($_SESSION['user']['user_id'] != $arrProject['project_user_id']){
header("Location:index.php?ctrl=error&action=error_403");
exit;
}
$objProject->hydrate($arrProject); // BDD
$this->_arrData['arrImages'] = $objProjectModel->getImagesByProjectId($objProject->getId());
}
// Tester le formulaire
$arrError = [];
if (count($_POST) > 0) {
$objProject->hydrate($_POST); // Formulaire
$objProject->hydrate($_POST);
if ($objProject->getTitle() == ""){
$arrError['title'] = "Le titre est obligatoire";
}
@ -364,9 +365,10 @@
$this->_display('addedit_project');
}
/**
* Fonction d'affichage de projet
*/
* Fonction d'affichage d'un projet
*/
public function display() {
$intId = $_GET['id'] ?? null;
@ -398,11 +400,11 @@
}
/**
* Fonction de partage de projet
*/
public function shareProject(){
if (count($_POST) > 0)
{
* Fonction d'envoi d'email
*/
public function sendEmail(){
if (count($_POST) > 0) {
$projectId = (int)($_POST['project_id'] ?? 0);
$toEmail = trim($_POST['to_email'] ?? '');

View file

@ -159,8 +159,20 @@
<p>Pas de résultats</p>
</div>
{/if}
{foreach $arrProjectToDisplay as $objProject}
{include file="views/_partial/preview.tpl"}
{foreach from=$arrProjectToDisplay item=objProject}
{assign var="isAuthor" value=(isset($smarty.session.user) && $smarty.session.user.user_id == $objProject->getUser_id())}
{assign var="isModerator" value=(isset($smarty.session.user) && $smarty.session.user.user_status == 2)}
{assign var="isDeleted" value=($objProject->getProject_deleted_at() !== null)}
{assign var="isRefused" value=($objProject->getStatus() == "refusé")}
{if $isModerator
|| ($isAuthor && !$isDeleted)
|| (!$isRefused && !$isDeleted)}
{include file="views/_partial/preview.tpl"}
{/if}
{/foreach}
</div>
</section>