This package will allow you to add a full user messaging system into your Laravel application.
- Multiple conversations per user
- Optionally loop in additional users with each new message
- View the last message for each thread available
- Returns either all messages in the system, all messages associated to the user, or all message associated to the user with new/unread messages
- Return the users unread message count easily
- Very flexible usage so you can implement your own acess control
- Open threads (everyone can see everything)
- Group messaging (only participants can see their threads)
- One to one messaging (private or direct thread)
Installation instructions for Laravel 4 can be found here.
In composer.json:
"require": {
"cmgmyr/messenger": "~2.0"
}
Run:
composer update
Add the service provider to config/app.php
under providers
:
'providers' => [
'Cmgmyr\Messenger\MessengerServiceProvider'
]
Publish Assets
php artisan vendor:publish --provider="Cmgmyr\Messenger\MessengerServiceProvider"
Update config file to reference your User Model:
config/messenger.php
Create a users
table if you do not have one already. If you need one, simply use this example as a starting point, then migrate.
Note: if you already have a users
table and run into any issues with foreign keys, you may have to make the id
unsigned.
Migrate your database:
php artisan migrate
Add the trait to your user model:
use Cmgmyr\Messenger\Traits\Messagable;
class User extends Model {
use Messagable;
}
Note: These examples use the illuminate/html package that is no longer included in Laravel 5 out of the box. Make sure you require this dependency in your composer.json
file if you intend to use the example files.
Please format your code before creating a pull-request:
vendor/bin/php-cs-fixer fix --level psr2 .
This package used AndreasHeiberg/laravel-messenger as a starting point.