Browse Source

use custom function to generate a very basic random string

to use as password.
MOODLE_33_STABLE
Dan Marsden 8 years ago
parent
commit
65e1d9dc28
  1. 20
      locallib.php
  2. 4
      sessions.php

20
locallib.php

@ -355,3 +355,23 @@ function attendance_update_status($status, $acronym, $description, $grade, $visi
$event->add_record_snapshot('attendance_statuses', $status);
$event->trigger();
}
/**
* Similar to core random_string function but only lowercase letters.
* designed to make it relatively easy to provide a simple password in class.
*
* @param int $length The length of the string to be created.
* @return string
*/
function attendance_random_string($length=6) {
$randombytes = random_bytes_emulate($length);
$pool = 'abcdefghijklmnopqrstuvwxyz';
$pool .= '0123456789';
$poollen = strlen($pool);
$string = '';
for ($i = 0; $i < $length; $i++) {
$rand = ord($randombytes[$i]);
$string .= substr($pool, ($rand%($poollen)), 1);
}
return $string;
}

4
sessions.php

@ -273,7 +273,7 @@ function construct_sessions_data_for_add($formdata) {
if (isset($formdata->studentscanmark)) { // Students will be able to mark their own attendance.
$sess->studentscanmark = 1;
if (!empty($formdata->randompassword)) {
$sess->studentpassword = random_string(5);
$sess->studentpassword = attendance_random_string();
} else {
$sess->studentpassword = $formdata->studentpassword;
}
@ -305,7 +305,7 @@ function construct_sessions_data_for_add($formdata) {
// Students will be able to mark their own attendance.
$sess->studentscanmark = 1;
if (!empty($formdata->randompassword)) {
$sess->studentpassword = random_string(5);
$sess->studentpassword = attendance_random_string();
} else {
$sess->studentpassword = $formdata->studentpassword;
}

Loading…
Cancel
Save