1 common.inc | backdrop_get_logo_info() |
Gets the path and dimensions of the site wide logo.
Return value
array: An array containing "path", "width", and "height".
File
- core/
includes/ common.inc, line 239 - Common functions that many Backdrop modules will need to reference.
Code
function backdrop_get_logo_info() {
$info = array(
'path' => '',
'width' => NULL,
'height' => NULL,
);
// The logo may be needed on pages prior to config being ready, e.g. during
// installer or on maintenance pages. Default to an empty string if unable to
// load the configuration.
try {
$site_config = config('system.core');
if ($site_config->get('site_logo_theme')) {
global $theme;
$theme_data = list_themes();
$theme_object = $theme_data[$theme];
$logo = dirname($theme_object->filename) . '/logo.png';
if (file_exists($logo)) {
$info['path'] = $logo;
}
}
elseif ($site_config->get('site_logo_path')) {
$info['path'] = $site_config->get('site_logo_path');
}
// Retrieve stored logo dimensions.
if ($attributes = $site_config->get('site_logo_attributes')) {
$info = array_merge($info, $attributes);
}
// Set the logo dimensions if not set.
elseif ($info['path'] && $dimensions = @getimagesize($info['path'])) {
$attributes = array();
list($attributes['width'], $attributes['height']) = $dimensions;
$site_config->set('site_logo_attributes', $attributes);
$info = array_merge($info, $attributes);
}
}
catch (ConfigException $e) {
// Use the default empty logo.
}
return $info;
}