/login');
}
require("../../include/main-functions.php");
require("../../include/objects.php");
require("../../include/inputs.php");
require("../../include/panels.php");
$pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlDatabasePass);
if (isset($_FILES['newPP']) && $_FILES['newPP']['error'] == 0) {
$tempImagePath = $_FILES['newPP']['tmp_name'];
$ImagePath = 'assets/pp/' . $_SESSION['userID'] . '.png';
$rootImagePath = $rootFilePath . 'html/' . $ImagePath;
$imageURL = "/" . $ImagePath;
list($width, $height) = getimagesize($tempImagePath);
$imageInfo = getimagesize($tempImagePath);
if ($imageInfo[2] === IMAGETYPE_PNG || $imageInfo[2] === IMAGETYPE_JPEG) {
$imageWidth = 128;
$imageHeight = 128;
$imageResized = imagecreatetruecolor($imageWidth, $imageHeight);
$imageOriginal = imagecreatefromstring(file_get_contents($tempImagePath));
imagecopyresampled($imageResized, $imageOriginal, 0, 0, 0, 0, $imageWidth, $imageHeight, $width, $height);
imagealphablending($imageResized, false);
imagesavealpha($imageResized, $rootImagePath);
imagepng($imageResized, $rootImagePath);
imagedestroy($imageOriginal);
imagedestroy($imageResized);
$sqlRequest = "UPDATE users SET profile_picture = :userPP, last_update = now() WHERE ID = :userID";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":userPP", $imageURL);
$request->bindParam(":userID", $_SESSION['userID']);
if($request->execute()) {
$status = "Photo de profil mise à jour";
} else {
$status = "Erreur SQL";
}
$request->close();
} else {
$status = "Le fichier doit être au format PNG ou JPG";
}
}
if (isset($_FILES['newBanner']) && $_FILES['newBanner']['error'] == 0) {
$tempImagePath = $_FILES['newBanner']['tmp_name'];
$ImagePath = 'assets/banners/' . $_SESSION['userID'] . '.png';
$rootImagePath = $rootFilePath . 'html/' . $ImagePath;
$imageURL = "/" . $ImagePath;
list($width, $height) = getimagesize($tempImagePath);
$imageInfo = getimagesize($tempImagePath);
if ($imageInfo[2] === IMAGETYPE_PNG || $imageInfo[2] === IMAGETYPE_JPEG) {
$imageWidth = 800;
$imageHeight = ($height / $width) * $imageWidth;
$imageResized = imagecreatetruecolor($imageWidth, $imageHeight);
$imageOriginal = imagecreatefromstring(file_get_contents($tempImagePath));
imagecopyresampled($imageResized, $imageOriginal, 0, 0, 0, 0, $imageWidth, $imageHeight, $width, $height);
imagealphablending($imageResized, false);
imagesavealpha($imageResized, $rootImagePath);
imagepng($imageResized, $rootImagePath);
imagedestroy($imageOriginal);
imagedestroy($imageResized);
$sqlRequest = "UPDATE users SET banner = :userBanner, last_update = now() WHERE ID = :userID";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":userBanner", $imageURL);
$request->bindParam(":userID", $_SESSION['userID']);
if($request->execute()) {
$status = "Banière mise à jour";
} else {
$status = "Erreur SQL";
}
$request->close();
} else {
$status = "Le fichier doit être au format PNG ou JPG";
}
}
if (isset($_POST['userDisplayName']) || isset($_POST['userBio'])) {
$sqlRequest = "UPDATE users SET display_name = :userDisplayName, bio = :userBio, last_update = now() WHERE ID = :userID";
$request = $pdo->prepare($sqlRequest);
$userDisplayName = isset($_POST['userDisplayName']) ? htmlspecialchars(substr($_POST['userDisplayName'], 0, 20)) : "Guest";
$userBio = isset($_POST['userBio']) ? htmlspecialchars(substr($_POST['userBio'], 0, 200)) : "";
$request->bindParam(":userDisplayName", $userDisplayName);
$request->bindParam(":userBio", $userBio);
$request->bindParam(":userID", $_SESSION['userID']);
if($request->execute()) {
$status = "Informations mises à jour";
$_SESSION['userDisplayName'] = htmlspecialchars($_POST['userDisplayName']);
}
$request->close();
}
$request = $pdo->prepare("SELECT username, display_name, profile_picture, banner, bio FROM users WHERE ID = :userID");
$request->bindParam(":userID", $_SESSION['userID']);
$request->execute();
$result = $request->fetchAll(PDO::FETCH_ASSOC);
$request->close();
if($result) {
$userName = $result[0]['username'];
$userDisplayName = $result[0]['display_name'];
$userPPURL = $result[0]['profile_picture'] == NULL ? "https://abs.twimg.com/sticky/default_profile_images/default_profile_400x400.png" : $result[0]['profile_picture'];
$userBanner = $result[0]['banner'] = NULL ? "" : $result[0]['banner'];
$userBio = $result[0]['bio'];
} else {
header("Location: /login?p=account");
die("Erreur, utilisateur introuvable");
}
?>
prepare("SELECT ID, title, creation_date, miniature, resume FROM articles WHERE (title LIKE :search OR ID LIKE :search) AND author = :userID ORDER BY creation_date DESC");
$request->bindParam(":search", $search);
$request->bindParam(":userID", $_SESSION['userID']);
$request->execute();
$result = $request->fetchAll(PDO::FETCH_ASSOC);
echo ('
Vos articles ');
echo ('
');
if ($result) {
echo('
');
listArticles($result, $rootPageURL);
echo ('
');
} else {
echo ('Vous n\'avez publié aucun article...');
}
?>