Index: moodle/mod/lamslesson/lib.php =================================================================== diff -u -r458edcd7121d8676f627e7f74a06952a54423bf6 -rfff4221d477dd2d8bbac61f36246ab726ba6d570 --- moodle/mod/lamslesson/lib.php (.../lib.php) (revision 458edcd7121d8676f627e7f74a06952a54423bf6) +++ moodle/mod/lamslesson/lib.php (.../lib.php) (revision fff4221d477dd2d8bbac61f36246ab726ba6d570) @@ -54,6 +54,7 @@ define('LAMSLESSON_PARAM_MONITOR_METHOD', 'monitor'); define('LAMSLESSON_PARAM_LEARNER_METHOD', 'learner'); define('LAMSLESSON_PARAM_PREVIEW_METHOD', 'preview'); +define('LAMSLESSON_PARAM_VERIFY_METHOD', 'verify'); define('LAMSLESSON_PARAM_SINGLE_PROGRESS_METHOD', 'singleStudentProgress'); define('LAMSLESSON_PARAM_PROGRESS_METHOD', 'studentProgress'); define('LAMSLESSON_PARAM_CUSTOM_CSV', 'customCSV'); @@ -890,5 +891,36 @@ } else { lamslesson_grade_item_update($lamslesson); } + } +/** + * Verify Moodle settings with LAMS + * + * @param url $url + * @param string $id + * @param string $key + */ +function lamslesson_verify($url, $id, $key){ + + $datetime = date("F d,Y g:i a"); + $datetime_encoded = urlencode($datetime); + + $plaintext = $datetime.$id.$key; + // create hash + $hashvalue = sha1(strtolower($plaintext)); + + $request = $url . LAMSLESSON_LESSON_MANAGER . "?method=" . LAMSLESSON_PARAM_VERIFY_METHOD . "&serverId=" . $id . "&datetime=" . $datetime_encoded . "&hashValue=" . $hashvalue; + + $validate = file_get_contents($request); + + if ( $validate == 1 ) { + // validation successful + return get_string('validationsuccessful', 'lamslesson'); + } else { + // validation failed + return get_string('validationfailed', 'lamslesson'); + } + +} +