Download the PHP package mody/smsprovider without Composer
On this page you can find all versions of the php package mody/smsprovider. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mody/smsprovider
More information about mody/smsprovider
Files in mody/smsprovider
Package smsprovider
Short Description config your sms gateway provider and start sending sms
License MIT
Informations about the package smsprovider
mody/smsprovider - Laravel Multiple sms provider gateway package
Introduction
/*
* smsprovider package provides multiple connection with many sms providers.
* just set your provider configuration and start sending messages.
*
* two officially plans:
* [user, group]
* user plan is one user provider, that works only for one user [authenticated user].
* group is multiple user provider, that services a company users maybe,
* that shares the same sms provider.
*
* with group plan, your providers will have an account id number column.
* when calling your SMSProvider::configProvider() method,
* you will need this session to be set: session()->put('group_id', $group_id);
*
* username is your name columns to be displayed.
* if track is true, activities will be saved in sms_provider_track_activity table.
* user_model_namespace is your auth model. used in relationship with track table.
*
* package will create five tables .
* [
* 'sms_providers' => 'container of providers you have',
* 'sms_providers_additional_params' => 'necessary parameters we need for sending sms',
* 'sms_provider_messages' => 'messages you sent either success of failed with error codes',
* 'sms_direct_messages' => 'template messages you created for quick sending'
* 'sms_provider_track_activity' => 'track user activity while using package methods'
* ]
*/
Installation
composer require mody/smsprovider
after installation, do this:
1. config/app.php
a. service provider
b. alias
2. clear cache
php artisan config:cache
3. publish assets
php artisan vendor:publish
and you may see options, choose this one:
Provider: mody\smsprovider\SMSGatewayServiceProvider
4. config/smsgatewayConfig.php
choose your plan [individual user or group of users]
'plan' => 'user'
choose if you want to track package activity
'track' => true
choose middleware you need
'middleware' => ['web', 'auth']
choose your athentication guard
'guard' => 'web' # auth()->user();
add username [auth userame column]
'username' => 'mahmoud'
add auth model
'user_model_namespace' => 'App\User'
5. run this command to generate necessary tables
php artisan smsprovider:tables
Features:
Very important:
use this session with group plan
How to use SMSProvider:
return new provider setup view: Note: You can use it to return view in new url or use this given one.
send new sms to number or multiple numbers
Example
SMSProvider::sendSMS('hi, Mahmoud', '20106xxxxxxx');
SMSProvider::sendSMS('hi, group member', '20106xxxxxxx,0120xxxxxxx,20111xxxxxxx');
expected response
'0: error_code' => 'sending failed, and error code is given',
'1' => 'messege delivered successfully',
'2' => 'no response from destination or connection error',
'3' => 'no provider found'
return a single provider configuartion view/edit view
move provider to trash [soft delete]
expected response
true or false
destroy provider [becareful, deleting provider means that you will lose {configs, messages, ...}]
expected response
true or false
set default provider
expected response
true or false
recover deleted provider
expected response
true or false
remove default provider
expected response
true or false
get providers => [20/page]
**return collection for auth user**
**return collection for group**
**return view for auth user**
**return view for group**
get trashed providers => [20/page]
**return collection for auth user**
**return collection for group**
**return view for auth user**
**return view for group**
track activity
**auth user track [20/page]**
**group track [20/page]**
messages log activity
**auth user log [20/page]**
**group log [20/page]**
ready templates
**Store one or more templates****
also, you can do it with view:
SMSProvider::createTemplates();
**Change template status**
**trash template**
**recover template**
**delete template**
**auth user templates [20/page]**
**group templates [20/page]**