Restructure MVC into public/src layout
Co-authored-by: LeOSW42 <673670+LeOSW42@users.noreply.github.com>
This commit is contained in:
277
public/views/d.poi.view.html
Normal file
277
public/views/d.poi.view.html
Normal file
@@ -0,0 +1,277 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<?php include('blocks/d.head.html'); ?>
|
||||
|
||||
<body>
|
||||
|
||||
<?php include('blocks/d.nav.html'); ?>
|
||||
|
||||
<div id="mapid"></div>
|
||||
|
||||
<div id="sticky">
|
||||
<section <?=$poi->is_archive=="t"||$poi->is_public=="f"?'class="archive"':''?>>
|
||||
<i id="slide-icon" class="fas fa-chevron-up"></i>
|
||||
|
||||
<h1 class="flex_line">
|
||||
<span class="poi-icon-wrapper" data-tooltip="<?=htmlspecialchars($poi_types[$poi->poi_type][4] ?? '')?>">
|
||||
<img class="poi-icon"
|
||||
src="<?=$config['rel_root_folder']?>views/img/<?=$poi->poi_type?>.svg"
|
||||
alt="">
|
||||
</span>
|
||||
<span><?=$poi->name?></span>
|
||||
</h1>
|
||||
|
||||
<div class="poi-idcard">
|
||||
|
||||
<div class="poi-id-main">
|
||||
<div class="poi-id-coords">
|
||||
<span class="poi-id-label">📍 Coordonnées</span>
|
||||
<a href="geo:<?=$poi->lat?>,<?=$poi->lon?>" class="poi-id-value">
|
||||
<?=$poi->lat?>, <?=$poi->lon?>
|
||||
</a>
|
||||
<?php if ($poi->ele !== null && $poi->ele !== '') { ?>
|
||||
<span class="poi-id-elev">⛰️ <?=$poi->ele?> m</span>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<div class="poi-id-type">
|
||||
<span class="poi-id-label">🏷️ Type</span>
|
||||
<span class="poi-id-value">
|
||||
<?=$poi_types[$poi->poi_type][1] ?? $poi->poi_type?>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="poi-id-dates">
|
||||
<span>Créé : <?=$poi->creation_date?></span>
|
||||
<span>Mis à jour : <?=$poi->update_date?></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<?php if($user->rankIsHigher('premium')) { ?>
|
||||
<span class="subtitle">
|
||||
<?php if(isset($PoiHistory)) { ?>
|
||||
<select id="PoiHistory">
|
||||
<?php $i = 0;
|
||||
foreach ($PoiHistory->objs as $row) { ?>
|
||||
<option <?=$row->version_id==$poi->version_id?'selected':''?> value="<?=$i?>"><?=$row->is_archive=="f"?'• ':''?><?php echo datefmt_format($user->datetimeshort_format,date_create($row->update_date, new DateTimeZone("UTC"))) ?></option>
|
||||
<?php $i++;
|
||||
} ?>
|
||||
</select>
|
||||
<?php }
|
||||
if ($user->rankIsHigher('moderator') && isset($PoiHistory)) { ?>
|
||||
—
|
||||
<?php }
|
||||
if ($user->rankIsHigher("moderator")) { ?>
|
||||
<a href="<?=$config['rel_root_folder']?>poi/<?=$poi->permalink?>/edit"><i class="fas fa-pencil-alt"></i> Éditer le point</a> —
|
||||
<?php if ($poi->is_public == 't') { ?>
|
||||
<a href="<?=$config['rel_root_folder']?>poi/<?=$poi->permalink?>/delete"><i class="fas fa-trash"></i> Effacer le point</a>
|
||||
<?php } else { ?>
|
||||
<a href="<?=$config['rel_root_folder']?>poi/<?=$poi->permalink?>/restore"><i class="fas fa-eye"></i> Restaurer le point</a>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</span>
|
||||
<?php } ?>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<?php
|
||||
$fields = $poi_types[$poi->poi_type][5];
|
||||
$values = $poi->parameters ?? [];
|
||||
|
||||
// Séparer les booléens des autres champs
|
||||
$bool_fields = [];
|
||||
$other_fields = [];
|
||||
|
||||
foreach ($fields as $key => $label) {
|
||||
if ($key[0] === 'b') {
|
||||
$bool_fields[$key] = $label;
|
||||
} else {
|
||||
$other_fields[$key] = $label;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="specific_form" class="view-mode">
|
||||
|
||||
<!-- AUTRES CHAMPS (texte, nombre, lien) -->
|
||||
<?php foreach ($other_fields as $key => $label): ?>
|
||||
<?php
|
||||
$value = $values[$key] ?? null;
|
||||
$type = $key[0];
|
||||
?>
|
||||
|
||||
<div class="field field-<?= $type ?>">
|
||||
<label><?= $label ?></label>
|
||||
|
||||
<?php if ($type === 'n'): ?>
|
||||
<span class="inline-value"><?= $value !== null ? $value : "<em>—</em>" ?></span>
|
||||
|
||||
<?php elseif ($type === 't'): ?>
|
||||
<div class="field-value">
|
||||
<?= $value ? nl2br(htmlspecialchars($value)) : "<em>Aucune information.</em>" ?>
|
||||
</div>
|
||||
|
||||
<?php elseif ($type === 'l'): ?>
|
||||
<span class="inline-value">
|
||||
<?php if ($value): ?>
|
||||
<a href="<?= htmlspecialchars($value) ?>" target="_blank"><?= $value ?></a>
|
||||
<?php else: ?>
|
||||
<em>—</em>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
<!-- TABLEAU DES BOOLÉENS -->
|
||||
<?php if (!empty($bool_fields)): ?>
|
||||
<div class="bool-grid">
|
||||
|
||||
<!-- Ligne des labels -->
|
||||
<div class="bool-row labels">
|
||||
<?php foreach ($bool_fields as $key => $label): ?>
|
||||
<div class="bool-label"><?= $label ?></div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
<!-- Ligne des valeurs -->
|
||||
<div class="bool-row values">
|
||||
<?php foreach ($bool_fields as $key => $label): ?>
|
||||
<?php
|
||||
$value = $values[$key] ?? 2;
|
||||
$icon = [
|
||||
0 => "<span class='boolean-pill boolean-no'>❌</span>",
|
||||
1 => "<span class='boolean-pill boolean-maybe'>❓</span>",
|
||||
2 => "<span class='boolean-pill boolean-yes'>✔️</span>",
|
||||
-1 => "<span class='boolean-pill boolean-unknown'>➖</span>"
|
||||
][$value];
|
||||
?>
|
||||
<div class="bool-cell">
|
||||
<?= $icon ?>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<?php if ($poi->is_commentable == 't') { ?>
|
||||
<div id="new_comment">
|
||||
<form class="form" action="<?=$config['rel_root_folder']?>poi/<?=$poi->permalink?>/new_comment" method="post">
|
||||
<div id="new_comment_label" <?=$user->rank=="visitor"?"class='sent' ":""?>>
|
||||
<?php if ($poi->is_archive == "t" || $poi->is_public == "f") { ?>
|
||||
<p>Impossible de commenter un point non publié</p>
|
||||
<?php } else if ($user->rankIsHigher("registered")) { ?>
|
||||
<input name="submit" type="submit" value="Envoyer">
|
||||
<p>Ajouter un nouveau commentaire</p>
|
||||
<?php } else { ?>
|
||||
<p>Veuillez vous connecter pour ajouter un commentaire</p>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<div id="new_comment_form">
|
||||
<textarea id="comment" name="comment" rows="5" placeholder="Votre commentaire"></textarea>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php if (isset($poi_comments) && $poi_comments->number > 0) { ?>
|
||||
<div id="comments">
|
||||
<?php foreach ($poi_comments->objs as $comment) { ?>
|
||||
<article <?php if($comment->is_archive == 't' || $comment->is_public == 'f') echo 'class="comment_archive" '; ?>>
|
||||
<div class="comment_title">
|
||||
|
||||
<?php if ($comment->author_obj->is_avatar_present == 't') { ?>
|
||||
<img alt="Avatar" class="icon avatar" src="<?=$config['rel_root_folder']?>medias/avatars/<?=$comment->author_obj->id?>_s.jpg">
|
||||
<?php } else { ?>
|
||||
<i class="icon fas fa-user-secret"></i>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($user->rankIsHigher("blocked")) { ?>
|
||||
<a class="username" href="<?=$config['rel_root_folder']?>user/p/<?=$comment->author_obj->id?>">
|
||||
<?=$comment->author_obj->name?>
|
||||
</a>
|
||||
<?php } else { ?>
|
||||
<?=$comment->author_obj->name?>
|
||||
<?php } ?>
|
||||
|
||||
le <?php echo datefmt_format($user->datetime_format, date_create($comment->update_date, new DateTimeZone("UTC"))) ?>
|
||||
|
||||
<?php if (($user->rankIsHigher("moderator") || $user->id == $comment->author) && $comment->is_public == 't') { ?>
|
||||
<span class="delete_link">
|
||||
<a href="<?=$config['rel_root_folder']?>poi/<?=$poi->permalink?>/delete_comment/<?=$comment->id?>">
|
||||
<i class="fas fa-trash"></i> Effacer le commentaire
|
||||
</a>
|
||||
</span>
|
||||
<?php } ?>
|
||||
|
||||
<?php if (($user->rankIsHigher("moderator") || $user->id == $comment->author) && $comment->is_public == 'f') { ?>
|
||||
<span class="delete_link">
|
||||
<a href="<?=$config['rel_root_folder']?>poi/<?=$poi->permalink?>/restore_comment/<?=$comment->id?>">
|
||||
<i class="fas fa-eye"></i> Restaurer le commentaire
|
||||
</a>
|
||||
</span>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="comment_content">
|
||||
<?=$comment->comment_html?>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<?php } ?>
|
||||
<br></div>
|
||||
<?php } else { ?>
|
||||
<p>Aucun commentaire pour le moment.</p>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
</section>
|
||||
|
||||
<?php include('blocks/d.footer.html'); ?>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var poi_lat = <?=$poi->lat?>;
|
||||
var poi_lon = <?=$poi->lon?>;
|
||||
var poi_type = "<?=$poi->poi_type?>";
|
||||
var poi_mode = "view";
|
||||
var root = "<?=$config['rel_root_folder']?>";
|
||||
</script>
|
||||
|
||||
<?php if($user->rankIsHigher("premium")) { ?>
|
||||
<script type="text/javascript">
|
||||
$( "#PoiHistory" ).change(function() {
|
||||
window.location.href = "<?=$config['rel_root_folder']?>poi/<?=$poi->permalink?>/"+$( this ).val();
|
||||
});
|
||||
</script>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($user->rankIsHigher("registered") && $poi->is_archive == "f" && $poi->is_public == "t") { ?>
|
||||
<script type="text/javascript">
|
||||
$( "#new_comment_label" ).click(function() {
|
||||
$( "#new_comment_form" ).show(400);
|
||||
$( "#new_comment_label input" ).show(0);
|
||||
$( "#new_comment_label").addClass('sent');
|
||||
});
|
||||
</script>
|
||||
<?php } ?>
|
||||
|
||||
<script type="text/javascript">
|
||||
$( "#slide-icon" ).click(function() {
|
||||
$( "html, body" ).animate({scrollTop: "300px"});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user