865 lines
32 KiB
PHP
865 lines
32 KiB
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: capp
|
|
* Date: 29/05/2018
|
|
* Time: 15:49
|
|
*/
|
|
|
|
|
|
class Wallet_model extends CI_Model
|
|
{
|
|
|
|
//wallet
|
|
public function getActiveNetwork(){
|
|
$query = $this->db->query("SELECT networks.id,networks.name,countries.name AS country
|
|
FROM networks
|
|
INNER JOIN countries ON networks.country_id=countries.id
|
|
WHERE `status`=1");
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
public function getTaux($id_network){
|
|
$query = $this->db->query("SELECT *
|
|
FROM configWallet
|
|
WHERE `id_network`=".$id_network);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public function getNetworkDetails($id_network){
|
|
$query = $this->db->query("SELECT n.name AS network , c.name AS country , c.currency_name_fr , c.currency_code , c.currency_name_en FROM networks n INNER JOIN countries_currencies c ON n.country_id = c.id WHERE n.id = ".$id_network);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public function getTransactions($debut , $fin , $id_network){
|
|
$chain = $debut ? " AND date_created BETWEEN '".$debut."' AND '".$fin."'" : "";
|
|
$query = $this->db->query("SELECT *
|
|
FROM infos_transaction
|
|
WHERE `network_id`=".$id_network.$chain);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getTransactionsSup($debut , $fin , $codeMembre){
|
|
$chain = $debut ? " AND date_created BETWEEN '".$debut."' AND '".$fin."'" : "";
|
|
$query = $this->db->query("SELECT *
|
|
FROM infos_transaction
|
|
WHERE `codeParrain`='".$codeMembre."'".$chain);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getInfosWalletAgentForHyper($id_network){
|
|
$query = $this->db->query("SELECT *
|
|
FROM wallet_agent
|
|
WHERE `network_id`=".$id_network);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param $where_clause
|
|
* @return bool
|
|
*/
|
|
public function get_user($where_clause){
|
|
$query = $this->db->query("SELECT agents.lastname, agents.adresse,agents.email,agents.date_created,agents.id AS userID,
|
|
codeGenerer.category,
|
|
networks.name AS network_name,towns.name AS town_name,
|
|
codeGenerer.code_parrain AS parrain,codeGenerer.code_membre AS code,
|
|
networks_agents.id AS networkAgent_id,networks_agents.phone,networks_agents.transactionNumber AS transac
|
|
FROM agents
|
|
INNER JOIN networks_agents ON agents.id=networks_agents.agent_id
|
|
INNER JOIN codeGenerer ON codeGenerer.id=networks_agents.codeGenerer_id
|
|
INNER JOIN networks ON networks.id =networks_agents.network_id
|
|
INNER JOIN towns ON towns.id=agents.town_id
|
|
".$where_clause);
|
|
$statement = "SELECT agents.lastname, agents.adresse,agents.email,agents.date_created,agents.id AS userID,
|
|
codeGenerer.category,
|
|
networks.name AS network_name,towns.name AS town_name,
|
|
codeGenerer.code_parrain AS parrain,codeGenerer.code_membre AS code,
|
|
networks_agents.id AS networkAgent_id,networks_agents.phone,networks_agents.transactionNumber AS transac
|
|
FROM agents
|
|
INNER JOIN networks_agents ON agents.id=networks_agents.agent_id
|
|
INNER JOIN codeGenerer ON codeGenerer.id=networks_agents.codeGenerer_id
|
|
INNER JOIN networks ON networks.id =networks_agents.network_id
|
|
INNER JOIN towns ON towns.id=agents.town_id
|
|
".$where_clause;
|
|
//var_dump($statement);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param $phone
|
|
* @param $name
|
|
* @return |null
|
|
*/
|
|
public function get_simple_user($phone, $name){
|
|
$query = $this->db->query("SELECT users.id AS id_user,users.active AS etat,users.lastname,users.phone,users.email,users.adresse,users.date_created,
|
|
networks.name AS network,countries.name AS country
|
|
FROM users
|
|
INNER JOIN networks ON networks.id=users.network_id
|
|
INNER JOIN countries ON countries.id=networks.country_id
|
|
WHERE phone LIKE '".$phone."%' AND lastname LIKE '".$name."%'");
|
|
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param $nom
|
|
* @param $adresse
|
|
* @param $email
|
|
* @param $phone
|
|
* @param int $id
|
|
* @return mixed
|
|
*/
|
|
public function update_user_infos($nom, $adresse, $email, $phone, $id){
|
|
$query = $this->db->query("UPDATE `users` SET `lastname`='".$nom."',`phone`='".$phone."',`email`='".$email."',`adresse`='".$adresse."' WHERE users.id=".$id);
|
|
$sql = "UPDATE `users` SET `lastname`='".$nom."',`phone`='".$phone."',`email`='".$email."',`adresse`='".$adresse."' WHERE users.id=".$id;
|
|
|
|
return $query;
|
|
}
|
|
|
|
/**
|
|
* @param $nom
|
|
* @param $adresse
|
|
* @param $email
|
|
* @param int $id_agent
|
|
* @param $transac
|
|
* @param $phone
|
|
* @param int $id_netAg
|
|
* @return bool
|
|
*/
|
|
public function update_geolocated_infos($nom, $adresse, $email, $id_agent, $transac, $phone, $id_netAg){
|
|
$this->db->trans_begin();
|
|
|
|
$this->db->query("UPDATE `agents` SET `lastname`='".$nom."',`email`='".$email."',`adresse`='".$adresse."' WHERE `id`=".$id_agent);
|
|
$this->db->query("UPDATE `networks_agents` SET `phone`='".$phone."',`transactionNumber`='".$transac."' WHERE `id`=".$id_netAg);
|
|
$this->db->trans_complete();
|
|
if ($this->db->trans_status() === FALSE)
|
|
{
|
|
$this->db->trans_rollback();
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
$this->db->trans_commit();
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function getPubCountries(){
|
|
$query = $this->db->query("SELECT countries.id AS id_country,countries.name AS pays,publiciteConfig.id,publiciteConfig.date_update AS maj ,publiciteConfig.partenariat,publiciteConfig.valeur_bool AS etat
|
|
FROM countries
|
|
INNER JOIN towns ON countries.id = towns.country_id
|
|
LEFT JOIN publiciteConfig ON countries.id=publiciteConfig.id_country AND publiciteConfig.id_config=2
|
|
WHERE towns.status=1
|
|
GROUP BY countries.id");
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Met a jour l'etat de la publicite
|
|
* @param int $id ID de la configuration
|
|
* @param $newState Nouvel etat
|
|
* @return mixed
|
|
*/
|
|
public function updateStatePub($id, $newState){
|
|
$query = $this->db->query("UPDATE publiciteConfig SET date_update = NOW(),valeur_bool = ".$newState." WHERE id =".$id);
|
|
return $query;
|
|
}
|
|
|
|
/**
|
|
* Ajoute une nouvelle ligne de publicite
|
|
* @param int $id_country ID du pays
|
|
* @return mixed
|
|
*/
|
|
public function createPubRow($id_country){
|
|
$query = $this->db->query("INSERT INTO publiciteConfig(id_config,id_country, valeur_bool) VALUE (2,".$id_country.",1)");
|
|
return $query;
|
|
}
|
|
|
|
public function getSuperNameAndCodeForSup($codeSup){
|
|
|
|
$query = $this->db->query("SELECT child.lastname AS lastname, child.code_membre AS member_code
|
|
FROM super_infos AS child
|
|
INNER JOIN super_infos AS dad
|
|
ON child.code_parrain='".$codeSup."'
|
|
WHERE child.category='geolocated' AND dad.category='super' AND dad.code_membre='".$codeSup."'
|
|
");
|
|
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function nameOfCurrentGeolocatedUser_forSuper($geolocatedUser_memberCode){
|
|
$query = $this->db->query("SELECT lastname FROM `super_infos` WHERE `code_membre`='".$geolocatedUser_memberCode."' ");
|
|
if($query->num_rows()>0){
|
|
return $query->row()->lastname;
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
// Wallet
|
|
|
|
public function getAllActivatedNetworks(){
|
|
$query = $this->db->query("SELECT networks.name AS network,networks.status AS status,networks.id,countries.name AS country,networks.country_id , configWallet.id_network , configWallet.type FROM `networks`
|
|
INNER JOIN countries ON networks.country_id=countries.id LEFT JOIN configWallet ON configWallet.id_network = networks.id WHERE status = 1");
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getConfigWallet($id_network){
|
|
$sql = "SELECT * FROM `configWallet` WHERE id_network = ?";
|
|
$query = $this->db->query($sql , array($id_network));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function addConfigWallet($network_id , $type){
|
|
$sql='INSERT INTO `configWallet` (`id_network`, `type`) VALUES (?,?);' ;
|
|
$query = $this->db->query($sql , array($network_id, $type));
|
|
return $query;
|
|
}
|
|
|
|
public function updateConfigWallet($network_id , $taux_client_r , $taux_client_d, $taux_ag_r , $taux_ag_d , $taux_sup_r , $taux_sup_d , $taux_bq_r , $taux_bq_d , $frais_d ){
|
|
$sql= 'UPDATE `configWallet` SET `taux_com_client_retrait` = ?, `taux_com_client_depot` = ?, `taux_com_ag_retrait` = ?, `taux_com_ag_depot` = ?, `taux_com_sup_retrait` = ? , `taux_com_sup_depot` = ?, `part_banque_retrait` = ?, `part_banque_depot` = ?, `frais_min_banque_depot` = ? WHERE (`id_network` = ?);';
|
|
$query = $this->db->query($sql , array($taux_client_r,$taux_client_d,$taux_ag_r,$taux_ag_d,$taux_sup_r,$taux_sup_d, $taux_bq_r , $taux_bq_d , $frais_d , $network_id));
|
|
return $query;
|
|
}
|
|
|
|
public function deleteConfigWallet($network_id){
|
|
$query = $this->db->query("DELETE FROM `configWallet` WHERE `configWallet`.`id_network` = '".$network_id."'");
|
|
return $query;
|
|
}
|
|
|
|
public function getWallet($id_agent){
|
|
$sql = "SELECT * FROM `wallet_agent` WHERE agent_id = ?";
|
|
$query = $this->db->query($sql , array($id_agent));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function addWallet($id_agent){
|
|
|
|
$sql = "SELECT * FROM `networks_agents` WHERE agent_id = ?";
|
|
$query = $this->db->query($sql , array($id_agent));
|
|
if($query->num_rows()>0){
|
|
$id_networkAgent = $query->first_row()->id;
|
|
$sql = "INSERT INTO `wallets` (`id_networkAgent`) VALUES (?);";
|
|
$query = $this->db->query($sql , array($id_networkAgent));
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
public function getAgentTransactions($id_wallet){
|
|
$query = $this->db->query("SELECT *
|
|
FROM wallet_transaction
|
|
WHERE `id_wallet`= '".$id_wallet."'");
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getAgentiLinkTransactions($id_wallet){
|
|
$query = $this->db->query("SELECT *
|
|
FROM infos_ilink_transaction
|
|
WHERE `id_wallet_ag`= '".$id_wallet."'");
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getNetworkHyper($id_network){
|
|
$sql = "SELECT * FROM `hyper_infos` WHERE network_id = ?";
|
|
$query = $this->db->query($sql , array($id_network));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getAllAgentsForNetwork($id_network){
|
|
$sql = "SELECT * FROM super_infos WHERE network_id = ?";
|
|
$query = $this->db->query($sql , array($id_network));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function reinitializeWallet($id_wallet){
|
|
$sql = "UPDATE `wallets` SET `balance_princ` = '0', `balance_com` = '0', `created_date` = ? WHERE (`id` = ?)";
|
|
$query = $this->db->query($sql , array(new DateTime(),$id_wallet));
|
|
return $query;
|
|
}
|
|
|
|
// Mot de passe du wallet
|
|
public function getAllActivatedWalletNetworks(){
|
|
$query = $this->db->query("SELECT n.id AS id_network , n.name AS network,n.status AS status,c.name AS country,c.currency_name_fr, c.currency_name_en , c.currency_code, wp.id AS wallet_password FROM networks n
|
|
INNER JOIN countries_currencies c ON n.country_id=c.id INNER JOIN configWallet cw ON cw.id_network = n.id
|
|
LEFT JOIN walletsPassword wp ON wp.network_id = n.id WHERE status = 1;");
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function addWalletPassword($network_id, $encrypted_password, $salt, $email)
|
|
{
|
|
$sql = "INSERT INTO `walletsPassword` (`network_id`, `encrypted_password`, `salt`, `email`) VALUES ( ?, ?, ?, ?);";
|
|
$query = $this->db->query($sql, array($network_id, $encrypted_password, $salt, $email));
|
|
return $query;
|
|
}
|
|
|
|
public function updateWalletPassword($wallet_password_id, $encrypted_password, $salt)
|
|
{
|
|
$sql = "UPDATE `walletsPassword` SET `encrypted_password` = ? , `salt` = ? WHERE (`id` = ?);";
|
|
$query = $this->db->query($sql, array($encrypted_password, $salt, $wallet_password_id));
|
|
return $query;
|
|
}
|
|
|
|
public function getWalletPassword($network_id)
|
|
{
|
|
$sql = "SELECT * FROM walletsPassword WHERE network_id = ?";
|
|
$query = $this->db->query($sql, array($network_id));
|
|
if ($query->num_rows() > 0) {
|
|
return $query;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getRecharges($debut , $fin , $id_network){
|
|
$chain = $debut ? " AND date BETWEEN '".$debut."' AND '".$fin."'" : "";
|
|
$query = $this->db->query("SELECT *
|
|
FROM infos_recharges
|
|
WHERE `network_id`=".$id_network.$chain);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function addWalletRecharge($montant,$wallet_id){
|
|
$sql = "INSERT INTO `wallet_recharge` (`montant`, `wallet_id`) VALUES (?, ?);";
|
|
$query = $this->db->query($sql , array($montant,$wallet_id));
|
|
return $query;
|
|
}
|
|
|
|
public function updateWalletBalance($montant,$wallet_id){
|
|
$sql = "UPDATE `wallets` SET balance_princ = balance_princ + ? WHERE (`id` = ? );";
|
|
$query = $this->db->query($sql , array($montant,$wallet_id));
|
|
return $query;
|
|
}
|
|
|
|
// Wallet ilink
|
|
public function addPalierConfigWallet($type, $idConfig, $min, $max, $taux)
|
|
{
|
|
$sql = "INSERT INTO `paliersConfigWallet` (`type`, `min`, `max`, `taux`, `idConfig`) VALUES (?,?,?,?,?);";
|
|
$query = $this->db->query($sql, array($type, $min, $max, $taux, $idConfig));
|
|
return $query;
|
|
}
|
|
|
|
public function addTaxe($idConfig, $nom, $type, $valeur, $destination, $categorie = 'wallet')
|
|
{
|
|
$sql = "INSERT INTO `taxes` (`nom`, `type`, `valeur`, `destination`,`categorie`, `idConfig`) VALUES (?,?,?,?,?,?);";
|
|
$query = $this->db->query($sql, array($nom, $type, $valeur, $destination, $categorie, $idConfig));
|
|
return $query;
|
|
}
|
|
|
|
public function updatePalierConfigWallet($id, $min, $max, $taux)
|
|
{
|
|
$sql = "UPDATE `paliersConfigWallet` SET `min` = ? , `max` = ? , `taux` = ? WHERE (`id` = ?);";
|
|
$query = $this->db->query($sql, array($min, $max, $taux, $id));
|
|
return $query;
|
|
}
|
|
|
|
public function getPalierConfigWallet($type, $idConfig)
|
|
{
|
|
$sql = "SELECT * FROM `paliersConfigWallet` WHERE (`type` = ? AND `idConfig` = ? );";
|
|
$query = $this->db->query($sql, array($type, $idConfig));
|
|
if ($query->num_rows() > 0) {
|
|
return $query;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getTaxes($idConfig, $categorie = 'wallet')
|
|
{
|
|
$sql = "SELECT * FROM `taxes` WHERE (`idConfig` = ? AND `categorie` = ? );";
|
|
$query = $this->db->query($sql, array($idConfig, $categorie));
|
|
if ($query->num_rows() > 0) {
|
|
return $query;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getOnePalierConfigWallet($id)
|
|
{
|
|
$sql = "SELECT * FROM `paliersConfigWallet` WHERE (`id` = ?);";
|
|
$query = $this->db->query($sql, array($id));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function deletePalierConfigWallet($type, $idConfig)
|
|
{
|
|
$sql = "DELETE FROM `paliersConfigWallet` WHERE (`type` = ? AND `idConfig` = ? );";
|
|
$query = $this->db->query($sql, array($type, $idConfig));
|
|
return $query;
|
|
|
|
}
|
|
|
|
public function deleteTaxes($idConfig, $categorie = 'wallet')
|
|
{
|
|
$sql = "DELETE FROM `taxes` WHERE (`idConfig` = ? AND `categorie` = ? );";
|
|
$query = $this->db->query($sql, array($idConfig, $categorie));
|
|
return $query;
|
|
|
|
}
|
|
|
|
public function updateConfigWalletIlink_a_s_c($taux_ag_s_c, $taux_sup_s_c, $taux_hyp_s_c, $idConfig)
|
|
{
|
|
$sql = "UPDATE `configWallet` SET `taux_com_ag_envoi_cash` = ?, `taux_com_sup_envoi_cash` = ?, `taux_com_hyp_envoi_cash` = ? WHERE (`id` = ?);";
|
|
$query = $this->db->query($sql, array($taux_ag_s_c, $taux_sup_s_c, $taux_hyp_s_c, $idConfig));
|
|
return $query;
|
|
}
|
|
|
|
public function updateConfigWalletIlink_u_w_cart($taux_u_w_cart,$taux_hyp_s_wallet_cart_ilink,$taux_bq_s_wallet_cart_ilink, $idConfig){
|
|
$sql = "UPDATE `configWallet` SET `taux_com_user_wallet_carte` = ?,
|
|
`taux_com_hyp_envoi_wallet_carte_ilink` = ?, `taux_com_banque_envoi_wallet_carte_ilink` = ? WHERE (`id` = ?);";
|
|
$query = $this->db->query($sql , array($taux_u_w_cart,$taux_hyp_s_wallet_cart_ilink,$taux_bq_s_wallet_cart_ilink,$idConfig));
|
|
return $query;
|
|
}
|
|
|
|
public function updateConfigWalletIlink_u_c_w($taux_u_c_w,$taux_u_c_c,$taux_hyp_r_cart_ilink,$taux_bq_r_cart_ilink , $idConfig){
|
|
$sql = "UPDATE `configWallet` SET `taux_com_user_carte_wallet` = ?, `taux_com_user_carte_cash` = ?, `taux_com_hyp_retrait_carte_cash_ilink` = ?, `taux_com_banque_retrait_carte_cash_ilink` = ?
|
|
WHERE (`id` = ?);";
|
|
$query = $this->db->query($sql , array($taux_u_c_w,$taux_u_c_c,$taux_hyp_r_cart_ilink,$taux_bq_r_cart_ilink,$idConfig));
|
|
return $query;
|
|
}
|
|
|
|
public function updateConfigWalletIlink_a_r_c($taux_ag_r_c,$taux_sup_r_c,$taux_hyp_r_c,$idConfig){
|
|
$sql = "UPDATE `configWallet` SET `taux_com_ag_retrait_cash` = ?, `taux_com_sup_retrait_cash` = ?, `taux_com_hyp_retrait_cash` = ? WHERE (`id` = ?);";
|
|
$query = $this->db->query($sql , array($taux_ag_r_c,$taux_sup_r_c,$taux_hyp_r_c,$idConfig));
|
|
return $query;
|
|
}
|
|
|
|
public function updateConfigWalletIlink_a_r_cart($taux_ag_cart_c,$taux_ag_r_cart,$taux_sup_r_cart,$taux_hyp_r_cart,$taux_bq_r_cart ,$idConfig){
|
|
$sql = "UPDATE `configWallet` SET `taux_com_wallet_ag_carte_cash` = ?, `taux_com_ag_retrait_carte_cash` = ?, `taux_com_sup_retrait_carte_cash` = ?,
|
|
`taux_com_hyp_retrait_carte_cash` = ?, `taux_com_banque_retrait_carte_cash` = ? WHERE (`id` = ?);";
|
|
$query = $this->db->query($sql , array($taux_ag_cart_c,$taux_ag_r_cart,$taux_sup_r_cart,$taux_hyp_r_cart, $taux_bq_r_cart ,$idConfig));
|
|
return $query;
|
|
}
|
|
|
|
public function updateConfigWalletIlink_a_s_cc($taux_ag_d_c_c,$taux_ag_d_c,$taux_sup_d_c,$taux_hyp_d_c,$taux_bq_d_c , $idConfig){
|
|
$sql = "UPDATE `configWallet` SET `taux_com_wallet_ag_envoi_cash_carte` = ?,
|
|
`taux_com_ag_depot_cash_carte` = ?, `taux_com_sup_depot_cash_carte` = ?, `taux_com_hyp_depot_cash_carte` = ?, `taux_com_banque_depot_cash_carte` = ?
|
|
WHERE (`id` = ?);";
|
|
$query = $this->db->query($sql , array($taux_ag_d_c_c, $taux_ag_d_c,$taux_sup_d_c,$taux_hyp_d_c,$taux_bq_d_c ,$idConfig));
|
|
return $query;
|
|
}
|
|
|
|
// La liste des monnaies pour les pays actifs
|
|
public function getCurrencies($code){
|
|
$sql= "SELECT * FROM currencies WHERE id IN(
|
|
SELECT idCurrency FROM countries WHERE id IN (
|
|
SELECT distinct country_id FROM networks WHERE status = 1
|
|
)
|
|
) AND code <> ? ;";
|
|
$query = $this->db->query($sql, array($code));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
//Liste des monnaies pour les pays dont un wallet est actif
|
|
public function getWalletsCountriesCurrencies($code){
|
|
$sql= "SELECT * FROM currencies WHERE id IN(
|
|
SELECT idCurrency FROM countries WHERE id IN (
|
|
SELECT distinct c.id FROM networks n INNER JOIN countries_currencies c ON n.country_id=c.id INNER JOIN configWallet cw ON cw.id_network = n.id WHERE status = 1
|
|
)
|
|
) AND code <> ? ;";
|
|
$query = $this->db->query($sql, array($code));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function insertExchangeRate($currency ,$rate){
|
|
$sql = "INSERT INTO `exchange_rate` (`target_currency`, `exchange_rate`) VALUES ( ?, ?);";
|
|
$query = $this->db->query($sql , array($currency,$rate));
|
|
return $query;
|
|
}
|
|
|
|
public function getExchangeRate($currency){
|
|
$sql = "SELECT * FROM `exchange_rate` WHERE `target_currency` = ?;";
|
|
$query = $this->db->query($sql , array($currency));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function updateExchangeRate($currency,$rate){
|
|
$sql = "UPDATE `exchange_rate` SET `exchange_rate` = ? WHERE (`target_currency` = ?);";
|
|
$query = $this->db->query($sql , array($currency,$rate));
|
|
return $query;
|
|
}
|
|
|
|
//Liste des pays dont un wallet est actif
|
|
public function getWalletsCountries(){
|
|
$sql= "SELECT id , name , currency_code FROM countries_currencies WHERE id IN (
|
|
SELECT distinct c.id FROM networks n INNER JOIN countries_currencies c ON n.country_id=c.id INNER JOIN configWallet cw ON cw.id_network = n.id WHERE status = 1
|
|
);";
|
|
$query = $this->db->query($sql);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getActiveCountries(){
|
|
$sql= "SELECT id , name FROM countries WHERE id IN (
|
|
SELECT distinct n.country_id FROM networks n WHERE n.status = 1
|
|
);";
|
|
$query = $this->db->query($sql);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getCountry($id){
|
|
$sql= "SELECT name FROM countries WHERE id = $id";
|
|
$query = $this->db->query($sql);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function cancelCreditRequest($id_demand){
|
|
$sql = "SELECT * FROM `info_demandeCredits` WHERE `demande_id` = ?;";
|
|
$query = $this->db->query($sql , array($id_demand));
|
|
if($query->num_rows()>0){
|
|
$demand = $query->first_row();
|
|
$sql = "SELECT * FROM `wallet_agent` WHERE `codeMembre` = ?;";
|
|
$query = $this->db->query($sql , array($demand->codeMembre));
|
|
$query2 = $this->db->query($sql , array($demand->codeParrain));
|
|
$result = $query->num_rows()>0;
|
|
if($result){
|
|
$result =$query2->num_rows()>0;
|
|
if($result){
|
|
$sql = "UPDATE wallets SET balance_princ = ? WHERE (`id` = ?);";
|
|
$montant = $demand->montant;
|
|
$montantAgent = $query->first_row()->balance_princ - $montant;
|
|
$montantParrain = $query2->first_row()->balance_princ + $montant;
|
|
|
|
$this->db->query($sql , array($montantAgent , $query->first_row()->wallet_id ));
|
|
$this->db->query($sql , array($montantParrain , $query2->first_row()->wallet_id));
|
|
|
|
$sql = "UPDATE `demandeCredits` SET `status` = '2' WHERE (`id` = ?);";
|
|
$this->db->query($sql , array($demand->demande_id));
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function insertSimulateur($frais , $montant ,$code , $montant_init){
|
|
$sql = "INSERT INTO `simulateur` (`com_hyp` , `montant_retrait`, `code` ,`montant` ) VALUES ( ?, ?, ? , ?);";
|
|
$query = $this->db->query($sql , array($frais,$montant,$code,$montant_init));
|
|
return $query;
|
|
}
|
|
|
|
public function getSimulateur($code){
|
|
$sql = "SELECT * FROM `simulateur` WHERE `code` = ?;";
|
|
$query = $this->db->query($sql , array($code));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function setSharingRate($network_id,$config_id,$rate, $url){
|
|
$sql = "SELECT * FROM `paying_networks` WHERE `id_network` = ? AND id_configWallet = ? ;";
|
|
$query = $this->db->query($sql , array($network_id,$config_id));
|
|
if($query->num_rows()>0){
|
|
$sql = "UPDATE `paying_networks` SET `taux_partage` = ? ,`url` = ? WHERE `id_network` = ? AND id_configWallet = ? ;";
|
|
$this->db->query($sql , array($rate, $url, $network_id,$config_id));
|
|
}else{
|
|
$sql = "INSERT INTO `paying_networks` (`id_network`, `taux_partage`, `url`, `id_configWallet`) VALUES ( ?, ?, ? ,?); ;";
|
|
$this->db->query($sql , array($network_id,$rate,$url,$config_id));
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public function getSharingRate($id_network ,$idConfig){
|
|
$sql = "SELECT taux_partage , url FROM `paying_networks` WHERE `id_network` = ? AND id_configWallet = ? ;";
|
|
$query = $this->db->query($sql , array($id_network,$idConfig));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getSharingRateByNetwork($id_network){
|
|
$sql = "SELECT balance_com FROM `paying_networks` WHERE `id_network` = ? ;";
|
|
$query = $this->db->query($sql , array($id_network));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function countPayingNetworks($id_country ,$idConfig){
|
|
$sql = "SELECT count(id) as total FROM `paying_networks` WHERE `id_network` IN (SELECT distinct n.id FROM countries c INNER JOIN
|
|
networks n ON n.country_id = c.id WHERE n.status = 1 AND c.id = ?
|
|
) AND id_configWallet = ? ;";
|
|
$query = $this->db->query($sql , array($id_country, $idConfig));
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getActiveNetworksByCountry($country_id , $network_id){
|
|
$query = $this->db->query("SELECT networks.name , networks.id , configWallet.type FROM `networks` INNER JOIN countries ON networks.country_id=countries.id
|
|
INNER JOIN configWallet ON configWallet.id_network = networks.id WHERE status = 1 AND networks.id <> $network_id AND countries.id = $country_id");
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getPayingNetworksByConfigWallet($id_config)
|
|
{
|
|
$query = $this->db->query("SELECT n.name , n.id , cw.type , c.name as country ,c.currency_code, pw.taux_partage as rate , pw.balance_com , pw.balance_compensation, pw.id_configWallet as config_id FROM networks n INNER JOIN countries_currencies c ON n.country_id=c.id
|
|
INNER JOIN configWallet cw ON cw.id_network = n.id INNER JOIN paying_networks pw ON pw.id_network = n.id WHERE pw.id_configWallet = $id_config ");
|
|
if ($query->num_rows() > 0) {
|
|
return $query;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getIlinkTransactions($debut , $fin , $id_network){
|
|
$chain = $debut ? " AND date BETWEEN '" . $debut . "' AND '" . $fin . "'" : "";
|
|
$query = $this->db->query("SELECT *
|
|
FROM infos_ilink_transaction
|
|
WHERE `network_emetteur`=" . $id_network . $chain);
|
|
//var_dump($query->result_array());
|
|
if ($query->num_rows() > 0) {
|
|
return $query;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getNetworkIlinTransactions($id_network){
|
|
$query = $this->db->query("SELECT *
|
|
FROM infos_ilink_transaction
|
|
WHERE `network_emetteur`= '".$id_network."'");
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getCurrency($id_network){
|
|
$query = $this->db->query("SELECT cc.currency_code as code FROM networks n INNER JOIN countries_currencies cc ON cc.id = n.country_id
|
|
WHERE n.id = '".$id_network."'");
|
|
if($query->num_rows()>0){
|
|
return $query->first_row();
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getCommissionTransfers($debut , $fin , $codeMembre){
|
|
$chain = $debut ? " AND date BETWEEN '".$debut."' AND '".$fin."'" : "";
|
|
$query = $this->db->query("SELECT *
|
|
FROM infos_transferts_commission
|
|
WHERE `codeParrain`='".$codeMembre."'".$chain);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getIlinkTransactionsSup($debut , $fin , $codeMembre){
|
|
$chain = $debut ? " AND date BETWEEN '".$debut."' AND '".$fin."'" : "";
|
|
$query = $this->db->query("SELECT *
|
|
FROM infos_ilink_transaction
|
|
WHERE `code_parrain`='".$codeMembre."'".$chain);
|
|
if($query->num_rows()>0){
|
|
return $query;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getInfosWalletAgentForSuper($codeMembre)
|
|
{
|
|
$query = $this->db->query("SELECT *
|
|
FROM wallet_agent
|
|
WHERE `codeParrain`='" . $codeMembre . "'");
|
|
if ($query->num_rows() > 0) {
|
|
return $query;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function insertRembourssementCompensation($montant, $id_network, $id_config)
|
|
{
|
|
$sql = "SELECT * FROM `paying_networks` WHERE `id_network` = ? AND id_configWallet = ? ;";
|
|
$query = $this->db->query($sql, array($id_network, $id_config));
|
|
if ($query->num_rows() > 0) {
|
|
$montant_init = $query->first_row()->balance_compensation;
|
|
if (($montant_init - $montant) < 0)
|
|
return false;
|
|
$sql = "UPDATE `paying_networks` SET balance_compensation = ? WHERE `id_network` = ? AND id_configWallet = ?;";
|
|
$this->db->query($sql, array($montant_init - $montant, $id_network, $id_config));
|
|
$sql = "INSERT INTO `remboursemment_compensation` (`montant` , `montant_restant`,`id_paying_network` , `id_network`) VALUES ( ?, ?, ? ,?);";
|
|
$this->db->query($sql, array($montant, $montant_init - $montant, $id_network, $this->session->userdata('network_id')));
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public function getRefunds($debut, $fin, $id_network)
|
|
{
|
|
$chain = $debut ? " AND date BETWEEN '" . $debut . "' AND '" . $fin . "'" : "";
|
|
$query = $this->db->query("SELECT rp.* , n.name as network , cc.name as country , cc.currency_code FROM remboursemment_compensation rp
|
|
INNER JOIN networks n ON n.id = id_paying_network INNER JOIN countries_currencies cc ON cc.id = n.country_id
|
|
WHERE rp.id_network =" . $id_network . $chain);
|
|
if ($query->num_rows() > 0) {
|
|
return $query;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// Gestion reglementaire
|
|
|
|
public function getRegulationsCountries(){
|
|
$query = $this->db->query("SELECT distinct cc.id , cc.name as country , cc.currency_code, r.id_country, r.montant_max_jour_national, r.montant_max_hebdo_national, r.montant_max_mensuel_national,
|
|
r.montant_max_jour_international, r.montant_max_hebdo_international, r.montant_max_mensuel_international FROM networks n
|
|
INNER JOIN countries_currencies cc ON n.country_id= cc.id INNER JOIN configWallet cw ON cw.id_network = n.id LEFT JOIN regulations r ON r.id_country = cc.id;");
|
|
if ($query->num_rows() > 0) {
|
|
return $query;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getRegulationsLimits($id_country){
|
|
$query = $this->db->query("SELECT * FROM regulations WHERE id_country ='" . $id_country . "'");
|
|
if ($query->num_rows() > 0) {
|
|
return $query->first_row();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function insertRegulationsLimits($id_country, $max_day_national , $max_week_national , $max_month_national, $max_day_international , $max_week_international , $max_month_international){
|
|
$sql = "INSERT INTO `regulations` (`id_country`, `montant_max_jour_national`, `montant_max_hebdo_national`, `montant_max_mensuel_national`,
|
|
`montant_max_jour_international`, `montant_max_hebdo_international`, `montant_max_mensuel_international`) VALUES (?,?, ?, ?,?,?,?);";
|
|
$query = $this->db->query($sql , array($id_country,$max_day_national,$max_week_national,$max_month_national,$max_day_international,$max_week_international,$max_month_international));
|
|
return $query;
|
|
}
|
|
|
|
public function updateRegulationsLimits($id_country, $max_day_national , $max_week_national , $max_month_national, $max_day_international , $max_week_international , $max_month_international){
|
|
$sql = "UPDATE `regulations` SET `montant_max_jour_national` = ? , `montant_max_hebdo_national` = ? , `montant_max_mensuel_national` = ?,
|
|
`montant_max_jour_international` = ? , `montant_max_hebdo_international` = ? , `montant_max_mensuel_international` = ? WHERE (`id_country` = ?);";
|
|
$query = $this->db->query($sql , array($max_day_national,$max_week_national,$max_month_national,$max_day_international,$max_week_international,$max_month_international,$id_country));
|
|
return $query;
|
|
}
|
|
}
|