Added users in news search bar

This commit is contained in:
cbo 2024-03-15 16:17:10 +01:00
parent 36ced0e614
commit c6ae14314c
5 changed files with 27 additions and 13 deletions

View File

@ -66,7 +66,7 @@ Le site officiel du club réseaux disponible à l'adresse https://e59.fr/
- ```sqlConnect($dbHost, $dbName, $dbUser, $dbPass)```
## objects.php
- ```userWidget($userPPURL, $userDisplayName, $userName, $userLevel, $badges)```
- ```userWidget($userPPURL, $userDisplayName, $userName, $userCertification, $badges, $rootPageURL)```
- ```listArticles($result, $rootPageURL)```
## inputs.php

View File

@ -55,6 +55,7 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
$result = $request->fetchAll(PDO::FETCH_ASSOC);
if ($result) {
echo ('<div class="users-list">');
foreach($result as $row) {
$pubDateTime = strtotime($row['date']);
$pubDate = date('d/m/Y', $pubDateTime);
@ -62,9 +63,9 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
$userDisplayName = $row['display_name'];
$userCertification = $row['certification'];
$userPPURL = $row['profile_picture'] == NULL ? "https://abs.twimg.com/sticky/default_profile_images/default_profile_400x400.png" : $row['profile_picture'];
userWidget($userPPURL, $userDisplayName, $userName, $userCertification, $badges, $rootPageURL);
}
echo ('</div>');
}
?>
</div>

View File

@ -39,7 +39,6 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
echo($pageContent);
?>
</div>
<h1>Actualités récentes</h1>
<div class="articles-list">
<?php
$sqlRequest = "SELECT articles.ID, articles.title, articles.date, articles.miniature, articles.resume, users.username, users.display_name, users.certification FROM articles JOIN users ON articles.author = users.ID WHERE articles.classification <= :userAccreditation ORDER BY date DESC LIMIT 3";

View File

@ -41,12 +41,9 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
font-size: 2em;
}
.user-widget-link {
.button {
display: block;
}
.user-widget {
margin-top: 2em;
width: min-content;
}
</style>
</head>
@ -117,24 +114,40 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
} else {
$search = isset($_GET['search']) ? "%" . htmlspecialchars($_GET['search']) . "%" : "%%";
$sqlRequest = "SELECT articles.ID, articles.title, articles.date, articles.miniature, articles.resume, users.username, users.display_name, users.certification FROM articles JOIN users ON articles.author = users.ID WHERE (articles.title LIKE :search OR articles.ID LIKE :search OR users.username LIKE :search) AND (articles.classification <= :userAccreditation OR articles.author = :userID) ORDER BY articles.date DESC";
$sqlRequest = "SELECT articles.ID, articles.title, articles.date, articles.miniature, articles.resume, users.username, users.display_name, users.certification FROM articles JOIN users ON articles.author = users.ID WHERE (articles.title LIKE :search OR articles.ID LIKE :search OR users.username LIKE :search OR users.display_name LIKE :search) AND (articles.classification <= :userAccreditation OR articles.author = :userID) ORDER BY articles.date DESC";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":search", $search);
$request->bindParam(":userAccreditation", $_SESSION['userAccreditation']);
$request->bindParam(":userID", $_SESSION['userID']);
$request->execute();
$result = $request->fetchAll(PDO::FETCH_ASSOC);
$articlesResult = $request->fetchAll(PDO::FETCH_ASSOC);
echo ('<h1>News</h1>');
echo ('<form action="#" method="get">');
echo ('<form action="" method="get">');
$shapePath = '<path d="M10.25 3.75c-3.59 0-6.5 2.91-6.5 6.5s2.91 6.5 6.5 6.5c1.795 0 3.419-.726 4.596-1.904 1.178-1.177 1.904-2.801 1.904-4.596 0-3.59-2.91-6.5-6.5-6.5zm-8.5 6.5c0-4.694 3.806-8.5 8.5-8.5s8.5 3.806 8.5 8.5c0 1.986-.682 3.815-1.824 5.262l4.781 4.781-1.414 1.414-4.781-4.781c-1.447 1.142-3.276 1.824-5.262 1.824-4.694 0-8.5-3.806-8.5-8.5z"></path>';
textInput("text", $shapePath, "search", "Chercher", "");
echo ('</form>');
if ($result) {
if(empty($_GET['search']) == false) {
$sqlRequest = "SELECT username, display_name, certification, profile_picture FROM users WHERE username LIKE :search OR display_name LIKE :search";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":search", $search);
$request->execute();
$userResult = $request->fetchAll(PDO::FETCH_ASSOC);
if($userResult) {
echo ('<div class="users-list">');
foreach ($userResult as $user) {
$userPPURL = $user['profile_picture'] == NULL ? "https://abs.twimg.com/sticky/default_profile_images/default_profile_400x400.png" : $user['profile_picture'];
userWidget($userPPURL, $user['display_name'], $user['username'], $user['certification'], $badges, $rootPageURL);
}
echo ('</div>');
}
}
if ($articlesResult) {
echo('<div class="articles-list">');
listArticles($result, $rootPageURL, $badges);
listArticles($articlesResult, $rootPageURL, $badges);
echo('</div>');
} else {
echo ('Aucun article trouvé');

View File

@ -3,6 +3,7 @@ require("../../include/variables.php");
require("../../include/init.php");
require("../../include/main-functions.php");
require("../../include/objects.php");
require("../../include/inputs.php");
require("../../include/panels.php");
$pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlDatabasePass);