diff options
author | Nils Adermann <naderman@naderman.de> | 2011-07-05 19:09:09 -0400 |
---|---|---|
committer | Nils Adermann <naderman@naderman.de> | 2011-07-05 19:09:09 -0400 |
commit | f610f44a4e23eef8ed7698a32b10bc28789bdf00 (patch) | |
tree | 71ea63c9b8f504ea2bc8c28bb087bdf802e7e428 /phpBB/includes | |
parent | 77c942263062fbb417630a037abbc34b57d1f690 (diff) | |
download | forums-f610f44a4e23eef8ed7698a32b10bc28789bdf00.tar forums-f610f44a4e23eef8ed7698a32b10bc28789bdf00.tar.gz forums-f610f44a4e23eef8ed7698a32b10bc28789bdf00.tar.bz2 forums-f610f44a4e23eef8ed7698a32b10bc28789bdf00.tar.xz forums-f610f44a4e23eef8ed7698a32b10bc28789bdf00.zip |
[ticket/10250] Overwrite the site_logo width&height when the phpbb logo is used
The new logo is slightly wider than the old logo. If we changed the size in the
imageset.cfg we would cause a conflict for everyone who replaced the logo with
their own and modified the size. Instead we overwrite the width and height in
the img() function in session.php only if its contents are that of the stock
phpbb logo.
PHPBB3-10250
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/session.php | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 7ef6e02a8d..f509957f96 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -2272,9 +2272,36 @@ class user extends session // Use URL if told so $root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $phpbb_root_path; - $img_data['src'] = $root_path . 'styles/' . rawurlencode($this->theme['imageset_path']) . '/imageset/' . ($this->img_array[$img]['image_lang'] ? $this->img_array[$img]['image_lang'] .'/' : '') . $this->img_array[$img]['image_filename']; + $path = 'styles/' . rawurlencode($this->theme['imageset_path']) . '/imageset/' . ($this->img_array[$img]['image_lang'] ? $this->img_array[$img]['image_lang'] .'/' : '') . $this->img_array[$img]['image_filename']; + + $img_data['src'] = $root_path . $path; $img_data['width'] = $this->img_array[$img]['image_width']; $img_data['height'] = $this->img_array[$img]['image_height']; + + // We overwrite the width and height to the phpbb logo's width + // and height here if the contents of the site_logo file are + // really equal to the phpbb_logo + // This allows us to change the dimensions of the phpbb_logo without + // modifying the imageset.cfg and causing a conflict for everyone + // who modified it for their custom logo on updating + if ($img == 'site_logo' && file_exists($phpbb_root_path . $path)) + { + global $cache; + + if (($img_file_hash = $cache->get('imageset_site_logo_md5')) === false) + { + $img_file_hash = md5(file_get_contents($phpbb_root_path . $path)); + $cache->put('imageset_site_logo_md5', $img_file_hash); + } + + $phpbb_logo_hash = '0c461a32cd3621643105f0d02a772c10'; + + if ($phpbb_logo_hash == $img_file_hash) + { + $img_data['width'] = '149'; + $img_data['height'] = '52'; + } + } } $alt = (!empty($this->lang[$alt])) ? $this->lang[$alt] : $alt; |