88 lines
3.7 KiB
Smarty
88 lines
3.7 KiB
Smarty
{extends file="views/layout.tpl"}
|
|
|
|
{block name="content"}
|
|
|
|
{assign var="isMinou" value=($user->getPseudo()|stripos:'minou' !== false)}
|
|
|
|
<div class="w-100 align-self-start">
|
|
|
|
<!-- Profil -->
|
|
<section class="mb-5 p-4 rounded-3 {if $isMinou}border border-dark border-2{/if}"
|
|
{if $isMinou}style="background-color:#ff8c00; background-image:repeating-linear-gradient(45deg,transparent,transparent 30px,rgba(0,0,0,.15) 30px,rgba(0,0,0,.15) 60px);"{/if}>
|
|
|
|
<div class="row align-items-center g-4">
|
|
|
|
<!-- Avatar -->
|
|
<div class="col-md-3 text-center">
|
|
<img src="{$smarty.env.BASE_URL}/{$smarty.env.IMG_USER_PATH}{if ($smarty.env.IMG_USER_PATH|cat:($user->getImage()))|file_exists}{$user->getImage()}{else}images.jpg{/if}"
|
|
alt="Avatar de {$user->getPseudo()}"
|
|
class="rounded-circle border border-3 border-white shadow"
|
|
style="width:180px; height:180px; object-fit:cover; {if $isMinou}outline:4px solid #000;{/if}">
|
|
</div>
|
|
|
|
<!-- Infos -->
|
|
<div class="col-md-9">
|
|
<h1 class="fw-bold mb-1 {if $isMinou}text-uppercase text-dark{/if}">
|
|
{$user->getPseudo()}
|
|
</h1>
|
|
<p class="text-muted mb-3">{$user->getMail()}</p>
|
|
|
|
{if $user->getWork()}
|
|
<div class="d-flex align-items-center gap-2 mb-2">
|
|
<i class="fa-solid fa-briefcase text-secondary"></i>
|
|
<span>{$user->getWork()}</span>
|
|
</div>
|
|
{/if}
|
|
|
|
{if $user->getLocation()}
|
|
<div class="d-flex align-items-center gap-2 mb-2">
|
|
<i class="fa-solid fa-location-dot text-secondary"></i>
|
|
<span>{$user->getLocation()}</span>
|
|
</div>
|
|
{/if}
|
|
|
|
{if $user->getDescription()}
|
|
<div class="d-flex align-items-center gap-2 mb-3">
|
|
<i class="fa-regular fa-note-sticky text-secondary"></i>
|
|
<span>{$user->getDescription()}</span>
|
|
</div>
|
|
{/if}
|
|
|
|
{if isset($smarty.session.user) && $smarty.session.user.user_id == $user->getId()}
|
|
<a href="{$smarty.env.BASE_URL}/user/edit"
|
|
class="btn btn-sm {if $isMinou}btn-dark{else}btn-primary{/if}">
|
|
✏️ Modifier mon profil
|
|
</a>
|
|
{/if}
|
|
</div>
|
|
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Projets -->
|
|
<section>
|
|
<h2 class="mb-4 border-bottom pb-2">Les projets de {$user->getPseudo()}</h2>
|
|
|
|
<div class="row g-4">
|
|
{if count($arrProjectToDisplay) > 0}
|
|
{foreach $arrProjectToDisplay as $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->getDeleted_at() !== null)}
|
|
{assign var="isRefused" value=($objProject->getStatus() == "refusé")}
|
|
|
|
{if $isModerator || ($isAuthor && !$isDeleted) || (!$isRefused && !$isDeleted)}
|
|
{include file="views/_partial/preview.tpl"}
|
|
{/if}
|
|
{/foreach}
|
|
{else}
|
|
<div class="col-12">
|
|
<p class="alert alert-info">Cet utilisateur n'a pas encore publié de projets.</p>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
</section>
|
|
|
|
</div>
|
|
|
|
{/block}
|