Index: moodle/mod/lamslesson/db/install.xml
===================================================================
diff -u -ra25bbceba42c4b33abf05366474c35dbd398e69d -r9686837f46502c86035ec52f8ccab391e2aaa2e3
--- moodle/mod/lamslesson/db/install.xml (.../install.xml) (revision a25bbceba42c4b33abf05366474c35dbd398e69d)
+++ moodle/mod/lamslesson/db/install.xml (.../install.xml) (revision 9686837f46502c86035ec52f8ccab391e2aaa2e3)
@@ -16,7 +16,8 @@
-
+
+
Index: moodle/mod/lamslesson/lang/en/lamslesson.php
===================================================================
diff -u -rae5e990cc15af5507fbc326ab637c058893d79fb -r9686837f46502c86035ec52f8ccab391e2aaa2e3
--- moodle/mod/lamslesson/lang/en/lamslesson.php (.../lamslesson.php) (revision ae5e990cc15af5507fbc326ab637c058893d79fb)
+++ moodle/mod/lamslesson/lang/en/lamslesson.php (.../lamslesson.php) (revision 9686837f46502c86035ec52f8ccab391e2aaa2e3)
@@ -51,6 +51,7 @@
$string['pluginname'] = 'LAMS Lesson';
$string['selectsequence'] = 'Select sequence';
$string['displaydesign'] = 'Display image design?';
+$string['allowLearnerRestart'] = 'Learners can restart the lesson?';
$string['availablesequences'] = 'Sequences';
$string['openauthor'] = 'Author new LAMS lessons';
Index: moodle/mod/lamslesson/lib.php
===================================================================
diff -u -r5977cea84c5550b8300ed41bf8ce6482ef7b6326 -r9686837f46502c86035ec52f8ccab391e2aaa2e3
--- moodle/mod/lamslesson/lib.php (.../lib.php) (revision 5977cea84c5550b8300ed41bf8ce6482ef7b6326)
+++ moodle/mod/lamslesson/lib.php (.../lib.php) (revision 9686837f46502c86035ec52f8ccab391e2aaa2e3)
@@ -125,6 +125,11 @@
if (isset($originallamslesson->displaydesign) && !isset($lamslesson->displaydesign)) {
$lamslesson->displaydesign = 0;
}
+
+ // if the allowLearnerRestart setting is unchecked with make sure we do that
+ if (isset($originallamslesson->allowLearnerRestart) && !isset($lamslesson->allowLearnerRestart)) {
+ $lamslesson->allowLearnerRestart = 0;
+ }
return $DB->update_record('lamslesson', $lamslesson);
}
@@ -455,7 +460,7 @@
// start the lesson
$form->lesson_id = lamslesson_get_lesson(
$USER->username, $form->sequence_id, $form->course,
- $form->name, $form->intro, 'start',
+ $form->name, $form->intro, $form->allowLearnerRestart, 'start',
$USER->country, $USER->lang, $form->customCSV, $form->displaydesign
);
@@ -547,7 +552,7 @@
* @param string $lang The Language's ISO code
* @return int lesson id
*/
-function lamslesson_get_lesson($username,$ldid,$courseid,$title,$desc,$method,$country,$lang,$customcsv='',$displaydesign) {
+function lamslesson_get_lesson($username,$ldid,$courseid,$title,$desc,$allowLearnerRestart,$method,$country,$lang,$customcsv='',$displaydesign) {
global $CFG, $USER;
if (!isset($CFG->lamslesson_serverid, $CFG->lamslesson_serverkey) || $CFG->lamslesson_serverid == "") {
@@ -565,17 +570,22 @@
$request = "$CFG->lamslesson_serverurl" . LAMSLESSON_LESSON_MANAGER;
- $load = array('method' => $method,
- 'serverId' => $CFG->lamslesson_serverid,
- 'datetime' => $datetime,
- 'hashValue' => $hashvalue,
- 'username' => $username,
- 'ldId' => $ldid,
- 'courseId' => $courseid,
- 'title' => $title,
- 'desc' => $desc,
- 'country' => $country,
- 'lang' => $lang);
+ $load = array('method' => $method,
+ 'serverId' => $CFG->lamslesson_serverid,
+ 'datetime' => $datetime,
+ 'hashValue' => $hashvalue,
+ 'username' => $username,
+ 'ldId' => $ldid,
+ 'courseId' => $courseid,
+ 'title' => $title,
+ 'desc' => $desc,
+ 'country' => $country,
+ 'lang' => $lang);
+
+ //append 'allowLearnerRestart' param only if it's true
+ if (isset($allowLearnerRestart) && $allowLearnerRestart) {
+ $load['allowLearnerRestart'] = $allowLearnerRestart;
+ }
// GET call to LAMS
Index: moodle/mod/lamslesson/mod_form.php
===================================================================
diff -u -r044bc381a9c59ee083f5271b39a36096b1f740a2 -r9686837f46502c86035ec52f8ccab391e2aaa2e3
--- moodle/mod/lamslesson/mod_form.php (.../mod_form.php) (revision 044bc381a9c59ee083f5271b39a36096b1f740a2)
+++ moodle/mod/lamslesson/mod_form.php (.../mod_form.php) (revision 9686837f46502c86035ec52f8ccab391e2aaa2e3)
@@ -128,21 +128,22 @@
$mform->setType('customCSV', PARAM_TEXT);
$mform->addElement('header', 'selectsequence', get_string('selectsequence', 'lamslesson'));
- $mform->setExpanded('selectsequence', true);
+ $mform->setExpanded('selectsequence', true);
$mform->addElement('static', 'sequencemessage', '', $html);
$mform->addElement('checkbox', 'displaydesign', get_string('displaydesign', 'lamslesson'));
+ $mform->addElement('checkbox', 'allowLearnerRestart', get_string('allowLearnerRestart', 'lamslesson'));
-//-------------------------------------------------------------------------------
- $this->standard_grading_coursemodule_elements();
+ //-------------------------------------------------------------------------------
+ $this->standard_grading_coursemodule_elements();
- // set the default grade to 'No Grade' so it doesn't record
- // anything on gradebook unless specifically set.
- $mform->setDefault('grade', 0);
+ // set the default grade to 'No Grade' so it doesn't record
+ // anything on gradebook unless specifically set.
+ $mform->setDefault('grade', 0);
// add standard elements, common to all modules
$this->standard_coursemodule_elements();
-//-------------------------------------------------------------------------------
+ //-------------------------------------------------------------------------------
// add standard buttons, common to all modules
$this->add_action_buttons();
}
@@ -151,7 +152,7 @@
$errors = array();
// a sequence needs to be selected
if (empty($data['sequence_id']) || $data['sequence_id'] <= 0) {
- $errors['sequencemessage'] = get_string('sequencenotselected', 'lamslesson');
+ $errors['sequencemessage'] = get_string('sequencenotselected', 'lamslesson');
}
return $errors;
}
Index: moodle/mod/lamslesson/preview.php
===================================================================
diff -u -r5977cea84c5550b8300ed41bf8ce6482ef7b6326 -r9686837f46502c86035ec52f8ccab391e2aaa2e3
--- moodle/mod/lamslesson/preview.php (.../preview.php) (revision 5977cea84c5550b8300ed41bf8ce6482ef7b6326)
+++ moodle/mod/lamslesson/preview.php (.../preview.php) (revision 9686837f46502c86035ec52f8ccab391e2aaa2e3)
@@ -46,7 +46,7 @@
if ($canmanage) {
// Get a lessonID from LAMS first
- $lessonID = lamslesson_get_lesson($USER->username, $ldId, $course->id, 'preview', 'preview', LAMSLESSON_PARAM_PREVIEW_METHOD, $USER->country, $USER->lang,'');
+ $lessonID = lamslesson_get_lesson($USER->username, $ldId, $course->id, 'preview', 'preview', null, LAMSLESSON_PARAM_PREVIEW_METHOD, $USER->country, $USER->lang,'');
// With the lesson now we put together the URL
$learnerurl = lamslesson_get_url($USER->username, $USER->firstname, $USER->lastname, $USER->email, $USER->lang, $USER->country, $lessonID, $course->id, $course->fullname, $course->timecreated, LAMSLESSON_PARAM_LEARNER_METHOD);