Update file user.php
This commit is contained in:
parent
3356e9fa3f
commit
64ba00c0b2
175
html/user.php
Normal file
175
html/user.php
Normal file
@ -0,0 +1,175 @@
|
||||
<?php
|
||||
require "../include/variables.php";
|
||||
require "../include/functions.php";
|
||||
|
||||
if(isset($_SESSION['userid']) == false) {
|
||||
header("Location: index.php");
|
||||
http_response_code(404);
|
||||
die();
|
||||
}
|
||||
|
||||
$bdd = connect($dbhost, $dbname, $dbuser, $dbpass);
|
||||
$username = isset($_GET['user']) ? htmlspecialchars($_GET['user']) : "";
|
||||
$req = $bdd->prepare("SELECT ID, username, creation_date, display_name, role, profile_picture, banner, bio FROM users WHERE username = :username ORDER BY date DESC");
|
||||
$req->bindParam(":username", $username);
|
||||
$req->execute();
|
||||
$resultat = $req->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
if($resultat) {
|
||||
$user_id = $resultat[0]['ID'];
|
||||
$user_name = $resultat[0]['username'];
|
||||
$user_creation_date = $resultat[0]['creation_date'];
|
||||
$user_display_name = $resultat[0]['display_name'];
|
||||
$user_role = $resultat[0]['role'];
|
||||
$user_pp = $resultat[0]['profile_picture'];
|
||||
$user_banner = $resultat[0]['banner'];
|
||||
$user_bio = $resultat[0]['bio'];
|
||||
} else {
|
||||
$user_id = 0;
|
||||
$user_name = $username;
|
||||
$user_creation_date = "01/01/2024";
|
||||
$user_display_name = "User not found";
|
||||
$user_role = 0;
|
||||
$user_pp = "";
|
||||
$user_banner = "./src/img/empty.jpg";
|
||||
$user_bio = "";
|
||||
}
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta name="robots" content="noindex">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="./src/css/style.css">
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.body {
|
||||
<?=$theme_dark?>
|
||||
}
|
||||
<?php
|
||||
for ($i = 0; $i < count($themes_dark); $i++) {
|
||||
echo "#palette" . $i . " { ";
|
||||
echo $themes_dark[$i];
|
||||
echo " } ";
|
||||
}
|
||||
?>
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
.body {
|
||||
<?=$theme_light?>
|
||||
}
|
||||
<?php
|
||||
for ($i = 0; $i < count($themes_light); $i++) {
|
||||
echo "#palette" . $i . " { ";
|
||||
echo $themes_light[$i];
|
||||
echo " } ";
|
||||
}
|
||||
?>
|
||||
}
|
||||
|
||||
.userinfo {
|
||||
margin: 5em auto;
|
||||
}
|
||||
|
||||
.palettes {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.delaccount {
|
||||
margin-top: 15em;
|
||||
}
|
||||
|
||||
</style>
|
||||
<link rel="icon" href="./src/img/favicon.ico">
|
||||
<title><?=$title?></title>
|
||||
</head>
|
||||
<body class="body">
|
||||
<header>
|
||||
<div class="pancontent">
|
||||
<div class="athena-container">
|
||||
<a href="<?=$root?>" class="athena-link">
|
||||
<img src="./src/img/athena-mono.png" class="athena">
|
||||
</a>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div>
|
||||
<div class="main-title">
|
||||
<div class="title"><?=$header_title?></div>
|
||||
<div class="subtitle"><?=$header_subtitle?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<nav>
|
||||
<div class="pancontent">
|
||||
<?php nav($nav);?>
|
||||
</div>
|
||||
</nav>
|
||||
<main>
|
||||
<div class="content">
|
||||
<div>
|
||||
<div class="user-profile">
|
||||
<div class="user-header">
|
||||
<div class="user-banner"><?=$user_banner?></div>
|
||||
<div class="user-pp"><?=$user_pp?></div>
|
||||
<div class="userinfo">
|
||||
<div class="names">
|
||||
<div class="display-name"><?=$user_display_name?></div>
|
||||
<div class="username"><?=$user_name?></div>
|
||||
</div>
|
||||
<div class="bio"><?=$user_bio?></div>
|
||||
<div class="more_details">
|
||||
<div class="user_role"><?=$user_role?></div>
|
||||
<div class="creation_date">Compte créé le <?=$user_creation_date?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="user-articles">
|
||||
<?php
|
||||
$bdd = connect($dbhost, $dbname, $dbuser, $dbpass);
|
||||
$search = isset($_GET['search']) ? "%" . htmlspecialchars($_GET['search']) . "%" : "%%";
|
||||
$req = $bdd->prepare("SELECT ID, titre, date, auteur, image, resume FROM articles WHERE (titre LIKE :search OR ID LIKE :search OR auteur LIKE :search) AND classification <= :accreditation AND auteur = :user_id ORDER BY date DESC");
|
||||
$req->bindParam(":search", $search);
|
||||
$req->bindParam(":accreditation", $_SESSION['accreditation']);
|
||||
$req->bindParam(":user_id", $user_id);
|
||||
$req->execute();
|
||||
$resultat = $req->fetchAll(PDO::FETCH_ASSOC);
|
||||
echo "<form action='' method='get'><input type='text' placeholder='Article' name='search'><input type='submit' value='Rechercher'></form>";
|
||||
|
||||
if ($resultat) {
|
||||
foreach($resultat as $row) {
|
||||
$date = strtotime($row['date']);
|
||||
echo '<div class="article-preview">';
|
||||
echo '<div class="article-illustration">';
|
||||
echo '<a href="?article=' . $row['ID'] . '" class="article-link"><img src="' . $row['image'] . '" class="article-miniature"></a>';
|
||||
echo '</div>';
|
||||
echo '<div class="article-details">';
|
||||
echo '<div class="article-data">n° ' . $row['ID'] . ' | ' . date('d/m/Y', $date) . ' | '. $row['auteur'] . '</div>';
|
||||
echo '<a href="?article=' . $row['ID'] . '" class="article-link">';
|
||||
echo '<div class="article-titre">' . $row['titre'] . '</div>';
|
||||
echo '</a>';
|
||||
echo '<div class="article-resume">' . $row['resume'] . '</div>';
|
||||
echo '</div>';
|
||||
echo '</div> ';
|
||||
}
|
||||
} else {
|
||||
echo "L'utilisateur n'a pas publié d'articles";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<footer>
|
||||
<div class="content">
|
||||
<div>
|
||||
<div><?=$copyright?></div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
Loading…
x
Reference in New Issue
Block a user