session->userdata('com_ag') ? $this->session->userdata('com_ag') : 0 ; //$com_sup = $this->session->userdata('com_sup') ? $this->session->userdata('com_sup') : 0 ; //$com_hyp = $this->session->userdata('com_hyp') ? $this->session->userdata('com_hyp') : 0 ; //$com_bq = $this->session->userdata('com_bq') ? $this->session->userdata('com_bq') : 0 ; //$frais_retrait = $this->session->userdata('frais_retrait') ? $this->session->userdata('frais_retrait') : 0 ; //$plr_user_wallet_wallet = $plr_user_wallet_wallet ? $plr_user_wallet_wallet->result() : []; //$plr_user_wallet_cash = $plr_user_wallet_cash ? $plr_user_wallet_cash->result() : []; //$plr_agent_depot_wallet_ilink = $plr_agent_depot_wallet_ilink ? $plr_agent_depot_wallet_ilink->result() : []; //$plr_agent_depot_autre_wallet = $plr_agent_depot_autre_wallet ? $plr_agent_depot_autre_wallet->result() : []; //$plr_agent_cash_cash = $plr_agent_cash_cash ? $plr_agent_cash_cash->result() : []; // //$plr_user_wallet_wallet_national = $plr_user_wallet_wallet_national ? $plr_user_wallet_wallet_national->result() : []; //$plr_user_wallet_cash_national = $plr_user_wallet_cash_national ? $plr_user_wallet_cash_national->result() : []; //$plr_agent_depot_wallet_ilink_national = $plr_agent_depot_wallet_ilink_national ? $plr_agent_depot_wallet_ilink_national->result() : []; //$plr_agent_depot_autre_wallet_national = $plr_agent_depot_autre_wallet_national ? $plr_agent_depot_autre_wallet_national->result() : []; //$plr_agent_cash_cash_national = $plr_agent_cash_cash_national ? $plr_agent_cash_cash_national->result() : []; // //$taxes = $taxes ? $taxes->result() : []; //$taxesNationales = array_filter($taxes, function ($tax) { // return $tax->destination == 'national'; //}); // //$taxesInternationales = array_filter($taxes, function ($tax) { // return $tax->destination == 'international'; //}); // //if (isset($save)) { // $showResult = true; // switch ($operation) { // case 1: //Envoi wallet à wallet // $frais = ($init_country != $final_country) ? calculateFees1($plr_user_wallet_wallet, $montant) : calculateFees1($plr_user_wallet_wallet_national, $montant); // $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais); // // $com_hyp += $frais ; // $this->session->set_userdata('com_hyp',$com_hyp); // break; // case 2: //Envoi de wallet à carte // $frais = $montant * $config->taux_com_user_wallet_carte / 100; //// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais); // // $com_hyp += $frais ; // $this->session->set_userdata('com_hyp',$com_hyp); // break; // case 3: //Envoi de wallet à cash // $frais = ($init_country != $final_country) ? calculateFees1($plr_user_wallet_cash, $montant) : calculateFees1($plr_user_wallet_cash_national, $montant); // $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais); // // $com_hyp += $frais ; // $this->session->set_userdata('com_hyp',$com_hyp); // $this->session->set_userdata('frais_retrait',$frais); // break; // case 4: //Envoi de wallet à banque // // Non disponible // //Pas de taxes // break; //// case 5: //Envoi de carte à wallet //// $frais =$montant * $config->taux_com_user_carte_wallet / 100; ////// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais); //// break; //// case 6: //Envoi de carte à cash //// $frais =$montant * $config->taux_com_user_carte_cash / 100; ////// $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais); //// break; // case 9: // Retrait de wallet en cash // $frais = ($init_country != $final_country) ? calculateFees1($plr_user_wallet_cash, $montant) : calculateFees1($plr_user_wallet_cash_national, $montant); // $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais); // // $com_hyp += $frais ; // $this->session->set_userdata('com_hyp',$com_hyp); // break; // case 10: //Retrait de carte vers wallet // $frais = $montant * $config->taux_com_user_carte_wallet / 100; // // $com_hyp += $frais * $config->taux_com_hyp_retrait_carte_cash / 100 ; // $com_bq += $frais * $config->taux_com_banque_retrait_carte_cash / 100 ; // $this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq); // break; // case 11: // Retrait de carte vers cash // $frais = $montant * $config->taux_com_user_carte_cash / 100; // // $com_hyp += $frais * $config->taux_com_hyp_retrait_carte_cash / 100 ; // $com_bq += $frais * $config->taux_com_banque_retrait_carte_cash / 100 ; // $this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq); // break; // case 12: // Agent - Retrait en cash //// empty ////Sauvegarder les frais lors de chaque operation d'envoi // $com_ag += $frais_retrait * $config->taux_com_ag_retrait_cash/ 100 ; // $com_sup += $frais_retrait * $config->taux_com_sup_retrait_cash/ 100 ; // $com_hyp -= ($com_ag + $com_sup); // $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup); // $this->session->set_userdata('com_hyp',$com_hyp); // break; // case 13: // Agent - Retrait de la carte vers cash // $frais = $montant * $config->taux_com_wallet_ag_carte_cash / 100; // // $com_ag += $frais * $config->taux_com_ag_retrait_carte_cash/ 100 ; // $com_sup += $frais * $config->taux_com_sup_retrait_carte_cash / 100 ; // $com_hyp += $frais * $config->taux_com_hyp_retrait_carte_cash / 100 ; // $com_bq += $frais * $config->taux_com_banque_retrait_carte_cash / 100 ; // $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup); // $this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq); // break; // case 14: // Agent - Envoi de cash vers wallet iLink // $frais = ($init_country != $final_country) ? calculateFees1($plr_agent_depot_wallet_ilink, $montant) : calculateFees1($plr_agent_depot_wallet_ilink_national, $montant); // $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais); // $com_ag += $frais * $config->taux_com_ag_envoi_cash / 100 ; // $com_sup += $frais * $config->taux_com_sup_envoi_cash / 100 ; // $com_hyp += $frais * $config->taux_com_hyp_envoi_cash / 100 ; // $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup); // $this->session->set_userdata('com_hyp',$com_hyp); // break; // case 15: // Agent - Envoi de cash vers autre wallet // $frais = ($init_country != $final_country) ? calculateFees1($plr_agent_depot_autre_wallet, $montant) : calculateFees1($plr_agent_depot_autre_wallet_national, $montant); // $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais); // $com_ag += $frais * $config->taux_com_ag_envoi_cash / 100 ; // $com_sup += $frais * $config->taux_com_sup_envoi_cash / 100 ; // $com_hyp += $frais * $config->taux_com_hyp_envoi_cash / 100 ; // $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup); // $this->session->set_userdata('com_hyp',$com_hyp); // break; // case 16: // Agent - Envoi de cash vers une carte visa // $frais = $montant * $config->taux_com_wallet_ag_envoi_cash_carte / 100; // $com_ag += $frais * $config->taux_com_ag_depot_cash_carte/ 100 ; // $com_sup += $frais * $config->taux_com_sup_depot_cash_carte / 100 ; // $com_hyp += $frais * $config->taux_com_hyp_depot_cash_carte / 100 ; // $com_bq += $frais * $config->taux_com_banque_depot_cash_carte / 100 ; // $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup); // $this->session->set_userdata('com_hyp',$com_hyp);$this->session->set_userdata('com_bq',$com_bq); // break; // case 17: // Agent - Envoi de cash vers cash // $frais = ($init_country != $final_country) ? calculateFees1($plr_agent_cash_cash, $montant) : calculateFees1($plr_agent_cash_cash_national, $montant); // $taxe = ($init_country != $final_country) ? calculateTax($taxesInternationales , $frais) : calculateTax($taxesNationales ,$frais); // $com_ag += $frais * $config->taux_com_ag_envoi_cash / 100 ; // $com_sup += $frais * $config->taux_com_sup_envoi_cash / 100 ; // $com_hyp += $frais * $config->taux_com_hyp_envoi_cash / 100 ; // $this->session->set_userdata('com_ag',$com_ag);$this->session->set_userdata('com_sup',$com_sup); // $this->session->set_userdata('com_hyp',$com_hyp); // break; // case 18: // Agent - Envoi de cash vers banque // // Indisponible // break; // } //} ////Calcul des frais internationaux //function calculateFees1(array $paliers, $montant) //{ // $size = sizeof($paliers); // $min = $paliers[0]->min; // $max = $size > 0 ? $paliers[$size - 1]->max : 0; // $palier = null; // foreach ($paliers as $p) { // if ($montant >= $p->min && $montant <= $p->max) { // $palier = $p; // break; // } // } // // if ($palier) { // return (($palier->min + $palier->max) / 2 * $palier->taux / 100); // } else { // if ($montant < $min) // return $min * $paliers[0]->taux / 100; // else if ($montant > $max) // return $max * $paliers[$size - 1]->taux / 100; // } //} // ////Calcul des frais nationaux //function calculateFees2($min, $max, $taux, $montant) //{ // if ($montant < $min) // return $min * $taux / 100; // else if ($montant > $max) // return $max * $taux / 100; // else // return $montant * $taux / 100; //} // ////Calcul des taxes //function calculateTax(array $taxes, $frais) //{ // $sommeTaux = 0; // $sommeFixe = 0; // foreach ($taxes as $tax) { // if ($tax->type == '%') // $sommeTaux += $tax->valeur; // // if ($tax->type == 'fixe') // $sommeFixe += $tax->valeur; // } // return ($frais * $sommeTaux / 100) + $sommeFixe; //} // 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); ?>