%META:TOPICINFO{author="ProjectContributor" date="1317512344" format="1.1" version="1"}%
%ADDTOZONE{ "script" id="JavascriptFiles/foswikiString"
            text="<script type='text/javascript' src='%PUBURL%/%SYSTEMWEB%/JavascriptFiles/foswikiString.js'></script>"
}%
<noautolink>
---+ %MAKETEXT{"Registration"}%
<!--
Read general customisation instructions in System.UserAuthentication
-->
<!--
Registration enabled/disabled messages
-->
%IF{
"not context registration_enabled"
then="
%IF{
   "$USERNAME ingroup 'AdminGroup'"
   then="<strong>%MAKETEXT{"Registration is disabled either by configuration setting {EnableNewUserRegistration}, or due to errors with the password system.  Check the configuration for errors."}%</strong>

          %MAKETEXT{"If registration is not disabled by errors, administrators can still register users to this site using [_1]." args="[[%SYSTEMWEB%.BulkRegistration][BulkRegistration]]"}%"
   else=" *%MAKETEXT{"You cannot register on this site."}%*  "
}%  "
else=" %IF{"$REGISTRATION_DISABLED!='DISABLED'" then=" *%MAKETEXT{"Create your account to edit pages on this site."}%* "}%
%IF{"$REGISTRATION_DISABLED='DISABLED'" then=" *%MAKETEXT{"Sorry, Registration has been temporarily disabled"}%* "}%
"
}%
<!--
Show the form, if not REGISTRATION_DISABLED
-->
%INCLUDE{"%TOPIC%" section="form%REGISTRATION_DISABLED%" warn="off"}%<p>
%MAKETEXT{"If you have any questions about registration, send an e-mail to [_1]." args="<a href='mailto:%WIKIWEBMASTER%?subject=%TOPIC%&#32;Question'>%WIKIWEBMASTER%</a>"}%
</p>
<verbatim class="foswikiHidden">

All the topic sections.
The main section is "form", INCLUDEd when REGISTRATION_DISABLED is not 'DISABLED'.
Other sections define the fields and extra info text.

%STARTSECTION{"form"}%<div class="registration"><form name="registration" action="%SCRIPTURLPATH{"register"}%/%USERSWEB%/%HOMETOPIC%" method="post">
	<div class="foswikiFormSteps">
		<div class="foswikiFormStep">
			<p><em>%MAKETEXT{"Fields marked <span class='required'>*</span> are required"}%</em></p>
			<ul>
<!-- REQUIRED FIELDS -->
%INCLUDE{"%TOPIC%" section="requiredField_firstName"}%
%INCLUDE{"%TOPIC%" section="requiredField_lastName"}%
%INCLUDE{"%TOPIC%" section="requiredField_wikiName"}%%IF{'$ALLOWLOGINNAME' then='%INCLUDE{"%TOPIC%" section="requiredField_loginName"}%' else='<!-- -->'}%
%INCLUDE{"%TOPIC%" section="requiredField_email"}%%IF{'context passwords_modifyable' then='%INCLUDE{"%TOPIC%" section="requiredField_password"}%' else='<!-- -->'}%
<!-- START OPTIONAL FIELDS -->
<!-- remove EXCLUDED_ from section names to show fields -->%IF{'$REGISTRATIONGROUPTYPE = "one" OR
$REGISTRATIONGROUPTYPE = "multiple" OR
$REGISTRATIONGROUPTYPE = "automatic"' then='$percentINCLUDE{"%WEB%.%TOPIC%" section="extraField_groups" warn="off"}$percent' else='<!-- -->'}%%INCLUDE{"%TOPIC%" section="EXCLUDED_extraField_organisationName" warn="off"}%%INCLUDE{"%TOPIC%" section="EXCLUDED_extraField_organisationUrl" warn="off"}%%INCLUDE{"%TOPIC%" section="EXCLUDED_extraField_country" warn="off"}%
<!-- SUBMIT BUTTON -->
%INCLUDE{"%TOPIC%" section="requiredButton_submit"}%
			</ul>
		</div>
	</div>
%INCLUDE{"%TOPIC%" section="EXCLUDED_privacyInformation" warn="off"}%%IF{"context BlackListPluginEnabled" then='<input type="hidden" name="rx" value="$percentBLACKLISTPLUGIN{action=$quotmagic$quot}$percent" />' else='<!-- -->'}%
<input type="hidden" name="topic" value="%TOPIC%" />
<input type="hidden" name="action" value="register" />
</form>
</div>
%ADDTOZONE{"head" id="UserRegistrationStyle"
text="<style type='text/css' media='all'>
.registration .foswikiFormSteps {
	margin:.5em 0 1em 0;
}
.registration .foswikiFormStep {
	clear:both;
}
.registration form {
	width:100%;
	margin:0;
	padding:0;
}
/* horizontal layout */
/* for the 3 'columns' we use: 25% 30% 40% */
.registration label {
	width:25%;
}
.registration li div {
	float:left;
	width:70%;
	padding:0 0 0 1em;
}
.registration .foswikiInputField,
.registration .foswikiTextarea {
	width:40%;
}
.registration li em {
	display:block;
	margin:0 0 0 43%;
	padding:2px;
}
/* END horizontal layout */
.registration ul {
	clear:all;
	list-style:none;
	padding:0;
	margin:0;
}
.registration li {
	margin:0;
	padding:.7em 0;
	clear:both;
	min-height:1em;
}
.registration label {
	float:left;
	margin:0;
	padding:0;
	text-align:right;
}
.registration .joinGroups label {
	float:none;
}
.registration .foswikiInputField,
.registration .foswikiSelect,
.registration .foswikiTextarea {
	float:left;
	margin-top:-2px;
}
.registration em {
	font-style:normal;
	font-size:94%;
	line-height:110%;
	color:#666;
}
.registration .required {
	padding:0 .3em;
	color:#f00;
}
</style>"
}%%TMPL:P{JavascriptFiles/foswikiString"}%%ENDSECTION{"form"}%



Required field first name

%STARTSECTION{"requiredField_firstName"}%<li><label for="Fwk1FirstName"><span class="required">*</span>%MAKETEXT{"First name"}%</label>
<div><input type="text" id="Fwk1FirstName" name="Fwk1FirstName" size="40" class="foswikiInputField foswikiFocus" value="" tabindex="1" onblur="this.form.Fwk1WikiName.value=foswiki.String.makeWikiWord(this.value+' '+this.form.Fwk1LastName.value)" /></div></li>%ENDSECTION{"requiredField_firstName"}%



Required field last name

%STARTSECTION{"requiredField_lastName"}%<li><label for="Fwk1LastName"><span class="required">*</span>%MAKETEXT{"Last name"}%</label>
<div><input type="text" id="Fwk1LastName" name="Fwk1LastName" size="40" class="foswikiInputField" value="" tabindex="2" onblur="this.form.Fwk1WikiName.value=foswiki.String.makeWikiWord(this.form.Fwk1FirstName.value+' '+this.value)" /></div></li>%ENDSECTION{"requiredField_lastName"}%



Required field wiki name

%STARTSECTION{"requiredField_wikiName"}%<li><label for="Fwk1WikiName"><span class="required">*</span>%MAKETEXT{"Wiki name"}%</label>
<div><input type="text" id="Fwk1WikiName" name="Fwk1WikiName" size="40" class="foswikiInputField" value="" tabindex="3" onblur="" /><em>%MAKETEXT{"Your name as displayed online. Note, this must be a unique [[%SYSTEMWEB%.WikiName][Wiki name]]. By default it is derived from your first and last name."}%</em></div></li>%ENDSECTION{"requiredField_wikiName"}%



Required field login name
Only shown if ALLOWLOGINNAME is true.

%STARTSECTION{"requiredField_loginName"}%<li><label for="Fwk1LoginName"><span class="required">*</span>%MAKETEXT{"Login name"}%</label>
<div><input type="text" id="Fwk1LoginName" name="Fwk1LoginName" size="40" class="foswikiInputField" value="%REMOTE_USER%" tabindex="4" onblur="" /><em>%MAKETEXT{"The login name you use to sign in."}%</em></div></li>%ENDSECTION{"requiredField_loginName"}%



Required field email

%STARTSECTION{"requiredField_email"}%<li><label for="Fwk1Email"><span class="required">*</span>%MAKETEXT{"Email address"}%</label>
<div><input type="text" id="Fwk1Email" name="Fwk1Email" size="40" class="foswikiInputField" value="" tabindex="5" onblur="" /><em>%MAKETEXT{"Your email address will be kept confidential."}%</em></div></li>%ENDSECTION{"requiredField_email"}%



Required field password
Only shown if the password manager supports changing the password / email.

%STARTSECTION{"requiredField_password"}%<li><label for="Fwk1Password"><span class="required">*</span>%MAKETEXT{"Your password"}%</label>
<div><input type="password" id="Fwk1Password" name="Fwk1Password" size="40" class="foswikiInputField" value="" tabindex="6" onblur="" /></div></li>%IF{"NOT {Register}{DisablePasswordConfirmation}" then="<li><label for=\"Fwk1Confirm\"><span class=\"required\">*</span>$percntMAKETEXT{\"Confirm password\"}$percnt</label>
<div><input type=\"password\" id=\"Fwk1Confirm\" name=\"Fwk1Confirm\" size=\"40\" class=\"foswikiInputField\" value=\"\" tabindex=\"7\" onblur=\"\" /></div></li>"}%%ENDSECTION{"requiredField_password"}%



Optional field join group

enable by setting =REGISTRATIONGROUPTYPE= in the %USERSWEB%.DefaultPreferences topic to automatic, one, mulitple.
     
%STARTSECTION{"extraField_groups"}%%IF{"$USERNAME ingroup 'AdminGroup' and '%REGISTRATIONGROUPTYPE%' = 'automatic' and not defined 'REGISTRATIONGROUPS'" then="<blockquote><span class=\"foswikiAlert\"> *Caution!* Registering a user while logged in as an Administrator will add them to ALL GROUPS in the system.</span> REGISTRATIONGROUPTYPE is set to =automatic=, and no groups are set in REGISTRATIONGROUPS. </blockquote>"}%
%IF{"$ WIKINAME!='WikiGuest' and $USERNAME not ingroup 'AdminGroup' and '%REGISTRATIONGROUPTYPE%' = 'automatic' and not defined 'REGISTRATIONGROUPS'" then="<blockquote><span class=\"foswikiAlert\"> *Caution!* Registering a user while logged in will add the new user to all groups you have permission to change.</span> REGISTRATIONGROUPTYPE is set to =automatic=, and no groups are set in REGISTRATIONGROUPS. </blockquote>"}%
%FORMAT{
	"%IF{"defined 'REGISTRATIONGROUPS'" then="%REGISTRATIONGROUPS%" else="%GROUPINFO{
			show="allowchange%IF{"$ WIKINAME='WikiGuest'" then="(RegistrationAgent)"}%"
			format="$name"
			separator=","
		}%"}%"
	header="$percentINCLUDE{$quot%WEB%.%TOPIC%$quot section=$quot%IF{
						"'%REGISTRATIONGROUPTYPE%' = 'automatic' and $ WIKINAME='WikiGuest'"
						then="hidden"
					}%rendergroupheader$quot multiple=$quot%IF{
						"'%REGISTRATIONGROUPTYPE%' = 'multiple'"
						then="Groups"
						else="Group"
					}%$quot}$percent"
	footer="$percentINCLUDE{$quot%WEB%.%TOPIC%$quot section=$quotrendergroupfooter$quot}$percent"
	zeroresults="<!-- no groups available -->"
	format="$percentINCLUDE{$quot%WEB%.%TOPIC%$quot
		section=$quotrendergroup$quot
		groupname=$quot$topic$quot
		inputtype=$quot%IF{"'%REGISTRATIONGROUPTYPE%' = 'automatic' and $ WIKINAME!='WikiGuest'" then="checkbox"}%%IF{"'%REGISTRATIONGROUPTYPE%' = 'automatic' and $ WIKINAME='WikiGuest'" then="hidden"}%%IF{"'%REGISTRATIONGROUPTYPE%' = 'one'" then="radio"}%%IF{"'%REGISTRATIONGROUPTYPE%' = 'multiple'" then="checkbox"}%$quot
        inputother=$quot%IF{"'%REGISTRATIONGROUPTYPE%' = 'automatic'" then="checked readonly"}%$quot
       }$percent"
      separator=" "
}%%ENDSECTION{"extraField_groups"}%


Section nochange

%STARTSECTION{"nochange"}%<!-- nochange// --> %ENDSECTION{"nochange"}%


Section rendergroup
  parameters: groupname, inputtype

%STARTSECTION{"rendergroup"}%<input type="%inputtype%" %inputother% name="Fwk0AddToGroups" id="cb_%groupname%" value="%groupname%" />
	<label for="cb_%groupname%">%IF{"istopic '%USERSWEB%.%groupname%'" then=" [[%USERSWEB%.%groupname%][%groupname%]] " else="%groupname%" }%</label>%ENDSECTION{"rendergroup"}%


Section rendergroupheader
  parameters: 

%STARTSECTION{"rendergroupheader"}%<li><label for="Fwk0AddToGroups">%MAKETEXT{"Select Group [_1] to join" args="%multiple%"}%</label>
<div class="joinGroups">%ENDSECTION{"rendergroupheader"}%


Section rendergroupfooter
  parameters: 

%STARTSECTION{"rendergroupfooter"}%</div></li>%ENDSECTION{"rendergroupfooter"}%

Section hiddenrendergroupheader
  parameters: 

%STARTSECTION{"hiddenrendergroupheader"}%<li class="foswikiHidden">
<div class="joinGroups">%ENDSECTION{"hiddenrendergroupheader"}%


Optional field organisation name

%STARTSECTION{"extraField_organisationName"}%<li><label for="Fwk0OrganisationName"><span class="required">*</span>%MAKETEXT{"Organisation name"}%</label>
<div><input type="text" id="Fwk0OrganisationName" name="Fwk0OrganisationName" size="40" class="foswikiInputField" value="" tabindex="8" onblur="" /></div></li>%ENDSECTION{"extraField_organisationName"}%



Optional field organisation url

%STARTSECTION{"extraField_organisationUrl"}%<li><label for="Fwk0OrganisationURL"><span class="required">*</span>%MAKETEXT{"Organisation website"}%</label>
<div><input type="text" id="Fwk0OrganisationURL" name="Fwk0OrganisationURL" size="40" class="foswikiInputField" value="http://" tabindex="9" /></div></li>%ENDSECTION{"extraField_organisationUrl"}%  



Optional field country

%STARTSECTION{"extraField_country"}%<li><label for="Fwk0Country">%MAKETEXT{"Country"}%</label>
div><select class="foswikiSelect" id="Fwk0Country" name="Fwk0Country" size="1" tabindex="10">%SEARCH{
"^\|[^\*\|]*\|"
topic="CountryList"
web="%SYSTEMWEB%"
type="regex"
multiple="on"
nosearch="on"
nototal="on"
format="<option>$pattern(^\| *(.*?) *\|.*)</option>"
}%</select></div></li>%ENDSECTION{"extraField_country"}% 



Required submit button

%STARTSECTION{"requiredButton_submit"}%<li><label>&nbsp;</label><div><input type="submit" tabindex="99" class="foswikiSubmit" value="%MAKETEXT{"Register"}%" /></div></li>%ENDSECTION{"requiredButton_submit"}%



Optional privacy information

%STARTSECTION{"privacyInformation"}%<p> %MAKETEXT{"*Important:* the information provided in this form will be stored in a database on the web server. This database is accessible to anyone who can access the server through the web (though passwords will be encrypted, and e-mail addresses will be obfuscated to help prevent spamming). Your country, or the country where the server is hosted, may have Data Protection laws governing the maintenance of such databases. If you are in doubt, you should contact [_1] for details of the Data Protection Policy of this web server before registering." args="[[mailto:%WIKIWEBMASTER%?subject=Data%20Protection%20Policy][%WIKIWEBMASTER%]]"}%</p>%ENDSECTION{"privacyInformation"}%

</verbatim>






<!--
   * Set REGISTRATION_DISABLED = %IF{"context registration_supported" then="%IF{"context registration_enabled" then="" else="DISABLED"}%" else="DISABLED"}%
      * Note: This setting is only used when viewing DefaultUserRegistration directly. When this topic is included from UserRegistration REGISTRATION_DISABLED is defined as a parameter in the INCLUDE
-->
</noautolink>
