DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

Frontend User Registration

Author:Christopher
Created:2010-12-18T19:57:23
Changed by:Christian Bülter
Changed:2013-09-05T17:14:51
Classification:ke_userregister
Keywords:ke_userregister, registration, salted, md5
Author:Andreas Kiefer
Email:kiefer@kennziffer.com
Language:en

img-1 img-2 Frontend User Registration

Extension Key: ke_userregister

Language: en

Version: 0.1.5

Keywords: ke_userregister, registration, salted, md5

Copyright 2006-2013, Andreas Kiefer (kennziffer.com), <kiefer@kennziffer.com>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.org

Table of Contents

`Frontend User Registration 1 <#__RefHeading__5708_1738894311>`_

`Introduction 3 <#__RefHeading__813_1069746998>`_

What does it do? 3

Features 3

`Screenshots 4 <#__RefHeading__961_1069746998>`_

Registration form 4

Edit form 4

Edit confirmation message 5

Edit password form 5

Delete profile 5

`Installation / Quickstart 6 <#__RefHeading__1069_1069746998>`_

`Configuration 7 <#__RefHeading__1167_1069746998>`_

Input field types 7

Example TYPOScript for select_db_relation: 7

Password encryption 7

Validation 8

Backlink to last visited page after succesful confirmation 8

Email to administrator 8

Further TYPOScript settings 9

`Other Extensions 10 <#__RefHeading__1181_1069746998>`_

direct_mail 10

static_info_tables 10

fe_tooltip 10

`Miscellaneous 11 <#__RefHeading__1309_1069746998>`_

Customizing and Styling 11

Hooks 11

Changelog 11

Bugs found? Feature request? 11

Introduction

What does it do?

This extension allows visitors to registrate as a frontend user (fe_user). It was designed as a lightweight alternative to sr_feuser_registration.

There is a registration form, an edit form, a form for changing the password and a view for deleting an account.

Registrations are checked by double-opt-in. If a user changes his email address this is checked by a double-opt-in, too.

Features

  • Easy configuration
  • very flexible
  • double opt-in (link is sent via email)
  • extendable via hooks
  • includes newsletter registration (direct_mail)
  • small and with minimal overhead
  • tooltips
  • supports plain, md5 and salted passwords

Screenshots

Registration form

img-3 Edit form ^^^^^^^^^

img-4 Edit confirmation message ^^^^^^^^^^^^^^^^^^^^^^^^^

img-5 Edit password form ^^^^^^^^^^^^^^^^^^

img-6 Delete profile ^^^^^^^^^^^^^^

img-7 Installation / Quickstart -------------------------

If not already there, create a sysfolder called “FE Users”.

Use the extension manager to install the extension “ke_userregister” from TER.

Go to your main template and include the static template (section “Include static (from extensions)”).

Create a new page called “registration”, insert a “General Plugin” and select the plugin “Register form”, set the mode to “create”.

Create an “extension template” and add some typoscript to the “setup” section:

Set default user group for new users and the sysfolder where to store the user data (the numbers 123 and 456 are of course only examples). Set the sender of the double-opt-in mails.

plugin.tx_keuserregister {
    userDataPID = 123
  defaultUsergroup = 456
     notification.from_email = info@example.com
   notification.from_name = TYPO3 User Registration
}

Configuration

Input field types

The following input field types are available:

  • text
  • textarea
  • password
  • checkbox
  • radio
  • select
  • directmail (fetches values from direct_mail categories)
  • image
  • country (fetches values from static_info_tables)
  • select_db_relation (fetches values from other table, saves the selected uid)

Example TYPOScript for select_db_relation:

myDatabaseField {
        # type
        type = select_db_relation
        # optional: set values via typoscript (additional to the values from the db result)
        values = 0,1,2
        # page where to fetch the records from
        pid = 3
        # tablename
        table = tt_address
        # db field to display in the dropdown box (also sorting field)
        displayField = name
}

You may use these values in the typoscript definition of the create and edit form. See ke_userregisterstatictssetup.txt for an example.

In order to add new options for example to checkbox or select fields, you will have to define some locallang values, for example:

plugin.tx_keuserregister_pi1._LOCAL_LANG.de {
        label_tx_myextension_myfield = This is the label.
        label_tx_myextension_myfield_1 = This is option 1.
        label_tx_myextension_myfield_2 = This is option 2.
}

If you don't want to save a value into the dabase but for example want to process it in your own hook, you may use doNotSaveInDB. For example:

plugin.tx_keuserregiste.create.fields.myFieldName.type = text
plugin.tx_keuserregiste.create.fields.myFieldName.doNotSaveInDB = 1

Password encryption

You may set the password encryption to “plain”, “md5” (for example for the usage together with kb_md5fepw), or “salted”.

“salted” is the default and recommended value (it's the most secure one). It requires TYPO3 4.3 or higher. Make sure that you have the extension saltedpasswords installed and that you have salted passwords for the frontend enabled.

Configuration:

plugin.tx_keuserregister.password.encryption = salted

Possible values: plain, md5, salted

Validation

Each input field may be validated. The following evaluations are implemented. You may combine them in a comma-separated list.

  • required
  • numeric
  • email
  • integer
  • date-de (DD.MM.YYYY)
  • date-us (MM.DD.YYYY)
  • Further evaluations may be added via hooks.

Email to administrator

since version 0.1.5:

You can set ke_userregister to send an email to the administrator each time a user registers or changes his data.

This is the typoscript code:

plugin.tx_keuserregister {

  # send email to admin after sucessful double-opt-in?
  # (set to "1" to activate this feature)
  adminMailAfterConfirmation = 0

  # send email to admin after changed userdata
  adminMailAfterEdit = 0

  # admin email addresses (comma-separated)
  adminMailAddress = admin@my-doma.in

  # list of fe_user fields that will be sent to the admin
  adminMailFields (
        username, gender, first_name, last_name, email
  )
}

Confirmation by administrator

since version 0.1.5:

If you want every new user registration to be checked by an administrator, you can set this up setting the “adminConfigurationEnabled” value to “1”.

The administrator will receive an email (administrator notification has to be enabled, see above) with links for confirmation and denial. The user will receive an email when the administrator cklicks on one of the links.

This is the typoscript code:

plugin.tx_keuserregister {

adminMailAfterConfirmation = 1

adminMail {

10 {

address = admin@my-doma.in

}

}

adminConfirmationEnabled = 1

}

Further TYPOScript settings

Have a look at the file ke_userregisterstatictssetup.txt for other typoscript options.

Other Extensions

You may improve the functionality of this extension by adding some extensions to your system:

direct_mail

You may install direct_mail in order to allow users to register for newsletters. Please not that you will have to install tt_address first.

If you do not have the extension “direct_mail” installed, you will have to clear the corresponding field:

plugin.tx_keuserregister.create.fields.module_sys_dmail_category >

Remember to clean up the html template as well.

static_info_tables

Install the extenstion “static_info_tables” if you want to have a country dropdown. Use this typoscript setup:

plugin.tx_keuserregister.create.fields.country.type = country

Remember to clean up the html template if you do not want to use the “country”-field.

fe_tooltip

If you want to use tooltips after some or each input field, please install the extension fe_tooltip. You may then define the tooltips in typoscript setup.

Miscellaneous

Customizing and Styling

Use the template files in the res/-folder of the extension.

You should copy the css and html template from the res/ folder of the extension to somewhere in the fileadmin/-folder and then point the typoscript values for “templateFile” and “cssFile” to those files. If you do so, new versions of ke_userregister won't overwrite your customized templates.

Hooks

There are hooks for custom validation of input fields, data processing and custom markers. Have a look at ke_userregisterpi1class.tx_keuserregister_pi1.php and search for “Hook”.

Changelog

See file “ChangeLog” in EXT dir.

Bugs found? Feature request?

Please use the bugtracker on forge.typo3.org:

http://forge.typo3.org/projects/show/extension-ke_userregister