diff options
| -rw-r--r-- | phpBB/includes/acp/acp_styles.php | 1 | ||||
| -rw-r--r-- | phpBB/includes/session.php | 37 | ||||
| -rw-r--r-- | phpBB/styles/prosilver/imageset/site_logo.gif | bin | 3430 -> 5070 bytes | 
3 files changed, 37 insertions, 1 deletions
diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index 37cf8d1f72..3bc8c86500 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -510,6 +510,7 @@ parse_css_file = {PARSE_CSS_FILE}  							$db->sql_transaction('commit');  							$cache->destroy('sql', STYLES_IMAGESET_DATA_TABLE); +							$cache->destroy('imageset_site_logo_md5');  							add_log('admin', 'LOG_IMAGESET_REFRESHED', $imageset_row['imageset_name']);  							trigger_error($user->lang['IMAGESET_REFRESHED'] . adm_back_link($this->u_action)); diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 7ef6e02a8d..e9e706e2b8 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -2272,9 +2272,44 @@ 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; + +				$img_file_hashes = $cache->get('imageset_site_logo_md5'); + +				if ($img_file_hashes === false) +				{ +					$img_file_hashes = array(); +				} + +				$key = $this->theme['imageset_path'] . '::' . $this->img_array[$img]['image_lang']; +				if (!isset($img_file_hashes[$key])) +				{ +					$img_file_hashes[$key] = md5(file_get_contents($phpbb_root_path . $path)); +					$cache->put('imageset_site_logo_md5', $img_file_hashes); +				} + +				$phpbb_logo_hash = '0c461a32cd3621643105f0d02a772c10'; + +				if ($phpbb_logo_hash == $img_file_hashes[$key]) +				{ +					$img_data['width'] = '149'; +					$img_data['height'] = '52'; +				} +			}  		}  		$alt = (!empty($this->lang[$alt])) ? $this->lang[$alt] : $alt; diff --git a/phpBB/styles/prosilver/imageset/site_logo.gif b/phpBB/styles/prosilver/imageset/site_logo.gif Binary files differindex 909114c377..2517fbedd6 100644 --- a/phpBB/styles/prosilver/imageset/site_logo.gif +++ b/phpBB/styles/prosilver/imageset/site_logo.gif  | 
