diff --git a/website/queries/settings.php b/website/queries/settings.php index 965665a..d3985c7 100644 --- a/website/queries/settings.php +++ b/website/queries/settings.php @@ -186,12 +186,21 @@ function doChangeEmail($email) { function updateAvatar() { $profilePictureDir = "/var/www/html/public/"; - $relativePath = "uploads/profilepictures/" . $_SESSION["userID"] . "_avatar.png"; + $tmpImg = $_FILES["pp"]["tmp_name"]; - checkAvatarSize($_FILES["pp"]["tmp_name"]); - $scaledImg = scaleAvatar($_FILES["pp"]["tmp_name"]); + checkAvatarSize($tmpImg); removeOldAvatar(); - imagepng($scaledImg, $profilePictureDir . $relativePath); + if (getimagesize($tmpImg)["mime"] == "image/gif") { + if ($_FILES["pp"]["size"] > 4000000) { + throw new AngryAlert("Bestand is te groot, maximaal 4MB toegestaan."); + } + $relativePath = "uploads/profilepictures/" . $_SESSION["userID"] . "_avatar.gif"; + move_uploaded_file($tmpImg, $profilePictureDir . $relativePath); + } else { + $relativePath = "uploads/profilepictures/" . $_SESSION["userID"] . "_avatar.png"; + $scaledImg = scaleAvatar($tmpImg); + imagepng($scaledImg, $profilePictureDir . $relativePath); + } setAvatarToDatabase("../" . $relativePath); throw new HappyAlert("Profielfoto veranderd."); } diff --git a/website/views/settings-view.php b/website/views/settings-view.php index fe9c6da..66513fc 100644 --- a/website/views/settings-view.php +++ b/website/views/settings-view.php @@ -6,9 +6,9 @@ $settings = getSettings();