From 0afa12be00a209626c14ef1bc93a261e32ea0b4b Mon Sep 17 00:00:00 2001 From: thepurpleblob Date: Wed, 26 Nov 2008 14:30:22 +0000 Subject: [PATCH] MDL-11090 Passwords are now held in clear text so you can see what the password is on the config screen. Still backward compatible with old md5 passwords (which are still not displayed of course) --- mod/lesson/lib.php | 4 +--- mod/lesson/mod_form.php | 7 ++++--- mod/lesson/version.php | 2 +- mod/lesson/view.php | 6 ++++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/mod/lesson/lib.php b/mod/lesson/lib.php index 7958a078efb..cdf71bb8acf 100644 --- a/mod/lesson/lib.php +++ b/mod/lesson/lib.php @@ -508,9 +508,7 @@ function lesson_process_pre_save(&$lesson) { unset($lesson->completed); unset($lesson->gradebetterthan); - if (!empty($lesson->password)) { - $lesson->password = md5($lesson->password); - } else { + if (empty($lesson->password)) { unset($lesson->password); } diff --git a/mod/lesson/mod_form.php b/mod/lesson/mod_form.php index 2866772187d..a5c65b8321d 100644 --- a/mod/lesson/mod_form.php +++ b/mod/lesson/mod_form.php @@ -182,10 +182,9 @@ class mod_lesson_mod_form extends moodleform_mod { $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)); @@ -299,13 +298,15 @@ class mod_lesson_mod_form extends moodleform_mod { * @return void **/ function data_preprocessing(&$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 = get_record('lesson_default', 'course', $default_values['course'])) { diff --git a/mod/lesson/version.php b/mod/lesson/version.php index 31faa6409da..36fead9b457 100644 --- a/mod/lesson/version.php +++ b/mod/lesson/version.php @@ -8,7 +8,7 @@ * @package lesson **/ -$module->version = 2007101509; // The current module version (Date: YYYYMMDDXX) +$module->version = 2008112600; // The current module version (Date: YYYYMMDDXX) $module->requires = 2007101509; // Requires this Moodle version $module->cron = 0; // Period for cron to check this module (secs) diff --git a/mod/lesson/view.php b/mod/lesson/view.php index 3243160def9..d19454f6031 100644 --- a/mod/lesson/view.php +++ b/mod/lesson/view.php @@ -16,6 +16,7 @@ $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); @@ -50,8 +51,9 @@ } 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) {