chore: remove APAW from tracking; gitignore agent-generated files

This commit is contained in:
Deploy Bot
2026-06-20 01:32:54 +01:00
parent d6dedfb513
commit 6aa41381ac
362 changed files with 48506 additions and 13261 deletions

View File

@@ -0,0 +1,95 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="col-md-12">
<div class="card card-outline card-primary">
<div class="card-header">
<div class="card-title">
<h3>@lang('messages.edit_profile')</h3>
</div>
</div>
<div class="card-body">
<form id="edit_profile" action="{{action([\App\Http\Controllers\ManageProfileController::class, 'postProfile'], [$user['id']])}}">
<div class="form-row">
<div class="form-group col-md-4">
<label for="name">
@lang('messages.name') *
</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="fas fa-user-tie"></i>
</span>
</div>
<input type="text" class="form-control" name="name" id="name" placeholder="{{__('messages.enter_name')}}" value="{{$user['name']}}" required>
</div>
</div>
<div class="form-group col-md-4">
<label for="email">
@lang('messages.email') *
</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="fas fa-envelope"></i>
</span>
</div>
<input type="email" class="form-control" name="email" id="email" placeholder="{{__('messages.enter_email')}}" value="{{$user['email']}}" required>
</div>
</div>
<div class="form-group col-md-4">
<label for="password">
@lang('messages.password')
</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="fas fa-user-lock"></i>
</span>
</div>
<input type="password" class="form-control" name="password" id="password" placeholder="{{__('messages.enter_password')}}" value="" aria-describedby="passwordHelp">
</div>
<small id="passwordHelp" class="form-text text-muted">
@lang('messages.password_edit_help')
</small>
</div>
</div>
<button type="submit" class="btn btn-success float-right submit_btn">
@lang('messages.update')
</button>
</form>
</div>
</div>
</div>
</div>
@endsection
@section('footer')
<script type="text/javascript">
$(document).ready(function(){
$('form#edit_profile').validate({
submitHandler: function(form, e) {
var data = $('form#edit_profile').serialize();
var url = $('form#edit_profile').attr('action');
if ($('form#edit_profile').valid()) {
$.ajax({
method:"PUT",
url: url,
data: data,
dataType: "json",
success: function(response) {
if(response.success == true){
window.location = response.redirect;
} else {
toastr.error(response.msg);
}
}
});
}
}
});
});
</script>
@endsection

View File

@@ -0,0 +1,215 @@
@extends('layouts.app')
@section('content')
<div class="container">
<section class="content-header">
<h1>
@lang('messages.my_settings')
</h1>
</section>
<div class="col-md-12">
<form id="settings_form">
<div class="card card-outline card-primary">
<div class="card-body">
<div class="form-row">
<div class="form-group col-md-6">
<label for="language">
@lang('messages.language') *
</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="fas fa-language"></i>
</span>
</div>
<select id="language" class="form-control" name="language" required>
@foreach($settings['languages'] as $key => $language)
<option value="{{$key}}"
@if($key == $settings['language'])
selected
@endif>
{{$language['full_name']}}
</option>
@endforeach
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="APP_TIMEZONE">
@lang('messages.timezone') *
</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="far fa-hourglass"></i>
</span>
</div>
<select class="form-control" name="timezone" required id="APP_TIMEZONE">
<option value="">
@lang('messages.choose_timezone')
</option>
@foreach($settings['timezones'] as $timezone)
<option value="{{$timezone}}"
@if($timezone == $settings['timezone'])
selected
@endif>
{{$timezone}}
</option>
@endforeach
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card card-outline card-primary">
<div class="card-header">
<div class="card-title">
<h4>
@lang('messages.smtp_email_settings')
<i class="fas fa-info-circle" data-toggle="tooltip" data-placement="top" data-html="true" title="{{__('messages.my_settings_smtp_tooltips')}}"></i>
</h4>
</div>
</div>
<div class="card-body">
<div class="form-row">
<div class="form-group col-md-4">
<label for="MAIL_HOST">
@lang('messages.mail_host') *
</label>
<input type="text" class="form-control" name="MAIL_HOST" id="MAIL_HOST" placeholder="{{__('messages.enter_mail_host')}}" required value="{{$settings['smtp']['MAIL_HOST']}}">
</div>
<div class="form-group col-md-4">
<label for="MAIL_PORT">
@lang('messages.mail_port') *
</label>
<input type="text" class="form-control" name="MAIL_PORT" id="MAIL_PORT" placeholder="{{__('messages.enter_mail_port')}}" required value="{{$settings['smtp']['MAIL_PORT']}}">
</div>
<div class="form-group col-md-4">
<label for="MAIL_USERNAME">
@lang('messages.mail_username') *
</label>
<input type="text" class="form-control" name="MAIL_USERNAME" id="MAIL_USERNAME" placeholder="{{__('messages.enter_mail_username')}}" required value="{{$settings['smtp']['MAIL_USERNAME']}}">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label for="MAIL_FROM_ADDRESS">
@lang('messages.mail_from_address') *
</label>
<input type="text" class="form-control" name="MAIL_FROM_ADDRESS" id="MAIL_FROM_ADDRESS" placeholder="{{__('messages.mail_from_address')}}" value="{{$settings['smtp']['MAIL_FROM_ADDRESS']}}" required>
</div>
<div class="form-group col-md-4">
<label for="MAIL_FROM_NAME">
@lang('messages.mail_from_name') *
</label>
<input type="text" class="form-control" name="MAIL_FROM_NAME" id="MAIL_FROM_NAME" placeholder="{{__('messages.mail_from_name')}}" value="{{$settings['smtp']['MAIL_FROM_NAME']}}" required>
</div>
<div class="form-group col-md-4">
<label for="MAIL_PASSWORD">
@lang('messages.mail_password') *
</label>
<input type="text" class="form-control" name="MAIL_PASSWORD" id="MAIL_PASSWORD" placeholder="{{__('messages.enter_mail_password')}}" required value="{{$settings['smtp']['MAIL_PASSWORD']}}">
</div>
<div class="form-group col-md-4">
<label for="MAIL_ENCRYPTION">
@lang('messages.mail_encryption') *
</label>
<input type="text" class="form-control" name="MAIL_ENCRYPTION" id="MAIL_ENCRYPTION" placeholder="{{__('messages.enter_mail_encryption')}}" required value="{{$settings['smtp']['MAIL_ENCRYPTION']}}">
</div>
</div>
<button type="submit" class="btn btn-sm btn-success submit_btn float-right m-1">
@lang('messages.update')
</button>
<button type="button"
class="btn btn-sm btn-outline-primary ladda-button btn-test-smtp float-right m-1"
data-style="expand-right"
data-spinner-color="blue"
>
<span class="ladda-label">
{{trans('messages.test_smtp_details')}}
</span>
</button>
</div>
</div>
</form>
</div>
</div>
@endsection
@section('footer')
<script type="text/javascript">
$(document).ready(function(){
$('form#settings_form').validate({
submitHandler: function(form, e) {
var data = $('form#settings_form').serialize();
if ($('form#settings_form').valid()) {
$.ajax({
method:"POST",
url: "/post-user-settings",
data: data,
dataType: "json",
success: function(response) {
if(response.success == true){
window.location = response.redirect;
} else {
toastr.error(response.msg);
}
}
});
}
}
});
$(document).on('click', '.btn-test-smtp', function(){
var smtpdata = {
'host': $("input[name=MAIL_HOST]").val(),
'port' : $("input[name=MAIL_PORT]").val(),
'from_address' : $("input[name=MAIL_FROM_ADDRESS]").val(),
'from_name' : $("input[name=MAIL_FROM_NAME]").val(),
'encryption' : $("input[name=MAIL_ENCRYPTION]").val(),
'username' : $("input[name=MAIL_USERNAME]").val(),
'password' : $("input[name=MAIL_PASSWORD]").val(),
};
var isValid = true;
_.forEach(smtpdata, function(smtp){
if (!_.isEmpty(smtp)) {
isValid = true && isValid;
} else {
isValid = false;
}
});
if (isValid) {
var ladda = Ladda.create($('.btn-test-smtp')[0]);
ladda.start();
$.ajax({
method:"GET",
url: "/test-smtp",
data: smtpdata,
dataType: "json",
success: function(response) {
ladda.stop();
if(response.success == true){
toastr.success(response.msg);
} else {
toastr.error(response.msg);
}
}
});
} else {
isValid = true;
alert('Please fill all the SMTP detials.');
}
});
});
</script>
@endsection

View File

@@ -0,0 +1,365 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="card card-outline card-info">
<div class="card-header">
<div class="card-title">
@lang('messages.active_subscription')
</div>
</div>
<div class="card-body">
@if(!empty($active_subscription))
<div class="col-md-4">
<div class="card card card-outline card-success">
<div class="card-header">
<div class="text-center">
{{$active_subscription->package_details['name']}}
<span class="badge badge-pill badge-success float-right">
@lang('messages.running')
</span>
</div>
</div>
<div class="card-body text-center">
@if($active_subscription->package_details['no_of_active_forms'] == 0)
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.unlimited_forms')
</span>
<hr>
@endif
@if($active_subscription->package_details['is_form_downloadable'])
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.form_code_download')
</span>
@else
<span>
<i class="far fa-times-circle text-danger"></i>
@lang('messages.form_code_download')
</span>
@endif
<hr>
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.package_activated_on', ['date' => \Carbon\Carbon::parse($active_subscription->start_date)->isoFormat("D/M/YY")])
</span>
<hr>
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.remaining_days', ['days' => \Carbon\Carbon::today()->diffInDays($active_subscription->end_date)])
</span>
<hr>
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.package_expire_on', ['date' => \Carbon\Carbon::parse($active_subscription->end_date)->isoFormat("D/M/YY")])
</span>
</div>
</div>
</div>
@else
<h3 class="text-danger text-center">
@lang('messages.no_active_subscription')
</h3>
@endif
@if(!empty($upcoming_subscriptions))
<div class="row">
@foreach($upcoming_subscriptions as $upcoming_subscription)
<div class="col-md-4">
<div class="card card card-outline card-success">
<div class="card-header">
<div class="text-center">
{{$upcoming_subscription->package_details['name']}}
<span class="badge badge-pill badge-info float-right">
@lang('messages.upcoming')
</span>
</div>
</div>
<div class="card-body text-center">
@if($upcoming_subscription->package_details['no_of_active_forms'] != 0)
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.no_of_forms',[
'active_form' => $upcoming_subscription->package_details['no_of_active_forms']])
</span>
@else
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.unlimited_forms')
</span>
@endif
<hr>
@if($upcoming_subscription->package_details['is_form_downloadable'])
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.form_code_download')
</span>
@else
<span>
<i class="far fa-times-circle text-danger"></i>
@lang('messages.form_code_download')
</span>
@endif
<hr>
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.package_starts_on', ['date' => \Carbon\Carbon::parse($upcoming_subscription->start_date)->isoFormat("D/M/YY")])
</span>
<!-- @lang('messages.start_date') : {{\Carbon\Carbon::parse($upcoming_subscription->start_date)->isoFormat("D/M/YY")}} -->
<hr>
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.package_expire_on', ['date' => \Carbon\Carbon::parse($upcoming_subscription->end_date)->isoFormat("D/M/YY")])
</span>
<!-- @lang('messages.end_date') : {{\Carbon\Carbon::parse($upcoming_subscription->end_date)->isoFormat("D/M/YY")}} -->
</div>
</div>
</div>
@if($loop->iteration%3 == 0)
<div class="clearfix"></div>
@endif
@endforeach
</div>
@endif
@if(!empty($waiting_subscriptions))
<div class="row">
@foreach($waiting_subscriptions as $waiting_subscription)
<div class="col-md-4">
<div class="card card card-outline card-success">
<div class="card-header">
<div class="text-center">
{{$waiting_subscription->package_details['name']}}
<span class="badge badge-pill badge-warning float-right text-white">
@lang('messages.waiting')
</span>
</div>
</div>
<div class="card-body text-center">
@if($waiting_subscription->package_details['no_of_active_forms'] != 0)
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.no_of_forms',[
'active_form' => $waiting_subscription->package_details['no_of_active_forms']])
</span>
@else
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.unlimited_forms')
</span>
@endif
<hr>
@if($waiting_subscription->package_details['is_form_downloadable'])
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.form_code_download')
</span>
@else
<span>
<i class="far fa-times-circle text-danger"></i>
@lang('messages.form_code_download')
</span>
@endif
<hr>
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.package_starts_on', ['date' => \Carbon\Carbon::parse($waiting_subscription->start_date)->isoFormat("D/M/YY")])
</span>
<!-- @lang('messages.start_date') : {{\Carbon\Carbon::parse($waiting_subscription->start_date)->isoFormat("D/M/YY")}} -->
<hr>
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.package_expire_on', ['date' => \Carbon\Carbon::parse($waiting_subscription->end_date)->isoFormat("D/M/YY")])
</span>
<!-- @lang('messages.end_date') : {{\Carbon\Carbon::parse($waiting_subscription->end_date)->isoFormat("D/M/YY")}} -->
</div>
</div>
</div>
@if($loop->iteration%3 == 0)
<div class="clearfix"></div>
@endif
@endforeach
</div>
@endif
</div>
</div>
<div class="card card-outline card-info">
<div class="card-header">
<div class="card-title">
@lang('messages.all_subscriptions')
</div>
</div>
<div class="card-body">
<table class="table" id="package_subscription_table">
<thead>
<tr>
<th>@lang('messages.package_name')</th>
<th>@lang('messages.start_date')</th>
<th>@lang('messages.end_date')</th>
<th>@lang('messages.price')</th>
<th>@lang('messages.paid_via')</th>
<th>@lang('messages.transaction_id')</th>
<th>@lang('messages.status')</th>
<th>@lang('messages.created_at')</th>
<th>@lang('messages.action')</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
@if($__enable_saas)
<div class="card card-outline card-info">
<div class="card-header">
<div class="card-title">
@lang('messages.packages')
</div>
</div>
<div class="card-body">
@if(count($active_packages) <= 0)
<div class="alert alert-danger" role="alert">
<span class="text-white">@lang('messages.no_packages_found')</span>
</div>
@endif
<div class="row">
@foreach($active_packages as $package)
<div class="col-md-4">
<div class="card card-outline card-success on_hover">
<div class="card-header">
<div class="text-center">
<h5>
{{$package->name}}
</h5>
</div>
</div>
<div class="card-body text-center">
@if($package->no_of_active_forms != 0)
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.no_of_forms',[
'active_form' => $package->no_of_active_forms])
</span>
@else
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.unlimited_forms')
</span>
@endif
<hr>
@if($package->is_form_downloadable)
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.form_code_download')
</span>
@else
<span>
<i class="far fa-times-circle text-danger"></i>
@lang('messages.form_code_download')
</span>
@endif
<hr>
@php
$price_interval = __('messages.'.$package->price_interval);
@endphp
@if($package->price != 0)
<h4>
<span class="currency">
{{$package->price}}
</span>
<small class="text-muted">
@lang('messages.subscription_price',[
'interval' => $package->interval,
'price_interval' => $price_interval
])
</small>
</h4>
@else
<h4>
@lang('messages.free_for_interval', [
'interval' => $package->interval,
'price_interval' => $price_interval
])
</h4>
@endif
</div>
<div class="card-footer text-center">
<a href="{{action([\App\Http\Controllers\Superadmin\SubscriptionPaymentController::class, 'pay'], [$package->id])}}" class="btn btn-block btn-success btn-sm">
@lang('messages.subscribe')
</a>
{{$package->description}}
</div>
</div>
</div>
@if($loop->iteration%3 == 0)
<div class="clearfix"></div>
@endif
@endforeach
</div>
<div class="col-md-12">
{{ $active_packages->links() }}
</div>
</div>
</div>
@endif
</div>
@endsection
@section('footer')
<script type="text/javascript">
$(document).ready(function(){
//notification after payment
@if (!empty(session('status')) && session('status')['success'] == 1)
var msg = '{!!session('status')['msg']!!}';
toastr.success(msg);
@elseif(!empty(session('status')) && session('status')['success'] == 0)
var msg = '{!!session('status')['msg']!!}';
toastr.error(msg);
@endif
var package_subscription_table = $("#package_subscription_table").DataTable({
processing: true,
serverSide: true,
ajax: '/all-subscriptions',
buttons: [],
dom: 'lfrtip',
fixedHeader: false,
columnDefs: [
{
targets: [0],
orderable: false,
searchable: false,
},
],
columns: [
{ data: 'package' , name: 'package'},
{ data: 'start_date' , name: 'start_date'},
{ data: 'end_date', name: 'end_date'},
{ data: 'package_price' , name: 'package_price'},
{ data: 'paid_via', name: 'paid_via'},
{ data: 'payment_transaction_id' , name: 'payment_transaction_id'},
{ data: 'status' , name: 'status'},
{ data: 'created_at', name: 'created_at'},
{ data: 'action', name: 'action', sortable:false}
],
"fnDrawCallback": function (oSettings) {
__convert_currency_in_datatable($('#package_subscription_table'));
}
});
$(document).on('click', '.view_subscription', function(){
var url = $(this).data('href');
$.ajax({
url:url,
dataType:'html',
method:'GET',
success: function(response){
$("#modal_div").html(response).modal("show");
}
});
});
$('span.currency').each(function(index, element){
var money = __formatCurrency($(this).text());
$(this).text(money);
});
});
</script>
@endsection

View File

@@ -0,0 +1,113 @@
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">
@lang('messages.view_package')
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="col-md-7 offset-md-2">
<div class="card card-outline card-success">
<div class="card-header">
<div class="text-center">
{{$subscription->package_details['name']}}
</div>
</div>
<div class="card-body text-center">
@if($subscription->package_details['no_of_active_forms'] != 0)
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.no_of_forms',[
'active_form' => $subscription->package_details['no_of_active_forms']])
</span>
@else
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.unlimited_forms')
</span>
@endif
<br>
@if($subscription->package_details['is_form_downloadable'])
<span>
<i class="far fa-check-circle text-success"></i>
@lang('messages.form_code_download')
</span>
@else
<span>
<i class="far fa-times-circle text-danger"></i>
@lang('messages.form_code_download')
</span>
@endif
<br><br>
@php
$price_interval = __('messages.'.$subscription->package_details['price_interval']);
@endphp
@if($subscription->package_price != 0)
<h4>
<span class="convert_currency">
{{$subscription->package_price}}
</span>
<small class="text-muted">
@lang('messages.subscription_price',[
'interval' => $subscription->package_details['interval'],
'price_interval' => $price_interval
])
</small>
</h4>
@else
<h4>
@lang('messages.free_for_interval', [
'interval' => $subscription->package_details['interval'],
'price_interval' => $price_interval
])
</h4>
@endif
</div>
<div class="card-footer text-center">
{{$subscription->package_details['description']}}
</div>
</div>
</div>
<div class="row">
<div class="col">
<strong>@lang('messages.start_date'): </strong> {{\Carbon\Carbon::parse($subscription->start_date)->isoFormat("D/M/YY")}}
</div>
<div class="col">
<strong>@lang('messages.end_date'): </strong>{{\Carbon\Carbon::parse($subscription->end_date)->isoFormat("D/M/YY")}}
</div>
</div>
<div class="row">
<div class="col">
<strong>@lang('messages.paid_via'): </strong>
@if($subscription->paid_via == "offline")
@lang("messages.offline")
@else
{{ucfirst($subscription->paid_via)}}
@endif
</div>
<div class="col">
<strong>@lang('messages.transaction_id'): </strong>
{{$subscription->payment_transaction_id}}
</div>
</div>
<div class="row">
<div class="col">
<strong>@lang('messages.status'): </strong>
{{__('messages.'.$subscription->status)}}
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">
@lang('messages.close')
</button>
</div>
</div>
</div>
<script type="text/javascript">
var money = $(document).find('span.convert_currency');
money.text(__formatCurrency(money.text()));
</script>