mirror of
https://github.com/moodle/moodle.git
synced 2025-03-28 11:32:42 +01:00
MDL-60132 tool_mobile: Handle correctly moodle_url instances
In Moodle there are some functions that can be overridden by themes. Some themes are returning incorrect value types in those functions
This commit is contained in:
parent
32f9550e85
commit
6703e031f0
@ -152,10 +152,11 @@ class api {
|
||||
$url = new moodle_url("/$CFG->admin/tool/mobile/launch.php");
|
||||
$settings['launchurl'] = $url->out(false);
|
||||
|
||||
if ($logourl = $OUTPUT->get_logo_url()) {
|
||||
// Check that we are receiving a moodle_url object, themes can override get_logo_url and may return incorrect values.
|
||||
if (($logourl = $OUTPUT->get_logo_url()) && $logourl instanceof moodle_url) {
|
||||
$settings['logourl'] = $logourl->out(false);
|
||||
}
|
||||
if ($compactlogourl = $OUTPUT->get_compact_logo_url()) {
|
||||
if (($compactlogourl = $OUTPUT->get_compact_logo_url()) && $compactlogourl instanceof moodle_url) {
|
||||
$settings['compactlogourl'] = $compactlogourl->out(false);
|
||||
}
|
||||
|
||||
@ -215,7 +216,11 @@ class api {
|
||||
|
||||
if (empty($section) or $section == 'gradessettings') {
|
||||
require_once($CFG->dirroot . '/user/lib.php');
|
||||
$settings->mygradesurl = user_mygrades_url()->out(false);
|
||||
$settings->mygradesurl = user_mygrades_url();
|
||||
// The previous function may return moodle_url instances or plain string URLs.
|
||||
if ($settings->mygradesurl instanceof moodle_url) {
|
||||
$settings->mygradesurl = $settings->mygradesurl->out(false);
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($section) or $section == 'mobileapp') {
|
||||
|
Loading…
x
Reference in New Issue
Block a user