178 lines
8.7 KiB
PHP
178 lines
8.7 KiB
PHP
<?php defined('BASEPATH') or exit('No direct script access allowed'); ?>
|
|
<?php init_head(); ?>
|
|
<div id="wrapper">
|
|
<div class="content">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="panel_s">
|
|
<div class="panel-body">
|
|
<h4 class="no-margin"><?php echo _l('paystack_dashboard'); ?></h4>
|
|
<hr class="hr-panel-heading" />
|
|
|
|
<!-- Stats Widgets -->
|
|
<div class="row">
|
|
<div class="col-md-3">
|
|
<div class="widget-box">
|
|
<div class="widget-header">
|
|
<h3><?php echo _l('total_transactions'); ?></h3>
|
|
</div>
|
|
<div class="widget-content">
|
|
<h3 class="bold"><?php echo $stats['total_transactions']; ?></h3>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="widget-box success-bg">
|
|
<div class="widget-header">
|
|
<h3><?php echo _l('successful_transactions'); ?></h3>
|
|
</div>
|
|
<div class="widget-content">
|
|
<h3 class="bold"><?php echo $stats['successful_transactions']; ?></h3>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="widget-box warning-bg">
|
|
<div class="widget-header">
|
|
<h3><?php echo _l('failed_transactions'); ?></h3>
|
|
</div>
|
|
<div class="widget-content">
|
|
<h3 class="bold"><?php echo $stats['failed_transactions']; ?></h3>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div class="widget-box info-bg">
|
|
<div class="widget-header">
|
|
<h3><?php echo _l('total_amount'); ?></h3>
|
|
</div>
|
|
<div class="widget-content">
|
|
<h3 class="bold"><?php echo app_format_money($stats['total_amount'], get_base_currency()); ?></h3>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mtop20">
|
|
<!-- Monthly Chart -->
|
|
<div class="col-md-8">
|
|
<div class="panel_s">
|
|
<div class="panel-body">
|
|
<h4 class="no-margin"><?php echo _l('monthly_transactions'); ?></h4>
|
|
<hr class="hr-panel-heading" />
|
|
<canvas id="monthly-chart" height="300"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Success Rate -->
|
|
<div class="col-md-4">
|
|
<div class="panel_s">
|
|
<div class="panel-body">
|
|
<h4 class="no-margin"><?php echo _l('success_rate'); ?></h4>
|
|
<hr class="hr-panel-heading" />
|
|
<canvas id="success-rate-chart" height="300"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Recent Transactions -->
|
|
<div class="panel_s mtop20">
|
|
<div class="panel-body">
|
|
<h4 class="no-margin"><?php echo _l('recent_transactions'); ?></h4>
|
|
<hr class="hr-panel-heading" />
|
|
<table class="table dt-table table-recent-transactions">
|
|
<thead>
|
|
<tr>
|
|
<th><?php echo _l('date'); ?></th>
|
|
<th><?php echo _l('reference'); ?></th>
|
|
<th><?php echo _l('invoice_number'); ?></th>
|
|
<th><?php echo _l('amount'); ?></th>
|
|
<th><?php echo _l('status'); ?></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach($recent_transactions as $transaction) { ?>
|
|
<tr>
|
|
<td><?php echo _dt($transaction['date']); ?></td>
|
|
<td><?php echo $transaction['reference']; ?></td>
|
|
<td>
|
|
<a href="<?php echo admin_url('invoices/list_invoices/'.$transaction['invoice_id']); ?>">
|
|
<?php echo format_invoice_number($transaction['invoice_number']); ?>
|
|
</a>
|
|
</td>
|
|
<td><?php echo app_format_money($transaction['amount'], get_base_currency()); ?></td>
|
|
<td>
|
|
<span class="label label-<?php echo $transaction['status'] == 'success' ? 'success' : 'danger'; ?>">
|
|
<?php echo _l($transaction['status']); ?>
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
<?php } ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php init_tail(); ?>
|
|
<script>
|
|
// Monthly Chart
|
|
var ctx = document.getElementById('monthly-chart').getContext('2d');
|
|
var monthlyChart = new Chart(ctx, {
|
|
type: 'bar',
|
|
data: {
|
|
labels: <?php echo json_encode(array_keys($monthly_chart)); ?>,
|
|
datasets: [{
|
|
label: '<?php echo _l("successful_transactions"); ?>',
|
|
data: <?php echo json_encode(array_column($monthly_chart, 'successful')); ?>,
|
|
backgroundColor: 'rgba(75, 192, 192, 0.2)',
|
|
borderColor: 'rgba(75, 192, 192, 1)',
|
|
borderWidth: 1
|
|
},
|
|
{
|
|
label: '<?php echo _l("failed_transactions"); ?>',
|
|
data: <?php echo json_encode(array_column($monthly_chart, 'failed')); ?>,
|
|
backgroundColor: 'rgba(255, 99, 132, 0.2)',
|
|
borderColor: 'rgba(255, 99, 132, 1)',
|
|
borderWidth: 1
|
|
}]
|
|
},
|
|
options: {
|
|
scales: {
|
|
y: {
|
|
beginAtZero: true
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
// Success Rate Chart
|
|
var ctx2 = document.getElementById('success-rate-chart').getContext('2d');
|
|
var successRateChart = new Chart(ctx2, {
|
|
type: 'doughnut',
|
|
data: {
|
|
labels: ['<?php echo _l("successful"); ?>', '<?php echo _l("failed"); ?>'],
|
|
datasets: [{
|
|
data: [
|
|
<?php echo $stats['successful_transactions']; ?>,
|
|
<?php echo $stats['failed_transactions']; ?>
|
|
],
|
|
backgroundColor: [
|
|
'rgba(75, 192, 192, 0.2)',
|
|
'rgba(255, 99, 132, 0.2)'
|
|
],
|
|
borderColor: [
|
|
'rgba(75, 192, 192, 1)',
|
|
'rgba(255, 99, 132, 1)'
|
|
],
|
|
borderWidth: 1
|
|
}]
|
|
}
|
|
});
|
|
</script>
|