Skip to content
A Zend Framework 2 (ZF2) Module offering forgot password via e-mail functionality to ZfcUser
PHP SQL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
data
language
src/GoalioForgotPassword
tests
view
LICENSE
Module.php
README.md
composer.json

README.md

GoalioForgotPassword

Version 1.0.0 Created by the goalio UG (haftungsbeschränkt)

Introduction

A Zend Framework 2 (ZF2) Module offering forgot password via e-mail functionality to ZfcUser

Information

I developed this module to use in our goalio application. There are currently no tests and support can be a little slow because we are a small company with only two developers. I appreciate any feedback, pull requests are even better.

Requirements

Features / Goals

  • Add pluggable behaviour to request a password reset [COMPLETE]
  • Provide updated login view [COMPLETE]

Installation

Main Setup

With composer

  1. Add this project and the requirements in your composer.json:

    "require": {
        "goalio/goalio-forgotpassword": "1.*"
    }
  2. Now tell composer to download GoalioForgotPassword by running the command:

    $ php composer.phar update

Post installation

  1. Enabling it in your application.config.phpfile.

    <?php
    return array(
        'modules' => array(
            // ...
            'ZfcBase',
            'ZfcUser',
            'GoalioMailService',
            'GoalioForgotPassword'
        ),
        // ...
    );
  2. Then Import the SQL schema located in ./vendor/goalio/goalio-forgotpassword/data/schema.sql.

  3. Make sure that the MailService is configured correctly.

Post-Install: Zend\Db

  1. If you do not already have a valid Zend\Db\Adapter\Adapter in your service manager configuration, put the following in ./config/autoload/database.local.php:

     <?php
    
     $dbParams = array(
         'database'  => 'changeme',
         'username'  => 'changeme',
         'password'  => 'changeme',
         'hostname'  => 'changeme',
     );
    
     return array(
         'service_manager' => array(
             'factories' => array(
                 'Zend\Db\Adapter\Adapter' => function ($sm) use ($dbParams) {
                     return new Zend\Db\Adapter\Adapter(array(
                         'driver'    => 'pdo',
                         'dsn'       => 'mysql:dbname='.$dbParams['database'].';host='.$dbParams['hostname'],
                         'database'  => $dbParams['database'],
                         'username'  => $dbParams['username'],
                         'password'  => $dbParams['password'],
                         'hostname'  => $dbParams['hostname'],
                     ));
                 },
             ),
         ),
     );
    

Post-Install: Doctrine2 ORM

There is an additional module for Doctrine integration GoalioForgotPasswordORM

Usage

Navigate to http://yourproject/user and you should land on a login page.

Options

The ForgotPassword module has some options to allow you to quickly customize the basic functionality. After installing, copy ./vendor/goalio/goalio-forgotpassword/config/goalioforgotpassword.global.php.dist to ./config/autoload/goalioforgotpassword.global.php and change the values as desired.

The following options are available:

  • password_entity_class - Name of Entity class to use. Useful for using your own entity class instead of the default one provided. Default is GoalioRememberMe\Entity\RememberMe.
  • reset_expire - Integer value in seconds when the login cookie should expire. Default is 86400 (24 hours).
  • email_transport - String value which transport class to use. Default is Zend\Mail\Transport\Sendmail.
  • reset_email_subject_line - String value which transport class to use. Default is You requested to reset your password.
  • email_from_address - Array Default is array( 'email' => 'your_email_address@here.com', 'name' => 'Your name', ).

Acknowledgements

Daniel Strøm (https://github.com/Danielss89) for most of the basic work in the cookie adapter etc.

You can’t perform that action at this time.