page {
	includeCSS.sf_register = EXT:sf_register/Resources/Public/Stylesheets/styles.css

	includeJSFooter.passwordmeter = EXT:sf_register/Resources/Public/JavaScript/passwordmeter.js
	includeJSFooter.sf_register = EXT:sf_register/Resources/Public/JavaScript/sf_register.js
}



plugin.tx_sfregister.settings {
	# boolean defines in edit mode if the fields get filled with data of logged in user
	useDataOfLoggedinFeuser = {$plugin.tx_sfregister.settings.useDataOfLoggedinFeuser}

	dateFormat = d-m-Y

	# comma separated list of words used in bad word validator
	badWordList = {$plugin.tx_sfregister.settings.badWordList}

	# uid of the page to redirect to after saving
	redirectPostRegistrationPageId = {$plugin.tx_sfregister.settings.redirectPostRegistrationPageId}
	# uid of the page to redirect to after confirmation
	redirectPostActivationPageId = {$plugin.tx_sfregister.settings.redirectPostActivationPageId}

	# wether the email address entered should be used as username
	useEmailAddressAsUsername = {$plugin.tx_sfregister.settings.useEmailAddressAsUsername}

	# string [md5|sha1]
	encryptPassword = {$plugin.tx_sfregister.settings.encryptPassword}
	# boolean use encrypted filename to deny direct access on uploaded files
	useEncryptedFilename = {$plugin.tx_sfregister.settings.useEncryptedFilename}

	# boolean if user or admin need to activate or notified
	notifyAdminPostCreateSave = {$plugin.tx_sfregister.settings.notifyAdminPostCreateSave}
	notifyUserPostCreateSave = {$plugin.tx_sfregister.settings.notifyUserPostCreateSave}

	notifyAdminPostCreateConfirm = {$plugin.tx_sfregister.settings.notifyAdminPostCreateConfirm}
	notifyUserPostCreateConfirm = {$plugin.tx_sfregister.settings.notifyUserPostCreateConfirm}

	notifyAdminPostCreateRefuse = {$plugin.tx_sfregister.settings.notifyAdminPostCreateRefuse}
	notifyUserPostCreateRefuse = {$plugin.tx_sfregister.settings.notifyUserPostCreateRefuse}

	notifyAdminPostCreateAccept = {$plugin.tx_sfregister.settings.notifyAdminPostCreateAccept}
	notifyUserPostCreateAccept = {$plugin.tx_sfregister.settings.notifyUserPostCreateAccept}

	notifyAdminPostCreateDecline = {$plugin.tx_sfregister.settings.notifyAdminPostCreateDecline}
	notifyUserPostCreateDecline = {$plugin.tx_sfregister.settings.notifyUserPostCreateDecline}

	confirmEmailPostCreate = {$plugin.tx_sfregister.settings.confirmEmailPostCreate}
	acceptEmailPostCreate = {$plugin.tx_sfregister.settings.acceptEmailPostCreate}

	notifyAdminPostEditSave = {$plugin.tx_sfregister.settings.notifyAdminPostEditSave}
	notifyUserPostEditSave = {$plugin.tx_sfregister.settings.notifyUserPostEditSave}

	notifyAdminPostEditConfirm = {$plugin.tx_sfregister.settings.notifyAdminPostEditConfirm}
	notifyUserPostEditConfirm = {$plugin.tx_sfregister.settings.notifyUserPostEditConfirm}

	notifyAdminPostEditAccept = {$plugin.tx_sfregister.settings.notifyAdminPostEditAccept}
	notifyUserPostEditAccept = {$plugin.tx_sfregister.settings.notifyUserPostEditAccept}

	confirmEmailPostEdit = {$plugin.tx_sfregister.settings.confirmEmailPostEdit}
	acceptEmailPostEdit = {$plugin.tx_sfregister.settings.acceptEmailPostEdit}


	# boolean if user should get logged in after registration
	autologinPostRegistration = {$plugin.tx_sfregister.settings.autologinPostRegistration}
	# boolean if user should get logged in after activation
	autologinPostConfirmation = {$plugin.tx_sfregister.settings.autologinPostConfirmation}

	# integer usergroup set if no activation is needed
	usergroup = {$plugin.tx_sfregister.settings.usergroup}

	# integer usergroups set if activation is needed
	usergroupPostSave = {$plugin.tx_sfregister.settings.usergroupPostSave}
	usergroupPostConfirm = {$plugin.tx_sfregister.settings.usergroupPostConfirm}
	usergroupPostAccept = {$plugin.tx_sfregister.settings.usergroupPostAccept}

	# string name of the site used in subject
	sitename = {$plugin.tx_sfregister.settings.sitename}

	userEmail {
		fromName = {$plugin.tx_sfregister.settings.userEmail.fromName}
		fromEmail = {$plugin.tx_sfregister.settings.userEmail.fromEmail}

		replyName = {$plugin.tx_sfregister.settings.userEmail.replyName}
		replyEmail = {$plugin.tx_sfregister.settings.userEmail.replyEmail}
	}

	adminEmail {
		toName = {$plugin.tx_sfregister.settings.adminEmail.toName}
		toEmail = {$plugin.tx_sfregister.settings.adminEmail.toEmail}

		fromName = {$plugin.tx_sfregister.settings.adminEmail.fromName}
		fromEmail = {$plugin.tx_sfregister.settings.adminEmail.fromEmail}

		replyName = {$plugin.tx_sfregister.settings.adminEmail.replyName}
		replyEmail = {$plugin.tx_sfregister.settings.adminEmail.replyEmail}
	}

	validation.create {
		username {
			1 = Evoweb\SfRegister\Validation\Validator\RequiredValidator
			2 = StringLength(minimum = 4, maximum = 80)
			3 = Evoweb\SfRegister\Validation\Validator\UniqueValidator
			4 = Evoweb\SfRegister\Validation\Validator\UniqueValidator(global = 1)
		}
		password {
			1 = Evoweb\SfRegister\Validation\Validator\RequiredValidator
			2 = StringLength(minimum = 8, maximum = 40)
			3 = Evoweb\SfRegister\Validation\Validator\BadWordValidator
		}
		passwordRepeat = Evoweb\SfRegister\Validation\Validator\RepeatValidator
		firstName = Evoweb\SfRegister\Validation\Validator\RequiredValidator
		lastName = Evoweb\SfRegister\Validation\Validator\RequiredValidator
		email {
			1 = Evoweb\SfRegister\Validation\Validator\RequiredValidator
			2 = EmailAddress
		}
		emailRepeat = Evoweb\SfRegister\Validation\Validator\RepeatValidator
		gtc {
			1 = Evoweb\SfRegister\Validation\Validator\RequiredValidator
			2 = Evoweb\SfRegister\Validation\Validator\IsTrueValidator
		}
		image = Evoweb\SfRegister\Validation\Validator\ImageUploadValidator
		captcha = Evoweb\SfRegister\Validation\Validator\CaptchaValidator(type = srfreecap)
	}

	validation.edit {
		firstName = Evoweb\SfRegister\Validation\Validator\RequiredValidator
		lastName = Evoweb\SfRegister\Validation\Validator\RequiredValidator
		email = EmailAddress
		gtc = Evoweb\SfRegister\Validation\Validator\IsTrueValidator
		image = Evoweb\SfRegister\Validation\Validator\ImageUploadValidator
	}

	validation.password {
		password {
			1 = Evoweb\SfRegister\Validation\Validator\RequiredValidator
			2 = StringLength(minimum = 2, maximum = 40)
			3 = Evoweb\SfRegister\Validation\Validator\BadWordValidator
		}
		passwordRepeat {
			1 = Evoweb\SfRegister\Validation\Validator\RequiredValidator
			2 = StringLength(minimum = 2, maximum = 40)
			3 = Evoweb\SfRegister\Validation\Validator\RepeatValidator
		}
		oldPassword {
			1 = Evoweb\SfRegister\Validation\Validator\RequiredValidator
			2 = StringLength(minimum = 2, maximum = 40)
			3 = Evoweb\SfRegister\Validation\Validator\EqualCurrentPasswordValidator
		}
	}

	filefieldname = image

	captcha {
		jmrecaptcha = Evoweb\SfRegister\Services\Captcha\JmRecaptchaAdapter
		srfreecap = Evoweb\SfRegister\Services\Captcha\SrFreecapAdapter
	}

	processInitializeActionSignal = 0

	redirectSignal {
		controller = FeuserCreate
		action = form
		page = {$plugin.tx_sfregister.settings.redirect.page}
	}
}

plugin.tx_sfregister.persistence {
	storagePid = {$plugin.tx_sfregister.persistence.storagePid}
}

plugin.tx_sfregister.features {
	rewrittenPropertyMapper = 1
}

plugin.tx_sfregister.fieldError = TEXT
plugin.tx_sfregister.fieldError {
	current = 1
	split {
		token = .
		cObjNum = 1

		1 = COA
		1 {
			10 = TEXT
			10.current = 1
			10.substring = 0, 1
			10.case = upper

			20 = TEXT
			20.current = 1
			20.substring = 1, 1000
			20.case = lower
		}
	}
}

plugin.tx_sfregister._LOCAL_LANG.default {
	title_none = Please select
	title_dr = Dr.
	title_prof = Prof.
	title_profdr = Prof. Dr.
}

module.tx_sfregister < plugin.tx_sfregister

config.tx_extbase {
	objects {
		Evoweb\SfRegister\Interfaces\FrontendUserInterface {
			className = Evoweb\SfRegister\Domain\Model\FrontendUser
		}
	}
	persistence.classes {
		Evoweb\SfRegister\Domain\Model\FrontendUser {
			mapping {
				tableName = fe_users
			}
		}
		Evoweb\SfRegister\Domain\Model\StaticCountry {
			mapping {
				tableName = static_countries
			}
		}
		Evoweb\SfRegister\Domain\Model\StaticCountryZone {
			mapping {
				tableName = static_country_zones
			}
		}
		Evoweb\SfRegister\Domain\Model\StaticLanguage {
			mapping {
				tableName = static_languages
			}
		}
	}
}