You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
5.4 KiB
136 lines
5.4 KiB
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\CentralLogics\Helpers;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\BusinessSetting;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class SMSModuleController extends Controller
|
|
{
|
|
public function sms_index()
|
|
{
|
|
return view('admin-views.business-settings.sms-index');
|
|
}
|
|
|
|
public function sms_update(Request $request, $module)
|
|
{
|
|
if ($module == 'twilio_sms') {
|
|
DB::table('business_settings')->updateOrInsert(['key' => 'twilio_sms'], [
|
|
'key' => 'twilio_sms',
|
|
'value' => json_encode([
|
|
'status' => $request['status'],
|
|
'sid' => $request['sid'],
|
|
'messaging_service_id' => $request['messaging_service_id'],
|
|
'token' => $request['token'],
|
|
'from' => $request['from'],
|
|
'otp_template' => $request['otp_template'],
|
|
]),
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
} elseif ($module == 'nexmo_sms') {
|
|
DB::table('business_settings')->updateOrInsert(['key' => 'nexmo_sms'], [
|
|
'key' => 'nexmo_sms',
|
|
'value' => json_encode([
|
|
'status' => $request['status'],
|
|
'api_key' => $request['api_key'],
|
|
'api_secret' => $request['api_secret'],
|
|
'signature_secret' => '',
|
|
'private_key' => '',
|
|
'application_id' => '',
|
|
'from' => $request['from'],
|
|
'otp_template' => $request['otp_template']
|
|
]),
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
} elseif ($module == '2factor_sms') {
|
|
DB::table('business_settings')->updateOrInsert(['key' => '2factor_sms'], [
|
|
'key' => '2factor_sms',
|
|
'value' => json_encode([
|
|
'status' => $request['status'],
|
|
'api_key' => $request['api_key'],
|
|
]),
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
} elseif ($module == 'msg91_sms') {
|
|
DB::table('business_settings')->updateOrInsert(['key' => 'msg91_sms'], [
|
|
'key' => 'msg91_sms',
|
|
'value' => json_encode([
|
|
'status' => $request['status'],
|
|
'template_id' => $request['template_id'],
|
|
'authkey' => $request['authkey'],
|
|
]),
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
|
|
if ($request['status'] == 1) {
|
|
if ($module != 'twilio_sms') {
|
|
$config = Helpers::get_business_settings('twilio_sms');
|
|
DB::table('business_settings')->updateOrInsert(['key' => 'twilio_sms'], [
|
|
'key' => 'twilio_sms',
|
|
'value' => json_encode([
|
|
'status' => 0,
|
|
'sid' => $config['sid'],
|
|
'token' => $config['token'],
|
|
'from' => $config['from'],
|
|
'otp_template' => $config['otp_template'],
|
|
]),
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
if ($module != 'nexmo_sms') {
|
|
$config = Helpers::get_business_settings('nexmo_sms');
|
|
DB::table('business_settings')->updateOrInsert(['key' => 'nexmo_sms'], [
|
|
'key' => 'nexmo_sms',
|
|
'value' => json_encode([
|
|
'status' => 0,
|
|
'api_key' => $config['api_key'],
|
|
'api_secret' => $config['api_secret'],
|
|
'signature_secret' => '',
|
|
'private_key' => '',
|
|
'application_id' => '',
|
|
'from' => $config['from'],
|
|
'otp_template' => $config['otp_template']
|
|
]),
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
if ($module != '2factor_sms') {
|
|
$config = Helpers::get_business_settings('2factor_sms');
|
|
DB::table('business_settings')->updateOrInsert(['key' => '2factor_sms'], [
|
|
'key' => '2factor_sms',
|
|
'value' => json_encode([
|
|
'status' => 0,
|
|
'api_key' => $config['api_key'],
|
|
]),
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
if ($module != 'msg91_sms') {
|
|
$config = Helpers::get_business_settings('msg91_sms');
|
|
DB::table('business_settings')->updateOrInsert(['key' => 'msg91_sms'], [
|
|
'key' => 'msg91_sms',
|
|
'value' => json_encode([
|
|
'status' => 0,
|
|
'template_id' => $config['template_id'],
|
|
'authkey' => $config['authkey'],
|
|
]),
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
}
|
|
|
|
return back();
|
|
}
|
|
}
|
|
|