This plugin is Forked version of sfDotrineApplyPlugin created by punkave guys.
This Fork got stripped stripped of all dependencies from Zend Framework, introduced Profile model inheritance, small structural changes and few usability changes as well.

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Release 1.0.2 - 26/03/2010

fizyk: removed minimum length requirements for name and lastname validators, they are required, so they have at least 1 character.

fizyk: fixed 39th i18n strings it and pl

Release 1.0.1 - 24/03/2010

fizyk: removed leftover require from sfApplyComponents

fizyk: fixed typo in 13th i18n pl string.

fizyk: added i18n pl strings: 55, 56, 57.

fizyk: added new reset action template for logged in users.

fizyk: moved all sfApply actions to the sfApplyActionsLibrary class, to allow override of actions. It wasn't possible before, as symfony would generate HTTP 404 response for all non overriden actions before.

Release 1.0.0 - 21/03/2010

fizyk: fixed issue when logged user trying to reset his password was presented with 404 web site (reported by tnaseem).

Requirements

symfony 1.4

sfDoctrineGuardPlugin 5.x - installed and configured

Requirements should be similar as the original plugin, although I can only be
sure of symfony 1.4.
When sfDoctrineGuardPlugin will introduce email in official package, our current
plugin should be modified to use sfGuardUser's email field, not it's own.

Changes to sfDoctrineApplyPlugin

removed all Zend Mail dependency

created a general library with all sfApplyActions functions

introduced inheritance to Profile model.

Installation

Installation should be simple as:

symfony plugin:install sfForkedDoctrineApplyPlugin

However it is also possible to install it through archive:

symfony plugin:install sfForkedDoctrineApplyPlugin-1.5.7.tgz

just place downloaded package in your project's root first.

You can also install it manually, unpacking archive, placing it's content in your
project's plugin/ directory, and enabling it in your ProjectConfiguration.class.php file:

All calls to profile's email filed by getEmail or setEmail
methods will be redirected to user's getEmailAddress or setEmailAddress method.

Configuration

To configure this plugin to actually send registration emails,
You need to set up email settings according to
day 16 of Jobeet tutorial.

Basic

In order to send emails with confirmation codes you've got to add these settings in your app.yml:

apps/APPLICATION/config/app.yml

sfForkedApply:
from:
email: "your@emailaddress.com"
fullname: "the staff at yoursite.com"
# that section is as a fallback only
sfApplyPlugin:
from:
email: "your@emailaddress.com"
fullname: "the staff at yoursite.com"

You should also turn on i18n engine, as this plugin, like the project it rooted
from is fully internationalised (You might have to prepare i18n files for your language though):

apps/APPLICATION/config/settings.yml

all:
.settings:
i18n: true

You can modify URL's for the sfApply module's action. To do that, simply add this options to your app.yml file:

CAPTCHA

Starting from 1.1.0 version, sfForkedDoctrineApplyPlugin integrates reCaptcha. To use it, you have to install sfFormExtraPlugin to get access to reCaptcha widget and validator. Second step is to be conducted in your app.yml file, and add these:

Email editing

To allow users to edit their emails, you've got to add app_sfForkedApply_mail_editable setting:

all:
#...
sfForkedApply:
#...
mail_editable: false

Now, when user will try to edit their email, he'll receive confirmation email on his old address. editMail action will also get route generated which will be composed from settings URL to which "/email" end will be added.

Confirmation disabling

It is possible, although not recommended to disable email confirmations for the following actions:

Apply (apply) - new users will be registered and logged as soon as they submit valid apply form.

Password reset (reset) - this will disable the reset request, password change will be possible only for logged in users.

You can use these settings to direct user to your own pages after user loggs in, or in other cases with second setting.

Displaying Login and Logout Prompts

(fragment of sfDoctrineApplyPlugin's README)

You probably have pages on which logging in is optional. It's nice to
display a login prompt directly on these pages. If you want to do that,
try including my login/logout prompt component from your
apps/frontend/templates/layout.php file:

<?php include_component('sfApply', 'login') ?>

Note that you can suppress the login prompt on pages that do include
this partial by setting the sf_apply_login slot:

Credits

Changes resulting in forking the original plugin were written by stephenrs.

Both Tom and Stephen deserves a Big thanks.

sfForkedDoctrineApplyPlugin was created by Grzegorz ÅšliwiÅ„ski as a result of those changes with some (more and more with each release) additions.
You can contact him at fizyk@fizyk.net.pl or through
jabber at the same address and follow his adventures on his homepage.

Translations

Dutch - Jasper Moelker

French - Pierre Grandin

German - Daniel Hanke

Italian - Alessandro Rossi

Polish - Grzegorz ÅšliwiÅ„ski

Russian - Serg Puhoff

Spanish - Alex Otero

Portugese - Alan Candido

Support and Help

sfForkedDoctrineApply is completely free, but you can support it's creator:

For help regarding this plugin, you can go to plugin's github issue tracker, or contact author via jabber/xmpp/gtalk protocol: fizyk@fizyk.net.pl or though e-mail: fizyk@fizyk.net.pl