<!DOCTYPE html>
<!-- Page: blog article -->
<html lang="fr">

	<?php include('blocks/d.head.html'); ?>

	<body>

		<?php include('blocks/d.nav.html'); ?>

		<?php
			// Droits et état de l'article
			$isArchiveOrPrivate = $blogArticle->is_archive == "t" || $blogArticle->is_public == "f";
			$canViewHistory = $user->rankIsHigher('premium');
			$canModerate = $user->rankIsHigher('moderator');
			$canWriteComment = $user->rankIsHigher("registered");
			$canOpenCommentForm = $canWriteComment && !$isArchiveOrPrivate;
			$hasHistory = isset($blogHistory);
			$isVisitor = $user->rank == "visitor";
			$isCommentable = $blogArticle->is_commentable == "t";
		?>

		<!-- Blog article -->
		<section id="blog_article" <?=$isArchiveOrPrivate ? 'class="archive"' : ''?>>
			<h1><?=$blogArticle->name?></h1>
				<?php if ($canViewHistory) { ?>
					<!-- History and actions -->
					<span class="subtitle">
					<?php if ($hasHistory) { ?>
						<select id="bloghistory">
							<?php $historyIndex = 0; ?>
							<?php foreach ($blogHistory->objs as $row) { ?>
								<?php
									$isSelected = $row->version_id == $blogArticle->version_id ? 'selected' : '';
									$isActive = $row->is_archive == "f" ? '&bull; ' : '';
									$formattedDate = datefmt_format(
										$user->datetimeshort_format,
										date_create($row->update_date, new DateTimeZone("UTC"))
									);
								?>
								<option <?=$isSelected?> value="<?=$historyIndex?>"><?=$isActive?><?=$formattedDate?></option>
								<?php $historyIndex++; ?>
							<?php } ?>
						</select>
					<?php }
					if ($canModerate && $hasHistory) { ?>
						 &mdash; 
					<?php }
					if ($canModerate) { ?>
						<a href="<?=$config['rel_root_folder']?>blog/<?=$blogArticle->permalink?>/edit"><i class="fas fa-pencil-alt"></i> Éditer l'article</a> &mdash; 
						<?php if ($blogArticle->is_public == 't') { ?>
							<a href="<?=$config['rel_root_folder']?>blog/<?=$blogArticle->permalink?>/delete"><i class="fas fa-trash"></i> Effacer l'article</a>
						<?php } else { ?>
							<a href="<?=$config['rel_root_folder']?>blog/<?=$blogArticle->permalink?>/restore"><i class="fas fa-eye"></i> Restaurer l'article</a>
						<?php } ?>
					<?php } ?>
					</span>
				<?php } ?>

			<!-- Article content -->
			<div id="blogContent">
				<?=$blogArticle->content_html?>
			</div>

			<!-- Signature -->
			<p id="blogTimestamp">Article écrit par 
			<?php if ($user->rankIsHigher("blocked")) { ?>
				<a href="<?=$config['rel_root_folder']?>user/p/<?=$blogArticle->author?>"><?=$blogArticle->author_name?></a>
			<?php } else { ?>
				<?=$blogArticle->author_name?> 
			<?php } ?>
			le <?php echo datefmt_format($user->datetime_format,date_create($blogArticle->creation_date, new DateTimeZone("UTC"))) ?></p>

			<!-- Comments -->

			<?php if ($isCommentable) { ?>
				<!-- Comment form -->
				<div id="new_comment">
					<form class="form" action="<?=$config['rel_root_folder']?>blog/<?=$blogArticle->permalink?>/new_comment" method="post">
						<div id="new_comment_label" <?=$isVisitor ? "class='sent' " : ""?>>
							<?php if ($isArchiveOrPrivate) { ?>
								<p>Impossible de commenter un article non publié</p>
							<?php } else if ($canWriteComment) { ?>
								<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>

				<!-- Comment list -->
				<?php foreach ($blogArticles_comments->objs as $comment) { ?>
					<?php $canManageComment = $canModerate || $user->id == $comment->author; ?>

					<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 ($canManageComment && $comment->is_public == 't') { ?>
								<span class="delete_link"><a href="<?=$config['rel_root_folder']?>blog/<?=$blogArticle->permalink?>/delete_comment/<?=$comment->id?>"><i class="fas fa-trash"></i> Effacer le commentaire</a></span>
							<?php } ?>
							<?php if ($canManageComment && $comment->is_public == 'f') { ?>
								<span class="delete_link"><a href="<?=$config['rel_root_folder']?>blog/<?=$blogArticle->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 }
			} ?>

			<!-- Footer spacing -->
			<br>
			<br>
			<div style="clear: both;"> </div>
		</section>

<?php if ($canViewHistory) { ?>
		<!-- History switch -->
		<script type="text/javascript">
			$( "#bloghistory" ).change(function() {
				window.location.href = "<?=$config['rel_root_folder']?>blog/<?=$blogArticle->permalink?>/"+$( this ).val();
			});
		</script>
<?php } ?>
<?php if ($canOpenCommentForm) { ?>
		<!-- Comment form toggle -->
		<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 } ?>

		<?php include('blocks/d.footer.html'); ?>

	</body>
</html>
