. /** * user signup page. * * @package core * @subpackage auth * @copyright 1999 onwards Martin Dougiamas http://dougiamas.com * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require('../config.php'); require_once($CFG->dirroot . '/user/editlib.php'); // Try to prevent searching for sites that allow sign-up. if (!isset($CFG->additionalhtmlhead)) { $CFG->additionalhtmlhead = ''; } $CFG->additionalhtmlhead .= ''; if (empty($CFG->registerauth)) { print_error('notlocalisederrormessage', 'error', '', 'Sorry, you may not use this page.'); } $authplugin = get_auth_plugin($CFG->registerauth); if (!$authplugin->can_signup()) { print_error('notlocalisederrormessage', 'error', '', 'Sorry, you may not use this page.'); } //HTTPS is required in this page when $CFG->loginhttps enabled $PAGE->https_required(); $PAGE->set_url('/login/signup.php'); $PAGE->set_context(context_system::instance()); $mform_signup = $authplugin->signup_form(); if ($mform_signup->is_cancelled()) { redirect(get_login_url()); } else if ($user = $mform_signup->get_data()) { $user->confirmed = 0; $user->lang = current_language(); $user->firstaccess = time(); $user->timecreated = time(); $user->mnethostid = $CFG->mnet_localhost_id; $user->secret = random_string(15); $user->auth = $CFG->registerauth; // Initialize alternate name fields to empty strings. $namefields = array_diff(get_all_user_name_fields(), useredit_get_required_name_fields()); foreach ($namefields as $namefield) { $user->$namefield = ''; } $authplugin->user_signup($user, true); // prints notice and link to login/index.php exit; //never reached } // make sure we really are on the https page when https login required $PAGE->verify_https_required(); $newaccount = get_string('newaccount'); $login = get_string('login'); $PAGE->navbar->add($login); $PAGE->navbar->add($newaccount); $PAGE->set_title($newaccount); $PAGE->set_heading($SITE->fullname); echo $OUTPUT->header(); $mform_signup->display(); echo $OUTPUT->footer();