392 lines
14 KiB
PHP
392 lines
14 KiB
PHP
|
<link rel="stylesheet" href="<?php echo base_url('bower_components/jvectormap/jquery-jvectormap.css') ?>">
|
|||
|
<link rel="stylesheet" href="<?php echo base_url('bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css') ?>">
|
|||
|
<link rel="stylesheet" href="<?php echo base_url('bower_components/bootstrap-daterangepicker/daterangepicker.css') ?>">
|
|||
|
<link rel="stylesheet" href="<?php echo base_url('plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css') ?>">
|
|||
|
<script src="<?php echo base_url('bower_components/chart.js/Chart.js') ?>"></script>
|
|||
|
<link rel="stylesheet" href="<?php echo base_url('bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') ?>">
|
|||
|
|
|||
|
<?php
|
|||
|
use Brick\Money\Context\CustomContext;
|
|||
|
use Brick\Money\Money;
|
|||
|
$context = new \Brick\Money\Context\AutoContext();
|
|||
|
function convertDate($date){
|
|||
|
$month = null;
|
|||
|
switch ($date) {
|
|||
|
case "Jan":
|
|||
|
$month = 1;
|
|||
|
break;
|
|||
|
case "Feb":
|
|||
|
$month = 2;
|
|||
|
break;
|
|||
|
case "Mar":
|
|||
|
$month = 3;
|
|||
|
break;
|
|||
|
case "Apr":
|
|||
|
$month = 4;
|
|||
|
break;
|
|||
|
case "May":
|
|||
|
$month = 5;
|
|||
|
break;
|
|||
|
case "Jun":
|
|||
|
$month = 6;
|
|||
|
break;
|
|||
|
case "Jul":
|
|||
|
$month = 7;
|
|||
|
break;
|
|||
|
case "Aug":
|
|||
|
$month = 8;
|
|||
|
break;
|
|||
|
case "Sep":
|
|||
|
$month = 9;
|
|||
|
break;
|
|||
|
case "Oct":
|
|||
|
$month = 10;
|
|||
|
break;
|
|||
|
case "Nov":
|
|||
|
$month = 11;
|
|||
|
break;
|
|||
|
case "Dec":
|
|||
|
$month = 12;
|
|||
|
break;
|
|||
|
}
|
|||
|
return $month;
|
|||
|
}
|
|||
|
|
|||
|
$month = time();
|
|||
|
$months[]=convertDate(date("M"));
|
|||
|
$label_months [] = date("M")." ".date("Y");
|
|||
|
$years[]= date("Y");
|
|||
|
for ($i = 1; $i <= 11; $i++) {
|
|||
|
$month = strtotime('last month', $month);
|
|||
|
$months [] = convertDate(date("M", $month));
|
|||
|
$years[] = date("Y", $month);
|
|||
|
$label_months [] = date("M", $month)." ".date("Y", $month);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
** Retraits
|
|||
|
**/
|
|||
|
$date = date("Y");
|
|||
|
|
|||
|
$retraits_data[] = '';
|
|||
|
$retraits_data =array();
|
|||
|
for ($i = 1; $i <= 12; $i++) {
|
|||
|
$retraits_query_mounth = array_filter($transactions, function ($trans) use ($i, $months ,$years){
|
|||
|
$month = date("m",strtotime($trans->date));
|
|||
|
$year = date("Y",strtotime($trans->date));
|
|||
|
return $month == $months[$i-1] && $year == $years[$i-1] && $trans->type_transaction == 'retrait' ;
|
|||
|
});
|
|||
|
$retraits_data[] = sizeof($retraits_query_mounth);
|
|||
|
}
|
|||
|
|
|||
|
$startDate = (new DateTime('01-'.$months[11].'-'.$years[11]))-> format('Y-m-d H:i:s');
|
|||
|
$endDate = date_create_from_format ('m/Y',$months[0].'/'.$years[0])-> format('Y-m-d H:i:s');
|
|||
|
|
|||
|
$retraits = array_filter($transactions, function ($trans) use ($i, $endDate ,$startDate){
|
|||
|
$date = strtotime($trans->date);
|
|||
|
// return $date >= strtotime($startDate) && $date <= strtotime($endDate) && $trans->type == 'debit' ;
|
|||
|
return $trans->type_transaction == 'retrait' ;
|
|||
|
|
|||
|
});
|
|||
|
|
|||
|
/**
|
|||
|
** Dépots
|
|||
|
**/
|
|||
|
$date = date("Y");
|
|||
|
|
|||
|
$depots_data[] = '';
|
|||
|
$depots_data =array();
|
|||
|
for ($i = 1; $i <= 12; $i++) {
|
|||
|
$depots_query_mounth= array_filter($transactions, function ($trans) use ($i, $months ,$years){
|
|||
|
$month = date("m",strtotime($trans->date));
|
|||
|
$year = date("Y",strtotime($trans->date));
|
|||
|
return $month == $months[$i-1] && $year == $years[$i-1] && $trans->type_transaction == 'depot' ;
|
|||
|
});
|
|||
|
$depots_data[] = sizeof($depots_query_mounth);
|
|||
|
}
|
|||
|
$depots = array_filter($transactions, function ($trans) use ($i, $endDate ,$startDate){
|
|||
|
$date = strtotime($trans->date);
|
|||
|
// return $date >= strtotime($startDate) && $date <= strtotime($endDate) && $trans->type == 'credit' ;
|
|||
|
return $trans->type_transaction == 'depot' ;
|
|||
|
|
|||
|
});
|
|||
|
|
|||
|
if($transactions!=false){
|
|||
|
$transac=sizeof($transactions);
|
|||
|
$array_transac = array();
|
|||
|
$num = 0;
|
|||
|
if ($transac > 0) {
|
|||
|
foreach($transactions as $row) {
|
|||
|
$num++;
|
|||
|
$array_transac[] = $row->type_transaction;
|
|||
|
}
|
|||
|
$vals_transac = array_count_values($array_transac);
|
|||
|
$pieChart = array();
|
|||
|
foreach(array_keys($vals_transac) as $paramName) {
|
|||
|
$color = dechex(rand(0x000000, 0xFFFFFF));
|
|||
|
$trash = array("value" => $vals_transac[$paramName],
|
|||
|
"color" => "#".$color,
|
|||
|
"highlight" => "#".$color,
|
|||
|
"label" => $paramName);
|
|||
|
|
|||
|
$pieChart[]= $trash;
|
|||
|
}
|
|||
|
}
|
|||
|
}else{
|
|||
|
$pieChart = array();
|
|||
|
}
|
|||
|
$fmt = new NumberFormatter( 'fr_FR', NumberFormatter::DECIMAL );
|
|||
|
?>
|
|||
|
|
|||
|
<div class="content-wrapper">
|
|||
|
<!-- Content Header (Page header) -->
|
|||
|
<section class="content-header">
|
|||
|
|
|||
|
<h1>
|
|||
|
Wallet <?php echo $network; ?>
|
|||
|
</h1>
|
|||
|
<?php
|
|||
|
$site_url = base_url();
|
|||
|
|
|||
|
if($alert=="ok") {
|
|||
|
|
|||
|
if(!$success=="ok"){
|
|||
|
?>
|
|||
|
<div class='alert alert-danger alert-dismissible col-xs-6'>
|
|||
|
<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>
|
|||
|
<h4><i class='icon fa fa-ban'></i> Erreur!</h4>
|
|||
|
<?php echo $message; ?>
|
|||
|
</div>
|
|||
|
|
|||
|
<?php
|
|||
|
} else {
|
|||
|
?>
|
|||
|
<div class="alert alert-success alert-dismissible col-xs-6">
|
|||
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
|||
|
<h4><i class="icon fa fa-check"></i> Success!</h4>
|
|||
|
<?php echo $message; ?>
|
|||
|
</div>
|
|||
|
|
|||
|
<?php
|
|||
|
}
|
|||
|
}
|
|||
|
?>
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
<section class="content">
|
|||
|
<div class="row">
|
|||
|
<div class="col-lg-4 col-xs-6">
|
|||
|
<div class="small-box bg-aqua">
|
|||
|
<div class="inner">
|
|||
|
<h3><?php echo $principal; ?></h3>
|
|||
|
<p><?php echo $this->lang->line('Solde Principal') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-cash"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="col-lg-4 col-xs-6">
|
|||
|
<div class="small-box bg-green">
|
|||
|
<div class="inner">
|
|||
|
<h3><?php echo $commission; ?></h3>
|
|||
|
<p><?php echo $this->lang->line('Solde Commission') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-cash"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="col-xs-12">
|
|||
|
<div class="box box-success">
|
|||
|
<div class="box-header with-border">
|
|||
|
<h3 class="box-title"><?php echo $this->lang->line('Historique des 12 derniers mois'); ?></h3>
|
|||
|
<div class="box-tools">
|
|||
|
<a class="btn btn-primary" href="<?php echo current_url().($network_id ? '?history=transaction_ilink' : '')?>">
|
|||
|
<?php echo $this->lang->line('transactions_historic'); ?>
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="box-body">
|
|||
|
<div class="chart" id="chart">
|
|||
|
<canvas id="barChart" style="height:230px"></canvas>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="col-xs-6">
|
|||
|
<div class="box box-danger">
|
|||
|
<div class="box-header with-border">
|
|||
|
<h3 class="box-title"><?php echo $this->lang->line("Parts dépots & retraits"); ?></h3>
|
|||
|
</div>
|
|||
|
<div class="box-body" id="chart2">
|
|||
|
<canvas id="pieChart" style="height:250px"></canvas>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="col-xs-6">
|
|||
|
<div class="box">
|
|||
|
<div class="box-header">
|
|||
|
<h3 class="box-title"><?php echo $this->lang->line('Commissions Agents') ?></h3>
|
|||
|
<div class="box-tools">
|
|||
|
<a class="btn btn-primary" href="<?php echo current_url().($network_id ? '?history=commission_transfer' : '')?>">
|
|||
|
<?php echo $this->lang->line('commission_transfer_historic'); ?>
|
|||
|
</a>
|
|||
|
<a class="btn btn-success" href="<?php echo current_url().($network_id ? '?history=balance_statement' : '')?>">
|
|||
|
<?php echo $this->lang->line('balance_statement'); ?>
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="box-body" style="overflow-x:auto;">
|
|||
|
<table id="example1" class="table table-bordered table-hover">
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<?php
|
|||
|
echo "<th>".$this->lang->line('Nom')."</th>
|
|||
|
<th>".$this->lang->line('Solde Principal')."</th>
|
|||
|
<th>".$this->lang->line('Solde Commission')."</th>
|
|||
|
<th>".$this->lang->line('DEPOT'). 's'."</th>
|
|||
|
<th>".$this->lang->line('RETRAIT').'s'."</th>";
|
|||
|
?>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<?php
|
|||
|
|
|||
|
if($agents_g){
|
|||
|
foreach($agents_g->result() as $row) {
|
|||
|
$wallet = null;
|
|||
|
foreach ($agentWalletInfos->result() as $value) {
|
|||
|
if ($value->agent_id == $row->agent_id) {
|
|||
|
$wallet = $value;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
$com = 0;
|
|||
|
$princ = 0;
|
|||
|
if($wallet) {
|
|||
|
$com = $wallet->balance_com;
|
|||
|
$princ = $wallet->balance_princ;
|
|||
|
}
|
|||
|
echo "<tr>
|
|||
|
<td>".$row->lastname."</td>
|
|||
|
<td>".Money::of(round($princ,2), $this->session->userdata('currency_code'),$context)->formatTo('fr_FR')."</td>
|
|||
|
<td>".Money::of(round($com,2), $this->session->userdata('currency_code'),$context)->formatTo('fr_FR')."</td>";
|
|||
|
$nb_depots = 0;
|
|||
|
$nb_retraits = 0;
|
|||
|
foreach($depots as $depot){
|
|||
|
if($depot->agent_id == $row->agent_id) {
|
|||
|
$nb_depots ++;
|
|||
|
}
|
|||
|
}
|
|||
|
foreach($retraits as $retrait){
|
|||
|
if($retrait->agent_id == $row->agent_id) {
|
|||
|
$nb_retraits ++;
|
|||
|
}
|
|||
|
}
|
|||
|
echo "<td>".$nb_depots."</td>
|
|||
|
<td>".$nb_retraits."</td>
|
|||
|
</tr>";
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
?>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
</section>
|
|||
|
</div>
|
|||
|
<!-- jQuery 3 -->
|
|||
|
<script src="<?php echo base_url('bower_components/jquery/dist/jquery.min.js') ?>"></script>
|
|||
|
<!-- Bootstrap 3.3.7 -->
|
|||
|
<script src="<?php echo base_url('bower_components/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
|
|||
|
<!-- DataTables -->
|
|||
|
<script src="<?php echo base_url('bower_components/datatables.net/js/jquery.dataTables.min.js') ?>"></script>
|
|||
|
<script src="<?php echo base_url('bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js') ?>"></script>
|
|||
|
<!-- Slimscroll -->
|
|||
|
<script src="<?php echo base_url('bower_components/jquery-slimscroll/jquery.slimscroll.min.js') ?>"></script>
|
|||
|
<!-- FastClick -->
|
|||
|
<script src="<?php echo base_url('bower_components/fastclick/lib/fastclick.js') ?>"></script>
|
|||
|
<!-- AdminLTE App -->
|
|||
|
<script src="<?php echo base_url('dist/js/adminlte.min.js') ?>"></script>
|
|||
|
<!-- AdminLTE for demo purposes -->
|
|||
|
<script src="<?php echo base_url('dist/js/demo.js') ?>"></script>
|
|||
|
|
|||
|
<script src="<?php echo base_url('dist/js/demo.js') ?>"></script>
|
|||
|
|
|||
|
<script src="<?php echo base_url('bower_components/moment/min/moment.min.js') ?>"></script>
|
|||
|
<script src="<?php echo base_url('bower_components/bootstrap-daterangepicker/daterangepicker.js') ?>"></script>
|
|||
|
<script src="<?php echo base_url('bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js') ?>"></script>
|
|||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>
|
|||
|
<!-- ChartJS -->
|
|||
|
<script src="<?php echo base_url('bower_components/chart.js/Chart.js') ?>"></script>
|
|||
|
|
|||
|
<script>
|
|||
|
$(function () {
|
|||
|
$('#example1').DataTable();
|
|||
|
// $('#example1').DataTable({
|
|||
|
// "aLengthMenu": [[5, 10, 15, -1], [5, 10, 5, "All"]],
|
|||
|
// "iDisplayLength": 5
|
|||
|
// });
|
|||
|
// $('#example2').DataTable({
|
|||
|
// 'paging' : true,
|
|||
|
// 'lengthChange': false,
|
|||
|
// 'searching' : false,
|
|||
|
// 'ordering' : true,
|
|||
|
// 'info' : true,
|
|||
|
// 'autoWidth' : false
|
|||
|
// })
|
|||
|
})
|
|||
|
</script>
|
|||
|
|
|||
|
<script>
|
|||
|
var areaChartData = {
|
|||
|
labels : <?php echo json_encode($label_months) ?>,
|
|||
|
datasets: [
|
|||
|
{
|
|||
|
label : 'Electronics',
|
|||
|
fillColor : 'rgba(255, 162, 0, 1)',
|
|||
|
strokeColor : 'rgba(255, 162, 0, 1)',
|
|||
|
pointColor : 'rgba(255, 162, 0, 1)',
|
|||
|
pointStrokeColor : '#ffa200',
|
|||
|
pointHighlightFill : '#fff',
|
|||
|
pointHighlightStroke: 'rgba(220,220,220,1)',
|
|||
|
data: <?php echo json_encode($depots_data) ?>
|
|||
|
},
|
|||
|
{
|
|||
|
label : 'Digital Goods',
|
|||
|
fillColor : 'rgba(0, 187, 255, 1)',
|
|||
|
strokeColor : 'rgba(0, 187, 255, 1)',
|
|||
|
pointColor : '#00bbff',
|
|||
|
pointStrokeColor : 'rgba(0, 187, 255, 1)',
|
|||
|
pointHighlightFill : '#fff',
|
|||
|
pointHighlightStroke: 'rgba(0, 187, 255, 1)',
|
|||
|
data : <?php echo json_encode($retraits_data) ?>
|
|||
|
}
|
|||
|
]
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
var Pie = '<?php echo json_encode($pieChart) ?>';
|
|||
|
if(Pie==='[]'){
|
|||
|
var select = document.getElementById('chart2');
|
|||
|
$(select.children).hide();
|
|||
|
$(select).append("<p>Aucune transaction</p>");
|
|||
|
}else{
|
|||
|
Pie = JSON.parse(Pie);
|
|||
|
}
|
|||
|
</script>
|
|||
|
<script>
|
|||
|
|
|||
|
</script>
|
|||
|
<!-- Page script -->
|
|||
|
<script src="<?php echo base_url('dist/js/custom.js') ?>"></script>
|