mirror of
https://github.com/moodle/moodle.git
synced 2025-01-18 22:08:20 +01:00
mnet: it is $USER->mnet_foreign_host_array instead of $SESSION->mnet_foreign_host_array. $SESSION is fraught with peril as it persists acros logins/logouts
This commit is contained in:
parent
f3203630ca
commit
0743661ea5
@ -343,14 +343,16 @@ class auth_plugin_mnet
|
||||
}
|
||||
|
||||
if($key == 'myhosts') {
|
||||
$SESSION->mnet_foreign_host_array = array();
|
||||
$localuser->mnet_foreign_host_array = array();
|
||||
foreach($val as $somecourse) {
|
||||
$name = clean_param($somecourse['name'], PARAM_ALPHANUM);
|
||||
$url = clean_param($somecourse['url'], PARAM_URL);
|
||||
$count = clean_param($somecourse['count'], PARAM_INT);
|
||||
$url_is_local = stristr($url , $CFG->wwwroot);
|
||||
if (!empty($name) && !empty($count) && empty($url_is_local)) {
|
||||
$SESSION->mnet_foreign_host_array[] = array('name' => $name, 'url' => $url, 'count' => $count);
|
||||
$localuser->mnet_foreign_host_array[] = array('name' => $name,
|
||||
'url' => $url,
|
||||
'count' => $count);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -33,6 +33,10 @@ $CFG->auth = 'mnet';
|
||||
$USER = get_complete_user_data('id', $localuser->id, $localuser->mnethostid);
|
||||
load_all_capabilities();
|
||||
|
||||
if (!empty($localuser->mnet_foreign_host_array)) {
|
||||
$USER->mnet_foreign_host_array = $localuser->mnet_foreign_host_array;
|
||||
}
|
||||
|
||||
// redirect
|
||||
redirect($CFG->wwwroot . $wantsurl);
|
||||
|
||||
|
@ -102,7 +102,7 @@ class block_course_list extends block_list {
|
||||
}
|
||||
|
||||
function get_remote_courses() {
|
||||
global $THEME, $CFG, $USER, $SESSION;
|
||||
global $THEME, $CFG, $USER;
|
||||
$icon = '<img src="'.$CFG->pixpath.'/i/mnethost.gif" class="icon" alt="'.get_string('course').'" />';
|
||||
|
||||
// only for logged in users!
|
||||
@ -111,10 +111,10 @@ class block_course_list extends block_list {
|
||||
}
|
||||
|
||||
if ($USER->mnethostid != $CFG->mnet_localhost_id) {
|
||||
if (!empty($SESSION->mnet_foreign_host_array) && is_array($SESSION->mnet_foreign_host_array)) {
|
||||
if (!empty($USER->mnet_foreign_host_array) && is_array($USER->mnet_foreign_host_array)) {
|
||||
$this->content->items[] = get_string('remotemoodles','mnet');
|
||||
$this->content->icons[] = '';
|
||||
foreach($SESSION->mnet_foreign_host_array as $somehost) {
|
||||
foreach($USER->mnet_foreign_host_array as $somehost) {
|
||||
$this->content->items[] = $somehost['count'].get_string('courseson','mnet').'<a title="'.$somehost['name'].'" href="'.$somehost['url'].'">'.$somehost['name'].'</a>';
|
||||
$this->content->icons[] = $icon;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user