display qui etait kc

This commit is contained in:
Yasder5 2026-02-24 16:18:20 +01:00
parent 46c6d53651
commit 485641ed6d

View file

@ -1,96 +1,118 @@
{extends file="views/layout.tpl"} {extends file="views/layout.tpl"}
{block name="title" append} - Portfolio{/block}
{block name="content"} {block name="content"}
<div class="mt-5"> <main class="container mt-5 py-5">
<!-- Message après l'envoi d'email --> <!-- Message après l'envoi d'email -->
{if isset($smarty.get.mail) && $smarty.get.mail === 'ok'} {if isset($smarty.get.mail) && $smarty.get.mail === 'ok'}
<div class="alert alert-success">Email envoyé avec succès.</div> <div class="alert alert-success">Email envoyé avec succès.</div>
{elseif isset($smarty.get.mail) && $smarty.get.mail === 'fail'} {elseif isset($smarty.get.mail) && $smarty.get.mail === 'fail'}
<div class="alert alert-danger">Erreur lors de l'envoi de l'email.</div> <div class="alert alert-danger">Erreur lors de l'envoi de l'email.</div>
{/if} {/if}
<div class="row g-4"> <div class="row g-4">
<!-- Contenu principal du projet --> <!-- Contenu principal du projet -->
<div class="col-lg-8"> <div class="col-lg-8">
<h1 class="fw-bold">{$objProject->getTitle()}</h1> <h1 class="fw-bold">{$objProject->getTitle()}</h1>
<p class="text-muted"> <p class="text-muted">
{$arrProject.category_name ?? 'Général'} {$arrProject.category_name ?? 'Général'}
</p> </p>
<div class="mb-4 shadow-sm"> <div class="mb-4 shadow-sm">
<img <img src="{$smarty.env.IMG_PROJECT_PATH}{$objProject->getThumbnail()}"
src="{$smarty.env.IMG_PROJECT_PATH}{$objProject->getThumbnail()}" class="img-fluid rounded w-100">
class="img-fluid rounded w-100" </div>
alt="Aperçu du projet"
>
</div>
<div class="bg-light p-4 rounded mb-4"> <div class="bg-light p-4 rounded mb-4">
<h4 class="border-bottom pb-2">Description</h4> <h4 class="border-bottom pb-2">Description</h4>
<p class="lead">{$objProject->getDescription()}</p> <p class="lead">{$objProject->getDescription()}</p>
<div class="mt-4"> <div class="mt-4">
{$objProject->getContent()} {$objProject->getContent()}
</div> </div>
</div> </div>
<!-- Formulaire qui envoie la demande au contrôleur (shareProject) -->
<div class="card shadow-sm p-4 mb-5">
<form method="post" action="index.php?ctrl=project&action=shareProject">
<input <!-- Images du projet -->
type="hidden" <section id="galerie-projet">
name="project_id" <h2>Galerie du projet</h2>
value="{$objProject->getId()}" <div class="row">
> {foreach $arrImages as $image}
<input {* On affiche l'image si elle est approuvée OU si l'utlilisateur possède le projet OU si l'utlilisateur est Modérateur*}
type="email" {if ($image.image_status == 'approuvé') ||
name="to_email" (isset($smarty.session.user) && $smarty.session.user.user_status == 2) ||
class="form-control mb-3" (isset($smarty.session.user) && $smarty.session.user.user_id == $objProject->getUser_id())}
placeholder="Adresse email"
required
>
<button type="submit" class="btn btn-primary w-100"> <div class="col-md-4 mb-4">
Envoyer par email <div class="card {if $image.image_status != 'approuvé'}border-warning shadow-none opacity-75{/if}">
</button>
</form> <img src="{$smarty.env.IMG_PROJECT_PATH}{$image.image_name}" class="card-img-top" alt="{$image.image_alt}">
</div>
</div> {* Visible uniquement par le modérateur *}
{if isset($smarty.session.user.user_status) && $smarty.session.user.user_status == 2}
<div class="moderator-tools border-top pt-2 mt-2">
<div class="d-flex gap-2">
<a href="index.php?ctrl=project&action=change_image_status&id_img={$image.image_id}&status=approuvé"
class="btn btn-sm btn-success">Valider</a>
<!-- Sidebar : informations du créateur --> <a href="index.php?ctrl=project&action=delete_image&id_img={$image.image_id}"
<div class="col-lg-4"> class="btn btn-sm btn-outline-danger"
onclick="return confirm('Supprimer définitivement ?')">Supprimer</a>
</div>
</div>
{/if}
</div>
</div>
{/if}
{foreachelse}
<p>Aucune image disponible pour ce projet.</p>
{/foreach}
</div>
</section>
<div class="card text-center shadow-sm p-4">
<a
href="index.php?ctrl=user&action=user&id={$objProject->getUser_id()}"
class="text-decoration-none text-dark"
>
<img
src="{$smarty.env.IMG_USER_PATH}{$objProject->getUser_image()|default:'images.jpg'}"
class="rounded-circle mb-3 mx-auto"
style="width:100px;height:100px;object-fit:cover;"
alt="Photo du créateur"
>
</a>
<h5>{$objProject->getCreatorName()}</h5> <!-- Formulaire qui envoie la demande au contrôleur (shareProject) -->
<div class="card shadow-sm p-4 mb-5">
<form method="post" action="index.php?ctrl=project&action=shareProject">
<p class="text-muted small"> <input type="hidden" name="project_id"
Publié le {$objProject->getCreation_date()} value="{$objProject->getId()}">
</p>
<button class="btn btn-primary">Contacter le talent</button> <input type="email" name="to_email"
</div> class="form-control mb-3"
{*Controle de l'utilisateur ainsi que du status du projet + Suppression disponible pour l'utilisateur possédant le projet*} placeholder="Adresse email" required>
<button type="submit" class="btn btn-primary w-100">
Envoyer par email
</button>
</form>
</div>
</div>
<!-- Sidebar : informations du créateur -->
<div class="col-lg-4">
<div class="card text-center shadow-sm p-4">
<a href="index.php?ctrl=user&action=user&id={$objProject->getUser_id()}" class="text-decoration-none text-dark">
<img src="{$smarty.env.IMG_USER_PATH}{$objProject->getUser_image() ?? "images.jpg"}"
class="rounded-circle mb-3 mx-auto"
style="width:100px;height:100px;object-fit:cover;">
</a>
<h5>{$objProject->getCreatorName()}</h5>
<p class="text-muted small">
Publié le {$objProject->getCreation_date()}
</p>
<button class="btn btn-primary">Contacter le talent</button>
</div>
{*Controle de l'utilisateur ainsi que du status du projet + Suppression disponible pour l'utilisateur possédant le projet*}
{if isset($smarty.session.user)} {if isset($smarty.session.user)}
{if ($smarty.session.user.user_status == 2 || $smarty.session.user.user_id == $objProject->getUser_id())} {if ($smarty.session.user.user_status == 2 || $smarty.session.user.user_id == $objProject->getUser_id())}
<div class="border rounded text-center"> <div class="border rounded text-center">