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

<?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();
}
}