2020-06-01 11:21:06 +00:00
|
|
|
|
<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('bower_components/toastr/toastr.css') ?>">
|
2020-06-05 16:53:04 +00:00
|
|
|
|
<link rel="stylesheet" href="<?php echo base_url('bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') ?>">
|
2020-06-01 11:21:06 +00:00
|
|
|
|
<style type="text/css">
|
|
|
|
|
.table-wrapper {
|
2020-06-05 16:53:04 +00:00
|
|
|
|
width: 500px;
|
2020-06-01 11:21:06 +00:00
|
|
|
|
margin: 30px auto;
|
|
|
|
|
background: #fff;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
box-shadow: 0 1px 1px rgba(0,0,0,.05);
|
|
|
|
|
}
|
|
|
|
|
.table-title {
|
|
|
|
|
padding-bottom: 10px;
|
|
|
|
|
margin: 0 0 10px;
|
|
|
|
|
}
|
|
|
|
|
.table-title h2 {
|
|
|
|
|
margin: 6px 0 0;
|
|
|
|
|
font-size: 22px;
|
|
|
|
|
}
|
|
|
|
|
.table-title .add-new {
|
|
|
|
|
float: right;
|
|
|
|
|
height: 30px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
text-shadow: none;
|
|
|
|
|
min-width: 100px;
|
|
|
|
|
border-radius: 50px;
|
|
|
|
|
line-height: 13px;
|
|
|
|
|
}
|
|
|
|
|
.table-title .add-new i {
|
|
|
|
|
margin-right: 4px;
|
|
|
|
|
}
|
|
|
|
|
table.table {
|
|
|
|
|
table-layout: fixed;
|
|
|
|
|
}
|
|
|
|
|
table.table tr th, table.table tr td {
|
|
|
|
|
border-color: #e9e9e9;
|
|
|
|
|
}
|
|
|
|
|
table.table th i {
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
margin: 0 5px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
table.table th:last-child {
|
|
|
|
|
width: 100px;
|
|
|
|
|
}
|
|
|
|
|
table.table td a {
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
margin: 0 5px;
|
|
|
|
|
min-width: 24px;
|
|
|
|
|
}
|
|
|
|
|
table.table td a.add {
|
|
|
|
|
color: #27C46B;
|
|
|
|
|
}
|
|
|
|
|
table.table td a.edit {
|
|
|
|
|
color: #FFC107;
|
|
|
|
|
}
|
|
|
|
|
table.table td a.delete {
|
|
|
|
|
color: #E34724;
|
|
|
|
|
}
|
|
|
|
|
table.table td i {
|
|
|
|
|
font-size: 19px;
|
|
|
|
|
}
|
|
|
|
|
table.table td a.add i {
|
|
|
|
|
font-size: 24px;
|
|
|
|
|
margin-right: -1px;
|
|
|
|
|
position: relative;
|
|
|
|
|
top: 3px;
|
|
|
|
|
}
|
|
|
|
|
table.table .form-control {
|
|
|
|
|
height: 32px;
|
|
|
|
|
line-height: 32px;
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
border-radius: 2px;
|
|
|
|
|
}
|
|
|
|
|
/*table.table .form-control.error {*/
|
|
|
|
|
/* border-color: #f50000;*/
|
|
|
|
|
/*}*/
|
|
|
|
|
.error {
|
|
|
|
|
border-color: #f50000;
|
|
|
|
|
}
|
|
|
|
|
table.table td .add {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
2020-06-05 16:53:04 +00:00
|
|
|
|
<?php
|
|
|
|
|
use Brick\Money\CurrencyConverter;
|
|
|
|
|
use Brick\Money\ExchangeRateProvider\PDOProvider;
|
|
|
|
|
use Brick\Money\ExchangeRateProvider\PDOProviderConfiguration;
|
|
|
|
|
use Brick\Money\ExchangeRateProvider\BaseCurrencyProvider;
|
|
|
|
|
use Brick\Math\RoundingMode;
|
|
|
|
|
use Brick\Money\Money;
|
|
|
|
|
|
|
|
|
|
// set to whatever your rates are relative to
|
|
|
|
|
$baseCurrency = 'USD';
|
|
|
|
|
|
|
|
|
|
// use your own credentials, or re-use your existing PDO connection
|
|
|
|
|
$pdo = new PDO('mysql:host='.$this->db->hostname.';dbname='.$this->db->database, $this->db->username, $this->db->password);
|
|
|
|
|
|
|
|
|
|
$configuration = new PDOProviderConfiguration();
|
|
|
|
|
|
|
|
|
|
$configuration->tableName = 'exchange_rate';
|
|
|
|
|
$configuration->exchangeRateColumnName = 'exchange_rate';
|
|
|
|
|
$configuration->targetCurrencyColumnName = 'target_currency';
|
|
|
|
|
$configuration->sourceCurrencyCode = $baseCurrency;
|
|
|
|
|
|
|
|
|
|
// this provider loads exchange rates from your database
|
|
|
|
|
$provider = new PDOProvider($pdo, $configuration);
|
|
|
|
|
|
|
|
|
|
// this provider calculates exchange rates relative to the base currency
|
|
|
|
|
$provider = new BaseCurrencyProvider($provider, $baseCurrency);
|
|
|
|
|
|
|
|
|
|
// this currency converter can now handle any currency pair
|
|
|
|
|
$converter = new CurrencyConverter($provider);
|
|
|
|
|
|
|
|
|
|
//$money = Money::of('1', 'USD');
|
|
|
|
|
//$mone2 = $converter->convert($money, 'XAF', RoundingMode::DOWN);
|
|
|
|
|
|
|
|
|
|
?>
|
|
|
|
|
|
2020-06-01 11:21:06 +00:00
|
|
|
|
<div class="content-wrapper">
|
|
|
|
|
<!-- Content Header (Page header) -->
|
|
|
|
|
<section class="content-header">
|
|
|
|
|
|
|
|
|
|
<h1>
|
|
|
|
|
<?php echo $this->lang->line('currency_management'). ' '. $network .' - '.$country; ?>
|
|
|
|
|
</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 centered">
|
|
|
|
|
<div class="col-lg-2 col-xs-6">
|
|
|
|
|
<div class="small-box bg-red-active">
|
|
|
|
|
<div class="inner">
|
|
|
|
|
<h4><strong> <?php echo $currency_code.' - '.$currency_name_fr; ?> </strong></h4>
|
|
|
|
|
<p><?php echo $this->lang->line('currency') ?></p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2020-06-05 16:53:04 +00:00
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="table-wrapper" style="overflow-x:auto;">
|
|
|
|
|
<div class="table-title">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-sm-8">
|
|
|
|
|
<label class="col-form-label"><?php echo $this->lang->line('conversion_rate') ; ?></label>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<table id="taux_conversion" class="table table-bordered table-striped" >
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th width="60%"><?php echo $this->lang->line('currency') ; ?> </th>
|
|
|
|
|
<th><?php echo $this->lang->line('rate') ; ?> (%) </th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
<?php
|
|
|
|
|
if($currencies!=false){
|
|
|
|
|
foreach($currencies->result() as $row) {
|
|
|
|
|
$name = $this->session->userdata('site_lang') === 'french' ? $row->name_fr : $row->name_en;
|
|
|
|
|
echo "<tr>
|
|
|
|
|
<td>".$row->code.' - '.$name."</td>
|
|
|
|
|
<td>".round($provider->getExchangeRate($currency_code ,$row->code)->toFloat(),3)."</td>".'
|
|
|
|
|
</tr>';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
?>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<button type="button" id="save" class="btn btn-primary btn-block" >
|
|
|
|
|
<b><?php echo $this->lang->line('update_rate'); ?></b>
|
|
|
|
|
</button>
|
2020-06-01 11:21:06 +00:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
</div>
|
2020-06-05 16:53:04 +00:00
|
|
|
|
|
2020-06-01 11:21:06 +00:00
|
|
|
|
<!-- 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>
|
2020-06-05 16:53:04 +00:00
|
|
|
|
<!-- 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>
|
2020-06-01 11:21:06 +00:00
|
|
|
|
<!-- 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('bower_components/toastr/toastr.js') ?>"></script>
|
2020-06-05 16:53:04 +00:00
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/js/bootstrap-multiselect.js"></script>
|
|
|
|
|
<script src="<?php echo base_url('dist/js/sweetalert2.js') ?>"></script>
|
2020-06-01 11:21:06 +00:00
|
|
|
|
|
|
|
|
|
|
2020-06-05 16:53:04 +00:00
|
|
|
|
<script>
|
|
|
|
|
$(function() {
|
|
|
|
|
$('#taux_conversion').DataTable();
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
|
2020-06-01 11:21:06 +00:00
|
|
|
|
<script>
|
|
|
|
|
toastr.options.closeButton = true;
|
|
|
|
|
toastr.options.closeMethod = 'fadeOut';
|
|
|
|
|
toastr.options.closeDuration = 5000;
|
|
|
|
|
toastr.options.closeEasing = 'swing';
|
|
|
|
|
|
|
|
|
|
$('#save').click(function () {
|
2020-06-05 16:53:04 +00:00
|
|
|
|
$.ajax({
|
2021-10-14 14:33:02 +00:00
|
|
|
|
url: '<?php echo base_url('Gestion/fetchExchangeRates')?>',
|
2020-06-05 16:53:04 +00:00
|
|
|
|
type: 'GET',
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
success: function (data) {
|
|
|
|
|
if(data=='200'){
|
|
|
|
|
Swal.fire({
|
|
|
|
|
icon: 'success',
|
|
|
|
|
title: "<?php echo $this->lang->line('rates_update')?>",
|
|
|
|
|
text:"<?php echo $this->lang->line('informations_updated')?>",
|
|
|
|
|
timer: 3000
|
|
|
|
|
}).then(()=>{
|
|
|
|
|
location.reload();
|
|
|
|
|
});
|
|
|
|
|
}else{
|
|
|
|
|
toastr.error("<?php echo $this->lang->line('error_message')?>" , "<?php echo $this->lang->line('request_error')?>");
|
|
|
|
|
}
|
|
|
|
|
},
|
2020-06-01 11:21:06 +00:00
|
|
|
|
|
2020-06-05 16:53:04 +00:00
|
|
|
|
error: function (resultat, statut, error) {
|
|
|
|
|
console.log(resultat + " " + error);
|
|
|
|
|
toastr.error("<?php echo $this->lang->line('error_message')?>" , "<?php echo $this->lang->line('request_error')?>");
|
2020-06-01 11:21:06 +00:00
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|
2020-06-05 16:53:04 +00:00
|
|
|
|
|
2020-06-01 11:21:06 +00:00
|
|
|
|
<!-- Page script -->
|
|
|
|
|
<script src="<?php echo base_url('dist/js/custom.js') ?>"></script>
|