141 lines
5.7 KiB
Smarty
141 lines
5.7 KiB
Smarty
{extends file="views/layout.tpl"}
|
|
|
|
{block name="content"}
|
|
<main class="container mt-5 py-5">
|
|
|
|
<!-- Message après l'envoi d'email -->
|
|
{if isset($smarty.get.mail) && $smarty.get.mail === 'ok'}
|
|
<div class="alert alert-success">Email envoyé avec succès.</div>
|
|
{elseif isset($smarty.get.mail) && $smarty.get.mail === 'fail'}
|
|
<div class="alert alert-danger">Erreur lors de l'envoi de l'email.</div>
|
|
{/if}
|
|
|
|
<div class="row g-4">
|
|
|
|
<!-- Contenu principal du projet -->
|
|
<div class="col-lg-8">
|
|
|
|
<h1 class="fw-bold">{$objProject->getTitle()}</h1>
|
|
|
|
<p class="text-muted">
|
|
{$arrProject.category_name ?? 'Général'}
|
|
</p>
|
|
|
|
<div class="mb-4 shadow-sm">
|
|
<img src="{$smarty.env.IMG_PROJECT_PATH}{$objProject->getThumbnail()}"
|
|
class="img-fluid rounded w-100">
|
|
</div>
|
|
|
|
<div class="bg-light p-4 rounded mb-4">
|
|
<h4 class="border-bottom pb-2">Description</h4>
|
|
<p class="lead">{$objProject->getDescription()}</p>
|
|
|
|
<div class="mt-4">
|
|
{$objProject->getContent()}
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- Images du projet -->
|
|
<section id="galerie-projet">
|
|
<h2>Galerie du projet</h2>
|
|
<div class="row">
|
|
{foreach $arrImages as $image}
|
|
|
|
{* On affiche l'image si elle est approuvée OU si l'utlilisateur possède le projet OU si l'utlilisateur est Modérateur*}
|
|
{if ($image.image_status == 'approuvé') ||
|
|
(isset($smarty.session.user) && $smarty.session.user.user_status == 2) ||
|
|
(isset($smarty.session.user) && $smarty.session.user.user_id == $objProject->getUser_id())}
|
|
|
|
<div class="col-md-4 mb-4">
|
|
<div class="card {if $image.image_status != 'approuvé'}border-warning shadow-none opacity-75{/if}">
|
|
|
|
<img src="{$smarty.env.IMG_PROJECT_PATH}{$image.image_name}" class="card-img-top" alt="{$image.image_alt}">
|
|
|
|
{* 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>
|
|
|
|
<a href="index.php?ctrl=project&action=delete_image&id_img={$image.image_id}"
|
|
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>
|
|
|
|
|
|
<!-- 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 type="hidden" name="project_id"
|
|
value="{$objProject->getId()}">
|
|
|
|
<input type="email" name="to_email"
|
|
class="form-control mb-3"
|
|
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 ($smarty.session.user.user_status == 2 || $smarty.session.user.user_id == $objProject->getUser_id())}
|
|
<div class="border rounded text-center">
|
|
<a class="btn btn-sm m-1 btn-danger" href="?ctrl=project&action=delete&id={$objProject->getId()}" name="toDelete">Supprimer le projet</a>
|
|
{/if}
|
|
|
|
|
|
{if $smarty.session.user.user_id == $objProject->getUser_id()}
|
|
<a class="btn btn-sm m-1 btn-warning" href="?ctrl=project&action=addedit_project&id={$objProject->getId()}" name="addedit">Modifier le projet</a>
|
|
{/if}
|
|
|
|
{*Conditions permettant au Modérateur de modifier le status d'un projet*}
|
|
{if $smarty.session.user.user_status == 2 && $objProject->getStatus() == "en_attente"}
|
|
<a class="btn btn-sm m-1 btn-success" href="?ctrl=project&action=accept&id={$objProject->getId()}" name="toPublished">Accepter</a>
|
|
<a class="btn btn-sm m-1 btn-warning" href="?ctrl=project&action=refuse&id={$objProject->getId()}" name="toRefused">Refuser</a>
|
|
</div>
|
|
{elseif $projectStatus == "refusé"}
|
|
<p class="text-danger fw-bold">Portfolio refusé</p>
|
|
{/if}
|
|
{/if}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</main>
|
|
{/block} |