diff --git a/phpBB/includes/acp/acp_icons.php b/phpBB/includes/acp/acp_icons.php index 2220089231..7f10c73c37 100644 --- a/phpBB/includes/acp/acp_icons.php +++ b/phpBB/includes/acp/acp_icons.php @@ -113,11 +113,21 @@ class acp_icons } } } + else + // getimagesize can't read the dimensions of the SVG files + // https://bugs.php.net/bug.php?id=71517 + { + $xml_get = simplexml_load_file($phpbb_root_path . $img_path . '/' . $path . $img); + + $svg_width = intval($xml_get['width']); + $svg_height = intval($xml_get['height']); + } $_images[$path . $img]['file'] = $path . $img; - $_images[$path . $img]['width'] = $img_size ? $img_size[0] : 127; - $_images[$path . $img]['height'] = $img_size ? $img_size[1] : 127; + // Give SVG a fallback on failure + $_images[$path . $img]['width'] = $img_size ? $img_size[0] : ($svg_width ?: 32); + $_images[$path . $img]['height'] = $img_size ? $img_size[1] : ($svg_height ?: 32); } } unset($imglist);