/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"; } } 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"; } } 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 = $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); 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"); } ?>