Index: moodle/mod/lamslesson/callback.php =================================================================== diff -u -r4b0e8db9f2b4f097606ba7dda5ea0c6f61094f45 -rc6f6605de18894e645f9a9cabb994996fdf90924 --- moodle/mod/lamslesson/callback.php (.../callback.php) (revision 4b0e8db9f2b4f097606ba7dda5ea0c6f61094f45) +++ moodle/mod/lamslesson/callback.php (.../callback.php) (revision c6f6605de18894e645f9a9cabb994996fdf90924) @@ -18,23 +18,27 @@ include_once('lib.php'); global $DB; +$hs = required_param('hs', PARAM_ALPHANUM); +$ts = required_param('ts', PARAM_RAW); +$un = required_param('un', PARAM_ALPHANUM); +$lsid = required_param('lsId', PARAM_INT); + if(!isset($CFG->lamslesson_serverid)||!isset($CFG->lamslesson_serverkey)) { header('HTTP/1.1 401 Unauthenticated'); exit(1); } -$plaintext = trim($_GET['ts']).trim($_GET['un']).trim($CFG->lamslesson_serverid).trim($CFG->lamslesson_serverkey); +$plaintext = trim($ts).trim($un).trim($CFG->lamslesson_serverid).trim($CFG->lamslesson_serverkey); $hash = sha1(strtolower($plaintext)); -if($hash!=$_GET['hs']){ +if($hash != $hs){ header('HTTP/1.1 401 Unauthenticated'); exit(1); } //OK, the caller is authenticated. Now let's fulfill its request. // and make Moodle get the latest marks for this user in this lesson -$lsid = $_GET['lsId']; -$user = $DB->get_record('user', array('username'=>$_GET['un'])); +$user = $DB->get_record('user', array('username'=>$un)); if(!$user){ header('HTTP/1.1 401 Unauthenticated'); exit(1); @@ -44,4 +48,4 @@ $gradebookmark = lamslesson_get_lams_outputs($user->username,$lamslesson,$user->username); -?> \ No newline at end of file +?> Index: moodle/mod/lamslesson/lib.php =================================================================== diff -u -r553eab7725b1f63b96ed6123359c14ad2b2c65e6 -rc6f6605de18894e645f9a9cabb994996fdf90924 --- moodle/mod/lamslesson/lib.php (.../lib.php) (revision 553eab7725b1f63b96ed6123359c14ad2b2c65e6) +++ moodle/mod/lamslesson/lib.php (.../lib.php) (revision c6f6605de18894e645f9a9cabb994996fdf90924) @@ -711,7 +711,7 @@ $listofcontexts = '('.$sitecontext->id.')'; // must be site } $sql = "SELECT u.id - FROM {$CFG->prefix}user u INNER JOIN {$CFG->prefix}role_assignments r ON u.id=r.userid + FROM {user} u INNER JOIN {role_assignments} r ON u.id=r.userid WHERE r.contextid IN $listofcontexts OR r.contextid=$context->id AND u.deleted=0 AND u.username!='guest'"; $users = $DB->get_records_sql($sql); Index: moodle/mod/lamslesson/userinfo.php =================================================================== diff -u -re4196a23f0ee88b42d53c9e2bcf728170f3da793 -rc6f6605de18894e645f9a9cabb994996fdf90924 --- moodle/mod/lamslesson/userinfo.php (.../userinfo.php) (revision e4196a23f0ee88b42d53c9e2bcf728170f3da793) +++ moodle/mod/lamslesson/userinfo.php (.../userinfo.php) (revision c6f6605de18894e645f9a9cabb994996fdf90924) @@ -16,14 +16,19 @@ include_once($CFG->libdir.'/datalib.php'); global $DB; + $hs = required_param('hs', PARAM_ALPHANUM); + $ts = required_param('ts', PARAM_RAW); + $un = required_param('un', PARAM_ALPHANUM); + $lsid = optional_param('lsid', '', PARAM_INT); + if(!isset($CFG->lamslesson_serverid)||!isset($CFG->lamslesson_serverkey)) { header('HTTP/1.1 401 Unauthenticated'); exit(1); } - $plaintext = trim($_GET['ts']).trim($_GET['un']).trim($CFG->lamslesson_serverid).trim($CFG->lamslesson_serverkey); + $plaintext = trim($ts).trim($un).trim($CFG->lamslesson_serverid).trim($CFG->lamslesson_serverkey); $hash = sha1(strtolower($plaintext)); - if($hash!=$_GET['hs']){ + if($hash != $hs){ header('HTTP/1.1 401 Unauthenticated'); exit(1); } @@ -32,7 +37,7 @@ //What it needs is user info in CSV format. It should be like this: //username,first name,last name,job title, department, organisation, //address,phone,fax,mobile,email - $user = $DB->get_record('user', array('username'=>$_GET['un'])); + $user = $DB->get_record('user', array('username'=>$un)); //return false if none found if(!$user){ @@ -43,4 +48,4 @@ $comma_separated = implode(",", $array);//need more sophiscated algorithm to generate CSV formatted string echo $comma_separated; -?> \ No newline at end of file +?>