diff --git a/html/news/index.php b/html/news/index.php index 32a4a678..a33ec2d0 100755 --- a/html/news/index.php +++ b/html/news/index.php @@ -7,13 +7,107 @@ require("../../include/inputs.php"); require("../../include/panels.php"); $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlDatabasePass); + +if (isset($_GET['article']) && filter_var($_GET['article'], FILTER_VALIDATE_INT) && file_exists($rootFilePath . 'content/articles/' . $_GET['article'] . '.md')) { + + $sqlRequest = "SELECT articles.ID, articles.title, articles.creation_date, articles.last_update, articles.miniature, articles.resume, articles.author, users.username, users.display_name, roles.badge_svg, users.profile_picture FROM articles INNER JOIN users ON articles.author = users.ID LEFT JOIN roles ON users.role = roles.ID WHERE articles.ID = :articleID AND (articles.classification <= :userAccreditation OR articles.author = :userID)"; + $request = $pdo->prepare($sqlRequest); + $request->bindParam(":articleID", $_GET['article']); + $request->bindParam(":userAccreditation", $_SESSION['userAccreditation']); + $request->bindParam(":userID", $_SESSION['userID']); + $request->execute(); + $result = $request->fetchAll(PDO::FETCH_ASSOC); + + if($result) { + $pubDateTime = strtotime($result[0]['creation_date']); + $pubDate = date('d/m/Y H:i', $pubDateTime); + $updateDateTime = strtotime($result[0]['last_update']); + if($updateDateTime != $pubDateTime) { + $updateDate = date('d/m/Y H:i', $updateDateTime); + } else { + $updateDate = 0; + } + $articleID = $result[0]['ID']; + $articleTitle = $result[0]['title']; + $articleResume = $result[0]['resume']; + $miniatureURL = $result[0]['miniature']; + $authorUsername = $result[0]['username']; + $authorDisplayName = $result[0]['display_name']; + $authorBadge = $result[0]['badge_svg']; + $authorPPURL = $result[0]['profile_picture'] == NULL ? "https://abs.twimg.com/sticky/default_profile_images/default_profile_400x400.png" : $result[0]['profile_picture']; + $authorID = $result[0]['author']; + } + +} else { + $search = isset($_GET['search']) ? "%" . htmlspecialchars($_GET['search']) . "%" : "%%"; + $sqlRequest = "SELECT articles.ID, articles.title, articles.creation_date, articles.miniature, articles.resume, users.username, users.display_name, roles.badge_svg FROM articles INNER JOIN users ON articles.author = users.ID LEFT JOIN roles ON users.role = roles.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.creation_date DESC"; + $request = $pdo->prepare($sqlRequest); + $request->bindParam(":search", $search); + $request->bindParam(":userAccreditation", $_SESSION['userAccreditation']); + $request->bindParam(":userID", $_SESSION['userID']); + $request->execute(); + $articlesResult = $request->fetchAll(PDO::FETCH_ASSOC); +} + ?> - + ' . $articleTitle . ''); + echo (''); + echo (''); + + echo (''); + echo (''); + + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + echo (''); + + echo (''); + echo (''); + + echo (''); + } else { + fillHead($rootPageURL, $pageTitle, $darkTheme, $lightTheme); + } + ?>