Subiendo proyecto completo sin restricciones de git ignore

This commit is contained in:
Jose Sanchez
2023-08-17 11:44:02 -04:00
parent a0d4f5ba3b
commit 20f1c60600
19921 changed files with 2509159 additions and 45 deletions

View File

@@ -0,0 +1,45 @@
@extends('backend.layouts.app')
@section('content')
<h4 class="text-center text-muted">{{translate('Activate OTP')}}</h4>
<div class="row">
@foreach ($otp_configurations as $otp_configuration)
<div class="col-md-4">
<div class="card">
<div class="card-header">
<h3 class="mb-0 h6">
{{translate(Str::replace('_', ' ',Str::title($otp_configuration->type)).' OTP')}}
</h3>
</div>
<div class="card-body text-center">
<label class="aiz-switch aiz-switch-success mb-0">
<input type="checkbox" onchange='updateSettings(this, "{{ $otp_configuration->type }}")' @if($otp_configuration->value == 1) checked @endif>
<span class="slider round"></span>
</label>
</div>
</div>
</div>
@endforeach
</div>
@endsection
@section('script')
<script type="text/javascript">
function updateSettings(el, type){
if($(el).is(':checked')){
var value = 1;
}
else{
var value = 0;
}
$.post('{{ route('otp_configurations.update.activation') }}', {_token:'{{ csrf_token() }}', type:type, value:value}, function(data){
if(data == 1){
AIZ.plugins.notify('success', '{{ translate('Settings updated successfully') }}');
}
else{
AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}');
}
});
}
</script>
@endsection

View File

@@ -0,0 +1,28 @@
@extends('backend.layouts.app')
@section('content')
<div class="row">
@foreach ($otp_configurations as $otp_configuration)
@include('backend.otp_systems.configurations.partials.'.$otp_configuration->type)
@endforeach
</div>
@endsection
@section('script')
<script type="text/javascript">
$("#ZENDER_MODE").change(function() {
var value = $(this).val();
let changeVal = '';
if (value == "devices") {
changeVal = 'device';
} else {
changeVal = 'gateway';
}
$("#ZENDER_MODE_TYPE").val(changeVal).change();
});
</script>
@endsection

View File

@@ -0,0 +1,76 @@
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('Fast2SMS Credential') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('update_credentials') }}" method="POST">
<input type="hidden" name="otp_method" value="fast2sms">
@csrf
<div class="form-group row">
<input type="hidden" name="types[]" value="AUTH_KEY">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('AUTH KEY') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="AUTH_KEY"
value="{{ env('AUTH_KEY') }}" placeholder="AUTH KEY" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="ENTITY_ID">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('ENTITY ID') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="ENTITY_ID"
value="{{ env('ENTITY_ID') }}" placeholder="{{ translate('Entity ID') }}">
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="ROUTE">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('ROUTE') }}</label>
</div>
<div class="col-lg-6">
<select class="form-control aiz-selectpicker" name="ROUTE" required>
<option value="dlt_manual" @if (env('ROUTE') == 'dlt_manual') selected @endif>
{{ translate('DLT Manual') }}</option>
<option value="p" @if (env('ROUTE') == 'p') selected @endif>
{{ translate('Promotional Use') }}</option>
<option value="t" @if (env('ROUTE') == 't') selected @endif>
{{ translate('Transactional Use') }}</option>
</select>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="LANGUAGE">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('LANGUAGE') }}</label>
</div>
<div class="col-lg-6">
<select class="form-control aiz-selectpicker" name="LANGUAGE" required>
<option value="english" @if (env('LANGUAGE') == 'english') selected @endif>English
</option>
<option value="unicode" @if (env('LANGUAGE') == 'unicode') selected @endif>Unicode
</option>
</select>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="SENDER_ID">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('SENDER ID') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="SENDER_ID"
value="{{ env('SENDER_ID') }}" placeholder="6 digit SENDER ID">
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{ translate('Save') }}</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,46 @@
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('MIMO Credential') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('update_credentials') }}" method="POST">
<input type="hidden" name="otp_method" value="mimo">
@csrf
<div class="form-group row">
<input type="hidden" name="types[]" value="MIMO_USERNAME">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MIMO_USERNAME') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MIMO_USERNAME"
value="{{ env('MIMO_USERNAME') }}" placeholder="MIMO_USERNAME" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="MIMO_PASSWORD">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MIMO_PASSWORD') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MIMO_PASSWORD"
value="{{ env('MIMO_PASSWORD') }}" placeholder="MIMO_PASSWORD" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="MIMO_SENDER_ID">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MIMO_SENDER_ID') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MIMO_SENDER_ID"
value="{{ env('MIMO_SENDER_ID') }}" placeholder="MIMO_SENDER_ID" required>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{ translate('Save') }}</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,46 @@
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('MIMSMS Credential') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('update_credentials') }}" method="POST">
<input type="hidden" name="otp_method" value="mimsms">
@csrf
<div class="form-group row">
<input type="hidden" name="types[]" value="MIM_API_KEY">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MIM_API_KEY') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MIM_API_KEY"
value="{{ env('MIM_API_KEY') }}" placeholder="MIM_API_KEY" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="MIM_SENDER_ID">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MIM_SENDER_ID') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MIM_SENDER_ID"
value="{{ env('MIM_SENDER_ID') }}" placeholder="MIM_SENDER_ID" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="MIM_BASE_URL">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MIM_BASE_URL') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MIM_BASE_URL"
value="{{ env('MIM_BASE_URL') }}" placeholder="MIM_BASE_URL" required>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{ translate('Save') }}</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,46 @@
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('MSEGAT Credential') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('update_credentials') }}" method="POST">
<input type="hidden" name="otp_method" value="msegat">
@csrf
<div class="form-group row">
<input type="hidden" name="types[]" value="MSEGAT_API_KEY">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MSEGAT_API_KEY') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MSEGAT_API_KEY"
value="{{ env('MSEGAT_API_KEY') }}" placeholder="MSEGAT_API_KEY" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="MSEGAT_USERNAME">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MSEGAT_USERNAME') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MSEGAT_USERNAME"
value="{{ env('MSEGAT_USERNAME') }}" placeholder="MSEGAT_USERNAME" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="MSEGAT_USER_SENDER">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MSEGAT_USER_SENDER') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MSEGAT_USER_SENDER"
value="{{ env('MSEGAT_USER_SENDER') }}" placeholder="MSEGAT_USER_SENDER" required>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{ translate('Save') }}</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,50 @@
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('Nexmo Credential') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('update_credentials') }}" method="POST">
<input type="hidden" name="otp_method" value="nexmo">
@csrf
<div class="form-group row">
<input type="hidden" name="types[]" value="NEXMO_KEY">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('NEXMO KEY') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="NEXMO_KEY" value="{{ env('NEXMO_KEY') }}"
placeholder="NEXMO KEY" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="NEXMO_SECRET">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('NEXMO SECRET') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="NEXMO_SECRET"
value="{{ env('NEXMO_SECRET') }}" placeholder="NEXMO SECRET" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="NEXMO_SENDER_ID">
<div class="col-lg-3">
<label class="col-from-label">{{translate('NEXMO SENDER ID')}}</label>
</div>
<div class="col-lg-8">
<input type="text" class="form-control" name="NEXMO_SENDER_ID" value="{{ env('NEXMO_SENDER_ID') }}" placeholder="NEXMO SENDER ID" required>
<small>
{{translate('Please check this URL for')}}
<a href="https://developer.vonage.com/en/messaging/sms/guides/custom-sender-id?source=messaging">Sender Identity</a>
{{translate('before setting the sender ID')}}
</small>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{ translate('Save') }}</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,36 @@
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('SPARROW Credential') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('update_credentials') }}" method="POST">
<input type="hidden" name="otp_method" value="sparrow">
@csrf
<div class="form-group row">
<input type="hidden" name="types[]" value="SPARROW_TOKEN">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('SPARROW_TOKEN') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="SPARROW_TOKEN"
value="{{ env('SPARROW_TOKEN') }}" placeholder="SPARROW_TOKEN" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="MESSGAE_FROM">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('MESSGAE_FROM') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="MESSGAE_FROM"
value="{{ env('MESSGAE_FROM') }}" placeholder="MESSGAE_FROM" required>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{ translate('Save') }}</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,46 @@
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('SSL Wireless Credential') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('update_credentials') }}" method="POST">
<input type="hidden" name="otp_method" value="ssl_wireless">
@csrf
<div class="form-group row">
<input type="hidden" name="types[]" value="SSL_SMS_API_TOKEN">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('SSL SMS API TOKEN') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="SSL_SMS_API_TOKEN"
value="{{ env('SSL_SMS_API_TOKEN') }}" placeholder="SSL SMS API TOKEN" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="SSL_SMS_SID">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('SSL SMS SID') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="SSL_SMS_SID"
value="{{ env('SSL_SMS_SID') }}" placeholder="SSL SMS SID" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="SSL_SMS_URL">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('SSL SMS URL') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="SSL_SMS_URL"
value="{{ env('SSL_SMS_URL') }}" placeholder="SSL SMS URL">
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{ translate('Save') }}</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,60 @@
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('Twilio Credential') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('update_credentials') }}" method="POST">
<input type="hidden" name="otp_method" value="twillo">
@csrf
<div class="form-group row">
<input type="hidden" name="types[]" value="TWILIO_SID">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('TWILIO SID') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="TWILIO_SID" value="{{ env('TWILIO_SID') }}"
placeholder="TWILIO SID" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="TWILIO_AUTH_TOKEN">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('TWILIO AUTH TOKEN') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="TWILIO_AUTH_TOKEN"
value="{{ env('TWILIO_AUTH_TOKEN') }}" placeholder="TWILIO AUTH TOKEN" required>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="VALID_TWILLO_NUMBER">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('VALID TWILIO NUMBER') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="VALID_TWILLO_NUMBER"
value="{{ env('VALID_TWILLO_NUMBER') }}" placeholder="VALID TWILLO NUMBER">
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="TWILLO_TYPE">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('TWILIO TYPE') }}</label>
</div>
<div class="col-lg-6">
<select class="form-control" name="TWILLO_TYPE">
<option value="1" {{ env('TWILLO_TYPE') < 2 ? 'selected' : false }}>SMS</option>
<option value="2" {{ env('TWILLO_TYPE') > 1 ? 'selected' : false }}>WhatsApp</option>
</select>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{ translate('Save') }}</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,106 @@
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">Zender Credential</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('update_credentials') }}" method="POST">
<input type="hidden" name="otp_method" value="zender">
@csrf
<div class="form-group row">
<input type="hidden" name="types[]" value="ZENDER_SITEURL">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('ZENDER_SITEURL') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="ZENDER_SITEURL"
value="{{ env('ZENDER_SITEURL') }}" placeholder="https://yourzendersite.com"
required>
<small>The site url of your Zender. Do not add ending slash.</small>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="ZENDER_APIKEY">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('ZENDER_APIKEY') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="ZENDER_APIKEY"
value="{{ env('ZENDER_APIKEY') }}" placeholder="ZENDER_APIKEY" required>
<small>Your Zender API key. Please make sure that it is correct and required permissions are
granted: sms_send, wa_send</small>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="ZENDER_SERVICE">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('ZENDER_SERVICE') }}</label>
</div>
<div class="col-lg-6">
<select class="form-control" name="ZENDER_SERVICE">
<option value="1" {{ env('ZENDER_SERVICE') < 2 ? 'selected' : false }}>SMS
</option>
<option value="2" {{ env('ZENDER_SERVICE') > 1 ? 'selected' : false }}>WhatsApp
</option>
</select>
<small>Select the sending service. Please make sure that the API key has the following
permissions: sms_send, wa_send</small>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="ZENDER_WHATSAPP">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('ZENDER_WHATSAPP') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="ZENDER_WHATSAPP"
value="{{ env('ZENDER_WHATSAPP') }}" placeholder="ZENDER_WHATSAPP">
<small>For WhatsApp service only. WhatsApp account ID you want to use for sending.</small>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="ZENDER_DEVICE">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('ZENDER_DEVICE') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="ZENDER_DEVICE"
value="{{ env('ZENDER_DEVICE') }}" placeholder="ZENDER_DEVICE">
<small>For SMS service only. Linked device unique ID. Please only enter this field if you
are sending using one of your devices.</small>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="ZENDER_GATEWAY">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('ZENDER_GATEWAY') }}</label>
</div>
<div class="col-lg-6">
<input type="text" class="form-control" name="ZENDER_GATEWAY"
value="{{ env('ZENDER_GATEWAY') }}" placeholder="ZENDER_GATEWAY">
<small>For SMS service only. Partner device unique ID or gateway ID. Please only enter this
field if you are sending using a partner device or third party gateway.</small>
</div>
</div>
<div class="form-group row">
<input type="hidden" name="types[]" value="ZENDER_SIM">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('ZENDER_SIM') }}</label>
</div>
<div class="col-lg-6">
<select class="form-control" name="ZENDER_SIM">
<option value="1" {{ env('ZENDER_SIM') < 2 ? 'selected' : false }}>SIM 1</option>
<option value="2" {{ env('ZENDER_SIM') > 1 ? 'selected' : false }}>SIM 2</option>
</select>
<small>For SMS service only. Select the sim slot you want to use for sending the messages.
Please only enter this field if you are sending using your device. This is ignored for
partner devices and third party gateways.</small>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{ translate('Save') }}</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,73 @@
@extends('backend.layouts.app')
@section('content')
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{translate('SMS Templates')}}</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-3">
<div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
@foreach ($sms_templates as $key => $sms_template)
<a class="nav-link @if($sms_template->id == 1) active @endif" id="v-pills-tab-2" data-toggle="pill" href="#v-pills-{{ $sms_template->id }}" role="tab" aria-controls="v-pills-profile" aria-selected="false">{{ translate(ucwords(str_replace('_', ' ', $sms_template->identifier))) }}</a>
@endforeach
</div>
</div>
<div class="col-9">
<div class="tab-content" id="v-pills-tabContent">
@foreach ($sms_templates as $key => $sms_template)
<div class="tab-pane fade show @if($sms_template->id == 1) active @endif" id="v-pills-{{ $sms_template->id }}" role="tabpanel" aria-labelledby="v-pills-tab-1">
<form action="{{ route('sms-templates.update', $sms_template->id) }}" method="POST">
<input name="_method" type="hidden" value="PATCH">
@csrf
@if($sms_template->identifier != 'phone_number_verification' && $sms_template->identifier != 'password_reset')
<div class="form-group row">
<div class="col-md-2">
<label class="col-from-label">{{translate('Activation')}}</label>
</div>
<div class="col-md-10">
<label class="aiz-switch aiz-switch-success mb-0">
<input value="1" name="status" type="checkbox" @if ($sms_template->status == 1)
checked
@endif>
<span class="slider round"></span>
</label>
</div>
</div>
@endif
<div class="form-group row">
<label class="col-md-2 col-form-label">{{translate('SMS Body')}}</label>
<div class="col-md-10">
<textarea name="body" class="form-control" placeholder="Type.." rows="6" required>{{ $sms_template->sms_body }}</textarea>
<small class="form-text text-danger">{{ ('**N.B : Do Not Change The Variables Like [[ ____ ]].**') }}</small>
@error('body')
<small class="form-text text-danger">{{ $message }}</small>
@enderror
</div>
</div>
<div class="form-group row">
<label class="col-md-2 col-form-label">{{translate('Template ID')}}</label>
<div class="col-md-10">
<input type="text" name="template_id" value="{{ $sms_template->template_id }}" class="form-control" placeholder="{{translate('Template Id')}}">
<small class="form-text text-danger">{{ ('**N.B : Template ID is Required Only for Fast2SMS DLT Manual**') }}</small>
</div>
</div>
<div class="form-group mb-3 text-right">
<button type="submit" class="btn btn-primary">{{translate('Update Settings')}}</button>
</div>
</form>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,99 @@
@extends('frontend.layouts.app')
@section('content')
<section class="py-4">
<div class="container">
<div class="row">
<div class="col-lg-6 col-xl-5 mx-auto">
<div class="card">
<div class="card-body">
<h1 class="h3 fw-600">{{ translate('Reset Password') }}</h1>
<p class="mb-4">{{translate('Enter your phone, code and new password and confirm password.')}} </p>
<form method="POST" action="{{ route('password.update.phone') }}">
@csrf
<div class="form-group">
<input id="phone-code" type="text" class="form-control" name="phone"
placeholder="{{ translate('Phone Number') }}" required>
<span class="invalid-phone-feedback text-danger" role="alert">
</span>
</div>
<input type="hidden" id="country_code" name="country_code" value="">
<div class="form-group">
<input id="email" type="text" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="code" value="{{ $email ?? old('email') }}" placeholder="Code" required autofocus>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" placeholder="New Password" required>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" placeholder="Confirm Password" required>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">
{{ translate('Reset Password') }}
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
@endsection
@section('script')
<script type="text/javascript">
var isPhoneShown = true,
countryData = window.intlTelInputGlobals.getCountryData(),
input = document.querySelector("#phone-code");
for (var i = 0; i < countryData.length; i++) {
var country = countryData[i];
if(country.iso2 == 'bd'){
country.dialCode = '88';
}
}
var iti = intlTelInput(input, {
separateDialCode: true,
utilsScript: "{{ static_asset('assets/js/intlTelutils.js') }}?1590403638580",
onlyCountries: @php echo json_encode(\App\Models\Country::where('status', 1)->pluck('code')->toArray()) @endphp,
customPlaceholder: function(selectedCountryPlaceholder, selectedCountryData) {
if(selectedCountryData.iso2 == 'bd'){
return "01xxxxxxxxx";
}
return selectedCountryPlaceholder;
}
});
var country = iti.getSelectedCountryData();
$('input[name=country_code]').val(country.dialCode);
input.addEventListener("countrychange", function(e) {
// var currentMask = e.currentTarget.placeholder;
var country = iti.getSelectedCountryData();
$('input[name=country_code]').val(country.dialCode);
});
</script>
@endsection

View File

@@ -0,0 +1,36 @@
@extends('frontend.layouts.app')
@section('content')
<section class="py-4">
<div class="container">
<div class="row">
<div class="col-lg-6 col-xl-5 mx-auto">
<div class="card">
<div class="text-center pt-5">
<h1 class="h2 fw-600">
{{translate('Phone Verification')}}
</h1>
<p>Verification code has been sent. Please wait a few minutes.</p>
<a href="{{ route('verification.phone.resend') }}" class="btn btn-link">{{translate('Resend Code')}}</a>
</div>
<div class="px-5 py-lg-5">
<div class="row align-items-center">
<div class="col-12 col-lg">
<form class="form-default" role="form" action="{{ route('verification.submit') }}" method="POST">
@csrf
<div class="form-group">
<div class="input-group input-group--style-1">
<input type="text" class="form-control" name="verification_code">
</div>
</div>
<button type="submit" class="btn btn-primary btn-block">{{ translate('Verify') }}</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
@endsection

View File

@@ -0,0 +1,48 @@
@extends('backend.layouts.app')
@section('content')
<div class="row">
<div class="col-lg-6 mx-auto">
<div class="card">
<div class="card-header">
<h3 class="fs-18 mb-0">{{translate('Send Bulk SMS')}}</h3>
</div>
<form class="form-horizontal" action="{{ route('sms.send') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="card-body">
<div class="form-group row">
<label class="col-sm-2 control-label" for="name">{{translate('Mobile Users')}}</label>
<div class="col-sm-10">
<select class="form-control aiz-selectpicker" data-live-search="true" name="user_phones[]" multiple>
@foreach($users as $user)
@if ($user->phone != null)
<option value="{{$user->phone}}">{{$user->name}} - {{$user->phone}}</option>
@endif
@endforeach
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 control-label" for="name">{{translate('SMS content')}}</label>
<div class="col-sm-10">
<textarea class="form-control" name="content" required></textarea>
</div>
</div>
<div class="form-group row">
<label class="col-md-2 col-form-label">{{translate('Template ID')}}</label>
<div class="col-md-10">
<input type="text" name="template_id" class="form-control" placeholder="{{translate('Template Id')}}">
<small class="form-text text-danger">{{ ('**N.B : Template ID is Required Only for Fast2SMS DLT Manual **') }}</small>
</div>
</div>
</div>
<div class="card-footer">
<button class="btn btn-primary" type="submit">{{translate('Send')}}</button>
</div>
</form>
</div>
</div>
</div>
@endsection