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:
martinlanghoff 2007-01-19 08:36:02 +00:00
parent f3203630ca
commit 0743661ea5
3 changed files with 11 additions and 5 deletions

View File

@ -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);
}
}
}

View File

@ -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);

View File

@ -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;
}