From 70dcc1e39af2234ca3cd7268a01796adcbd211da Mon Sep 17 00:00:00 2001 From: Juan Leyva Date: Thu, 8 Jun 2017 09:39:44 +0100 Subject: [PATCH] MDL-59112 theme_clean: Always return expected moodle_url The function was returned some times a moodle_url object and another times just a string with a relative URL. --- theme/clean/classes/core_renderer.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/theme/clean/classes/core_renderer.php b/theme/clean/classes/core_renderer.php index ff09b25e5e5..b60d915724d 100644 --- a/theme/clean/classes/core_renderer.php +++ b/theme/clean/classes/core_renderer.php @@ -130,8 +130,14 @@ class theme_clean_core_renderer extends theme_bootstrapbase_core_renderer { * @return moodle_url|false */ public function get_logo_url($maxwidth = null, $maxheight = 100) { + global $CFG; + if (!empty($this->page->theme->settings->logo)) { - return $this->page->theme->setting_file_url('logo', 'logo'); + $url = $this->page->theme->setting_file_url('logo', 'logo'); + // Get a URL suitable for moodle_url. + $relativebaseurl = preg_replace('|^https?://|i', '//', $CFG->wwwroot); + $url = str_replace($relativebaseurl, '', $url); + return new moodle_url($url); } return parent::get_logo_url($maxwidth, $maxheight); } @@ -146,8 +152,14 @@ class theme_clean_core_renderer extends theme_bootstrapbase_core_renderer { * @return moodle_url|false */ public function get_compact_logo_url($maxwidth = 100, $maxheight = 100) { + global $CFG; + if (!empty($this->page->theme->settings->smalllogo)) { - return $this->page->theme->setting_file_url('smalllogo', 'smalllogo'); + $url = $this->page->theme->setting_file_url('smalllogo', 'smalllogo'); + // Get a URL suitable for moodle_url. + $relativebaseurl = preg_replace('|^https?://|i', '//', $CFG->wwwroot); + $url = str_replace($relativebaseurl, '', $url); + return new moodle_url($url); } return parent::get_compact_logo_url($maxwidth, $maxheight); }