Help with LDAP Password Expiry code - UI Output

Help with LDAP Password Expiry code - UI Output

by Nadirshah Ferozepurwalla -
Number of replies: 0
First I found the code in login\index.php if this code doesnot handle password expiration for LDAP please guide me to the correct code


Question before trying this setting, I would like to know how does the password expiry warning appear on the Moodle Interface (if I set 10 days) and how does the expired notification appear.

From the code I understand it will display a message when user logs in on the login page.

But does it also send a email notification?

Note dont have a test instance with LDAP so will appreciate any practical screenshots.

Thankyou for help.

Code

 /// check if user password has expired

    /// Currently supported only for ldap-authentication module

        $userauth = get_auth_plugin($USER->auth);

        if (!isguestuser() and !empty($userauth->config->expiration) and $userauth->config->expiration == 1) {

            if ($userauth->can_change_password()) {

                $passwordchangeurl = $userauth->change_password_url();

                if (!$passwordchangeurl) {

                    $passwordchangeurl = $CFG->httpswwwroot.'/login/change_password.php';

                }

            } else {

                $passwordchangeurl = $CFG->httpswwwroot.'/login/change_password.php';

            }

            $days2expire = $userauth->password_expire($USER->username);

            $PAGE->set_title("$site->fullname: $loginsite");

            $PAGE->set_heading("$site->fullname");

            if (intval($days2expire) > 0 && intval($days2expire) < intval($userauth->config->expiration_warning)) {

                echo $OUTPUT->header();

                echo $OUTPUT->confirm(get_string('auth_passwordwillexpire', 'auth', $days2expire), $passwordchangeurl, $urltogo);

                echo $OUTPUT->footer();

                exit;

            } elseif (intval($days2expire) < 0 ) {

                set_user_preference('auth_forcepasswordchange', 1, $USER);

                echo $OUTPUT->header();

                echo $OUTPUT->confirm(get_string('auth_passwordisexpired', 'auth'), $passwordchangeurl, $urltogo);

                echo $OUTPUT->footer();

                exit;

            }

        }


Average of ratings: -