From ae85c9436449ccb84c49292ac67523805f6708bf Mon Sep 17 00:00:00 2001 From: Mikhail Golenkov Date: Thu, 6 Feb 2020 18:01:39 +1100 Subject: [PATCH] Cook file url properly when Moodle is installed in a sub folder #179. --- .../maintenance_static_page_generator.php | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/classes/local/controllers/maintenance_static_page_generator.php b/classes/local/controllers/maintenance_static_page_generator.php index e9e20e3..5164152 100644 --- a/classes/local/controllers/maintenance_static_page_generator.php +++ b/classes/local/controllers/maintenance_static_page_generator.php @@ -156,7 +156,25 @@ class maintenance_static_page_generator { if (maintenance_static_page_io::is_url($originalurl)) { $fullurl = $originalurl; } else if ($originalurl[0] == '/') { - $fullurl = $CFG->wwwroot.$originalurl; + if (strpos($CFG->wwwroot, 'http://') === 0) { + $domain = substr($CFG->wwwroot, 7); + if (strpos($domain, '/') > 0) { + $base = substr($domain, 0, strpos($domain, '/')); + } else { + $base = $domain; + } + $fullurl = 'http://'.$base.$originalurl; + } else if (strpos($CFG->wwwroot, 'https://') === 0) { + $domain = substr($CFG->wwwroot, 8); + if (strpos($domain, '/') > 0) { + $base = substr($domain, 0, strpos($domain, '/')); + } else { + $base = $domain; + } + $fullurl = 'https://'.$base.$originalurl; + } else { + $fullurl = $CFG->wwwroot.$originalurl; + } } else { $fullurl = $baseref.'/'.$originalurl; }