Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/auth/mnet/land.php
Go to the documentation of this file.
00001 <?php
00002 
00015 require_once dirname(dirname(dirname(__FILE__))) . '/config.php';
00016 require_once $CFG->dirroot . '/mnet/xmlrpc/client.php';
00017 
00018 // grab the GET params
00019 $token         = required_param('token',    PARAM_BASE64);
00020 $remotewwwroot = required_param('idp',      PARAM_URL);
00021 $wantsurl      = required_param('wantsurl', PARAM_LOCALURL);
00022 $wantsremoteurl = optional_param('remoteurl', false, PARAM_BOOL);
00023 
00024 $url = new moodle_url('/auth/mnet/jump.php', array('token'=>$token, 'idp'=>$remotewwwroot, 'wantsurl'=>$wantsurl));
00025 if ($wantsremoteurl !== false) $url->param('remoteurl', $wantsremoteurl);
00026 $PAGE->set_url($url);
00027 
00028 $site = get_site();
00029 
00030 if (!is_enabled_auth('mnet')) {
00031     print_error('mnetdisable');
00032 }
00033 
00034 // confirm the MNET session
00035 $mnetauth = get_auth_plugin('mnet');
00036 $remotepeer = new mnet_peer();
00037 $remotepeer->set_wwwroot($remotewwwroot);
00038 // this creates the local user account if necessary, or updates it if it already exists
00039 $localuser = $mnetauth->confirm_mnet_session($token, $remotepeer);
00040 
00041 // log in
00042 $user = get_complete_user_data('id', $localuser->id, $localuser->mnethostid);
00043 complete_user_login($user);
00044 // now that we've logged in, set up the mnet session properly
00045 $mnetauth->update_mnet_session($user, $token, $remotepeer);
00046 
00047 if (!empty($localuser->mnet_foreign_host_array)) {
00048     $USER->mnet_foreign_host_array = $localuser->mnet_foreign_host_array;
00049 }
00050 
00051 // redirect
00052 if ($wantsremoteurl) {
00053     redirect($remotewwwroot . $wantsurl);
00054 }
00055 redirect($CFG->wwwroot . $wantsurl);
00056 
00057 
 All Data Structures Namespaces Files Functions Variables Enumerations