summaryrefslogtreecommitdiffstats
path: root/apps/theming/lib
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2018-01-02 11:58:05 +0100
committerJulius Härtl <jus@bitgrid.net>2018-01-19 13:34:43 +0100
commit422e20569b1a84f5b1845474abed630e39daa3cf (patch)
tree3d4b11a3b7b03f316d9030394e0f4f4247e57e0c /apps/theming/lib
parentfdd7a5325006d5ff023f04fab32627e08393f053 (diff)
downloadnextcloud-server-422e20569b1a84f5b1845474abed630e39daa3cf.tar.gz
nextcloud-server-422e20569b1a84f5b1845474abed630e39daa3cf.zip
Theming: adjust background image resizing
Support high resolution login images by resizing only images that are wider than 4096px fixes #7459 Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'apps/theming/lib')
-rw-r--r--apps/theming/lib/Controller/ThemingController.php10
1 files changed, 4 insertions, 6 deletions
diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php
index 6592eb7f7ab..f27841c0042 100644
--- a/apps/theming/lib/Controller/ThemingController.php
+++ b/apps/theming/lib/Controller/ThemingController.php
@@ -288,12 +288,10 @@ class ThemingController extends Controller {
// Optimize the image since some people may upload images that will be
// either to big or are not progressive rendering.
$tmpFile = $this->tempManager->getTemporaryFile();
- if (function_exists('imagescale')) {
- // FIXME: Once PHP 5.5.0 is a requirement the above check can be removed
- // Workaround for https://bugs.php.net/bug.php?id=65171
- $newHeight = imagesy($image) / (imagesx($image) / 1920);
- $image = imagescale($image, 1920, $newHeight);
- }
+ $newWidth = imagesx($image) < 4096 ? imagesx($image) : 4096;
+ $newHeight = imagesy($image) / (imagesx($image) / $newWidth);
+ $image = imagescale($image, $newWidth, $newHeight);
+
imageinterlace($image, 1);
imagejpeg($image, $tmpFile, 75);
imagedestroy($image);