}
	if (strxlen($pw) < $config['minpwlength']) {
		$error[] = $lang->phrase('admin_member_password_too_short');
	}
	if (strlen($email) > 200) {
		$error[] = $lang->phrase('admin_member_mail_too_long');
	}
	if (check_mail($email) == false) {
		$error[] = $lang->phrase('admin_member_mail_not_valid');
	}
	if ($pw != $pwx) {
		$error[] = $lang->phrase('admin_member_passwords_different');
	}

	// Custom profile fields
	$custom = addprofile_customprepare('admin_member_no_value_for_required_field', 'admin_member_to_many_chars_for_required_fields');
	$error = array_merge($error, $custom['error']);

	if (count($error) > 0) {
		echo head();
		error("admin.php?action=members&job=register", $error);
	}
	else {
		$reg = time();
		$pw_md5 = md5($pwx);

		$db->query("INSERT INTO {$db->pre}user (name, pw, mail, regdate, confirm, groups, signature, about) VALUES ('{$name}', '{$pw_md5}', '{$email}', '{$reg}', '11', '".GROUP_MEMBER."', '', '')");
		$redirect = $db->insert_id();

		addprofile_customsave($custom['data'], $redirect);
		$error[] = $lang->phrase('pw_too_long');
	}
	if (strxlen($_POST['pw']) < $config['minpwlength']) {
		$error[] = $lang->phrase('pw_too_short');
	}
	if (strlen($_POST['email']) > 200) {
		$error[] = $lang->phrase('email_too_long');
	}
	if (check_mail($_POST['email']) == false) {
		$error[] = $lang->phrase('illegal_mail');
	}
	if ($_POST['pw'] != $_POST['pwx']) {
		$error[] = $lang->phrase('pw_comparison_failed');
	}
	// Custom profile fields
	$custom = addprofile_customprepare();
	$error = array_merge($error, $custom['error']);

	($code = $plugins->load('register_save_errorhandling')) ? eval($code) : null;

	if (count($error) > 0) {
		$data = $custom['data'];
		$data['name'] = $_POST['name'];
		$data['email'] = $_POST['email'];
		$data['temp'] = $_POST['temp'];
		$data['human'] = $human;
		($code = $plugins->load('register_save_errordata')) ? eval($code) : null;
		$fid = save_error_data($data, $fid);
		error($error, 'register.php?fid='.$fid.SID2URL_x);
	}
	else {