2017 © Pedro Peláez
 

library larainvite

Laravel Invitation package, existing users can invite others by email

image

raymondwilkinson/larainvite

Laravel Invitation package, existing users can invite others by email

  • Tuesday, September 13, 2016
  • by RaymondWilkinson
  • Repository
  • 1 Watchers
  • 1 Stars
  • 49 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 16 Forks
  • 0 Open issues
  • 16 Versions
  • 0 % Grown

The README.md

larainvite

User (signup) invitation package for laravel, (*1)

GitHub license Total Downloads, (*2)

larainvite is a laravel package, to allow existing users to invite others by email., (*3)

It generates referral code and keep track of status., (*4)

Installation

Begin by installing the package through Composer. Run the following command in your terminal:, (*5)

composer require raymondwilkinson/larainvite

add the package service provider in the providers array in config/app.php:, (*6)

Junaidnasir\Larainvite\LaraInviteServiceProvider::class

you may add the facade access in the aliases array:, (*7)

'Invite'  => Junaidnasir\Larainvite\Facades\Invite::class

publish the migration and config file:, (*8)

php artisan vendor:publish"

migrate to create user_invitation table, (*9)

php artisan migrate

edit your User model to include larainviteTrait, (*10)

use Junaidnasir\Larainvite\InviteTrait;
class user ... {
    use InviteTrait;
}

Usage

You can use facade accessor to retrieve the package controller. Examples:, (*11)

$user = Auth::user();
//Invite::invite(EMAIL, REFERRAL_ID); 
$refCode = Invite::invite('email@address.com', $user->id);
//or 
//Invite::invite(EMAIL, REFERRAL_ID, EXPIRATION); 
$refCode = Invite::invite('email@address.com', $user->id, '2016-12-31 10:00:00');

now create routes with refCode, when user access that route you can use following methods, (*12)

// Get route
$code = Request::input('code');
if( Invite::isValid($code))
{
    $invitation = Invite::get($code); //retrieve invitation modal
    $invited_email = $invitation->email;
    $referral_user = $invitation->user;

    // show signup form
} else {
    $status = Invite::status($code);
    // show error or show simple signup form
}

```php // Post route $code = Request::input('code'); $email = Request::input('signup_email'); if( Invite::isAllowed($code,$email) ){ // Register this user Invite::consume($code); } else { // either refCode is inavalid, or provided email was not invited against this refCode }, (*13)

with help of new trait you have access to invitations sent by user
```php
$user= User::find(1);
$invitations = $user->invitations;
$count = $user->invitations()->count();

Events

larainvite fires several events, (*14)

  • 'junaidnasir.larainvite.invited'
  • 'junaidnasir.larainvite.consumed'
  • 'junaidnasir.larainvite.canceled'
  • 'junaidnasir.larainvite.expired'

all of these events incloses invitation modal so you can listen to these events. include listener in EventServiceProvider.php, (*15)

protected $listen = [
    'junaidnasir.larainvite.invited' => [
        'App\Listeners\userInvite',
    ],
];

userInvite.php, (*16)

public function handle($invitation)
{
    \Mail::queue('invitations.emailBody', $invitation, function ($m) use ($invitation) {
            $m->from('From Address', 'Your App Name');
            $m->to($invitation->email);
            $m->subject("You have been invited by ". $invitation->user->name);
        });
}

Configurations

in config/larainvite.php you can set default expiration time in hours from current time., (*17)

'expires' => 48

you can also change user model to be used, in larainvite.php, (*18)

'UserModel' => 'App\User'

The Versions

13/09 2016

dev-master

9999999-dev https://github.com/RaymondWilkinson/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Raymond Wilkinson

laravel invitations invite

13/09 2016

v0.3.2

0.3.2.0 https://github.com/RaymondWilkinson/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Raymond Wilkinson

laravel invitations invite

02/09 2016

v0.3.1

0.3.1.0 https://github.com/RaymondWilkinson/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Raymond Wilkinson

laravel invitations invite

02/09 2016

v0.2.2

0.2.2.0 https://github.com/RaymondWilkinson/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Raymond Wilkinson

laravel invitations invite

02/09 2016

v0.3.0

0.3.0.0 https://github.com/RaymondWilkinson/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Raymond Wilkinson

laravel invitations invite

27/08 2016

v0.2.0

0.2.0.0 https://github.com/RaymondWilkinson/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Raymond Wilkinson

laravel invitations invite

27/08 2016

v0.1.9

0.1.9.0 https://github.com/RaymondWilkinson/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Raymond Wilkinson

laravel invitations invite

26/08 2016

v0.1.8

0.1.8.0 https://github.com/RaymondWilkinson/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Raymond Wilkinson

laravel invitations invite

11/04 2016

v0.1.7

0.1.7.0 https://github.com/junaidnasir/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Junaid Nasir

laravel invitations invite

11/04 2016

v0.1.6

0.1.6.0 https://github.com/junaidnasir/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Junaid Nasir

laravel invitations invite

11/04 2016

v0.1.5

0.1.5.0 https://github.com/junaidnasir/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Junaid Nasir

laravel invitations invite

05/04 2016

v0.1.4

0.1.4.0 https://github.com/junaidnasir/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Junaid Nasir

laravel invitations invite

30/03 2016

v0.1.3

0.1.3.0 https://github.com/junaidnasir/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Junaid Nasir

laravel invitations invite

30/03 2016

v0.1.2

0.1.2.0 https://github.com/junaidnasir/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Junaid Nasir

laravel invitations invite

29/03 2016

v0.1.1

0.1.1.0 https://github.com/junaidnasir/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Junaid Nasir

laravel invitations invite

29/03 2016

0.1.0

0.1.0.0 https://github.com/junaidnasir/larainvite

Laravel Invitation package, existing users can invite others by email

  Sources   Download

MIT

The Requires

 

The Development Requires

by Junaid Nasir

laravel invitations invite