diff --git a/auth/classes/output/login.php b/auth/classes/output/login.php index fcb42b75c7c..8bdf91de9e2 100644 --- a/auth/classes/output/login.php +++ b/auth/classes/output/login.php @@ -128,7 +128,7 @@ class login implements renderable, templatable { $data->error = $this->error; $data->forgotpasswordurl = $this->forgotpasswordurl->out(false); $data->hasidentityproviders = !empty($this->identityproviders); - $data->hasinstructions = !empty($this->instructions); + $data->hasinstructions = !empty($this->instructions) || $this->cansignup; $data->identityproviders = $identityproviders; list($data->instructions, $data->instructionsformat) = external_format_text($this->instructions, FORMAT_MOODLE, context_system::instance()->id); diff --git a/login/signup.php b/login/signup.php index e14518006cd..dc6774dd0ee 100644 --- a/login/signup.php +++ b/login/signup.php @@ -97,5 +97,17 @@ $PAGE->set_heading($SITE->fullname); echo $OUTPUT->header(); -echo $OUTPUT->render($mform_signup); +if ($mform_signup instanceof renderable) { + // Try and use the renderer from the auth plugin if it exists. + try { + $renderer = $PAGE->get_renderer('auth_' . $authplugin->authtype); + } catch (coding_exception $ce) { + // Fall back on the general renderer. + $renderer = $OUTPUT; + } + echo $renderer->render($mform_signup); +} else { + // Fall back for auth plugins not using renderables. + $mform_signup->display(); +} echo $OUTPUT->footer();