unset($lesson->completed);
unset($lesson->gradebetterthan);
- if (!empty($lesson->password)) {
- $lesson->password = md5($lesson->password);
- } else {
+ if (empty($lesson->password)) {
unset($lesson->password);
}
$mform->setHelpButton('usepassword', array('usepassword', get_string('usepassword', 'lesson'), 'lesson'));
$mform->setDefault('usepassword', 0);
- $mform->addElement('text', 'password', get_string('password', 'lesson'));
+ $mform->addElement('passwordunmask', 'password', get_string('password', 'lesson'));
$mform->setHelpButton('password', array('password', get_string('password', 'lesson'), 'lesson'));
$mform->setDefault('password', '');
- //never displayed converted to md5
$mform->setType('password', PARAM_RAW);
$mform->addElement('date_time_selector', 'available', get_string('available', 'lesson'), array('optional'=>true));
**/
function data_preprocessing(&$default_values) {
global $DB;
- //var_dump($default_values);
+ global $module;
if (isset($default_values['conditions'])) {
$conditions = unserialize($default_values['conditions']);
$default_values['timespent'] = $conditions->timespent;
$default_values['completed'] = $conditions->completed;
$default_values['gradebetterthan'] = $conditions->gradebetterthan;
}
- if (isset($default_values['password'])) {
+ // after this passwords are clear text, MDL-11090
+ if (isset($default_values['password']) and ($module->version<2008112600)) {
unset($default_values['password']);
}
if (isset($default_values['add']) and $defaults = $DB->get_record('lesson_default', array('course' => $default_values['course']))) {
$id = required_param('id', PARAM_INT); // Course Module ID
$pageid = optional_param('pageid', NULL, PARAM_INT); // Lesson Page ID
$edit = optional_param('edit', -1, PARAM_BOOL);
+ $userpassword = optional_param('userpassword','',PARAM_CLEAN);
list($cm, $course, $lesson) = lesson_get_basics($id);
} else if ($lesson->usepassword and empty($USER->lessonloggedin[$lesson->id])) { // Password protected lesson code
$correctpass = false;
- if ($password = optional_param('userpassword', '', PARAM_CLEAN)) {
- if ($lesson->password == md5(trim($password))) {
+ if (!empty($userpassword)) {
+ // with or without md5 for backward compatibility (MDL-11090)
+ if (($lesson->password == md5(trim($userpassword))) or ($lesson->password == $userpassword)) {
$USER->lessonloggedin[$lesson->id] = true;
$correctpass = true;
if ($lesson->highscores) {