348 lines
16 KiB
PHP
Executable File
348 lines
16 KiB
PHP
Executable File
<?php
|
|
|
|
use Brick\Money\Context\AutoContext;
|
|
use Brick\Money\Money;
|
|
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
class Superviseur_dash extends CI_Controller
|
|
{
|
|
|
|
public function __construct(){
|
|
parent::__construct();
|
|
$this->load->model('wallet_model');
|
|
$this->load->model('nano_credit_model');
|
|
$this->load->model('Users_simple');
|
|
$this->load->model('User_model');
|
|
date_default_timezone_set ($this->session->userdata('timezone'));
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
if (!$this->session->userdata('email')) {
|
|
|
|
$this->session->set_flashdata('error', 'log in first');
|
|
$data['alert'] = "ok";
|
|
$data['message'] = "Login first!";
|
|
redirect('index.php', $data);
|
|
|
|
} else {
|
|
|
|
$count_g = $this->User_model->geolocatedCountByParrain($this->session->userdata('member_code'));
|
|
$count_d = $this->User_model->getCountDemande($this->session->userdata('member_code'));
|
|
$count_d_traite = $this->User_model->getCountDemandeByStatut($this->session->userdata('member_code'),1);
|
|
$count_d_no_traite = $this->User_model->getCountDemandeByStatut($this->session->userdata('member_code'),0);
|
|
|
|
$data['list_geolocated_users'] = $this->user_model->getUsersGeolocatedForSup($this->session->userdata('member_code'));
|
|
|
|
$data['active'] = "dash";
|
|
$data['token'] = $this->session->userdata('token');
|
|
$data['email'] = $this->session->userdata('email');
|
|
$data['firstname'] = $this->session->userdata('firstname');
|
|
$data['lastname'] = $this->session->userdata('lastname');
|
|
$data['member_code'] = $this->session->userdata('member_code');
|
|
$data['phone'] = $this->session->userdata('phone');
|
|
$data['adresse'] = $this->session->userdata('adresse');
|
|
$data['category'] = $this->session->userdata('category');
|
|
$data['network'] = $this->session->userdata('network');
|
|
$data['code_parrain'] = $this->session->userdata('parrain');
|
|
$data['listdem'] = $this->user_model->getAllDemandesForSuper($this->session->userdata('member_code'));
|
|
$data['geolocated_user'] = $this->user_model->getSuperNameAndCodeForSup($this->session->userdata('member_code'));
|
|
$data['count_g_users'] = $count_g;
|
|
$data['count_d_users'] = $count_d;
|
|
$data['count_d_traite'] = $count_d_traite;
|
|
$data['count_d_no_traite'] = $count_d_no_traite;
|
|
$data['hasWallet'] = $this->wallet_model->getConfigWallet($this->session->userdata('network_id'));
|
|
$this->load->view('header_sup', $data);
|
|
$this->load->view('superviseur_dash');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Affiche la table des points agents du superviseur
|
|
*/
|
|
public function getAllUser_g(){
|
|
|
|
if (!$this->session->userdata('email')) {
|
|
$this->session->set_flashdata('error', 'log in first');
|
|
|
|
$data['alert'] = "ok";
|
|
$data['message'] = "Login first!";
|
|
|
|
|
|
redirect('index.php', $data);
|
|
}
|
|
else {
|
|
|
|
$position = $this->user_model->getAllpositions($this->session->userdata('network'),'geolocated',$this->session->userdata('member_code'));
|
|
|
|
$data['active'] = "geolocated";
|
|
$data['positions']= $position;
|
|
$numberGeo = $this->user_model->getNumberGeoBySuper($this->session->userdata('member_code'));
|
|
if($numberGeo!=false){
|
|
$data['numberGeo'] = $numberGeo;
|
|
}else{
|
|
$data['numberGeo'] = "";
|
|
}
|
|
$data['map_title'] = $this->lang->line('Utilisateurs géolocalisés');
|
|
$data['total_points'] = $this->user_model->getCoutGeolocatedUsersForSuper($this->session->userdata('member_code'));
|
|
$data['tab'] = $this->user_model->getUsersGeolocatedForSup($this->session->userdata('member_code'));
|
|
$data['latitude'] = $this->session->userdata('latitude');
|
|
$data['longitude'] = $this->session->userdata('longitude');
|
|
$data['token'] = $this->session->userdata('token');
|
|
$data['email'] = $this->session->userdata('email');
|
|
$data['firstname'] = $this->session->userdata('firstname');
|
|
$data['lastname'] = $this->session->userdata('lastname');
|
|
$data['code_parrain'] = $this->session->userdata('code_parrain');
|
|
$data['phone'] = $this->session->userdata('phone');
|
|
$data['adresse'] = $this->session->userdata('adresse');
|
|
$data['category'] = $this->session->userdata('category');
|
|
$data['network'] = $this->session->userdata('network');
|
|
$data['geolocated_user'] = $this->user_model->getSuperNameAndCodeForSup($this->session->userdata('member_code'));
|
|
$data['alert'] = "";
|
|
$data['hasWallet'] = $this->wallet_model->getConfigWallet($this->session->userdata('network_id'));
|
|
$this->load->view('header_sup', $data);
|
|
$this->load->view('listeadmin');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Affiche les demandes de credits
|
|
*/
|
|
public function getDemandes(){
|
|
|
|
if (!$this->session->userdata('email')) {
|
|
$this->session->set_flashdata('error', 'log in first');
|
|
$data['alert'] = "ok";
|
|
$data['message'] = "Login first!";
|
|
$this->load->view('login', $data);
|
|
} else {
|
|
$type = $this->input->get("type");
|
|
$data['type'] = $type;
|
|
|
|
$debut = $this->input->get("d");
|
|
$fin = $this->input->get("f");
|
|
$format = $this->session->userdata('site_lang') === 'french' ? 'd-m-Y' : 'Y-m-d';
|
|
$data['debut'] = $debut ? date($format, strtotime($debut)) : null;
|
|
$data['fin'] = $fin ? date($format, strtotime($fin)) : null;
|
|
$fin = Date('Y-m-d', strtotime($fin . "+1 day")); // Increment date because SQL BETWEEN
|
|
|
|
$network = $this->session->userdata('network');
|
|
// $data['type'] = $this->lang->line('crédits');
|
|
$data['demand_type'] = 'credit';
|
|
$data['alert'] = "";
|
|
$data['token'] = $this->session->userdata('token');
|
|
$data['email'] = $this->session->userdata('email');
|
|
$data['firstname'] = $this->session->userdata('firstname');
|
|
$data['lastname'] = $this->session->userdata('lastname');
|
|
$data['code_parrain'] = $this->session->userdata('code_parrain');
|
|
$data['phone'] = $this->session->userdata('phone');
|
|
$data['adresse'] = $this->session->userdata('adresse');
|
|
$data['category'] = $this->session->userdata('category');
|
|
$data['network'] = $this->session->userdata('network');
|
|
if ($type == 'incoming') {
|
|
$data['active'] = "demandes_credits_entrantes";
|
|
$data['tab_fastDemande'] = $this->user_model->getRangeASCDemandes($debut, $fin, $this->session->userdata('member_code'));
|
|
$data['tab_slowDemande'] = $this->user_model->getRangeDESCDemandes($debut, $fin, $this->session->userdata('member_code'));
|
|
$data['temp_moyen'] = $this->user_model->getTempsMoyen($debut, $fin, $this->session->userdata('member_code'));
|
|
$data['list'] = $this->user_model->getDemandesForSuper($debut, $fin, $this->session->userdata('member_code'));
|
|
|
|
} else if ($type = 'outgoing') {
|
|
$data['active'] = "demandes_credits_sortantes";
|
|
$data['tab_fastDemande_s'] = $this->user_model->getRangeASCDemandesOut($debut, $fin, $this->session->userdata('member_code'));
|
|
$data['tab_slowDemande_s'] = $this->user_model->getRangeDESCDemandesOut($debut, $fin, $this->session->userdata('member_code'));
|
|
$data['mydem'] = $this->user_model->getDemandesHyperForSuper($debut, $fin, $this->session->userdata('member_code'));
|
|
$data['temp_moyen_mine'] = $this->user_model->getTempsMoyenDemandeSup($this->session->userdata('member_code'));
|
|
|
|
}
|
|
$data['geolocated_user'] = $this->user_model->getSuperNameAndCodeForSup($this->session->userdata('member_code'));
|
|
$data['hasWallet'] = $this->wallet_model->getConfigWallet($this->session->userdata('network_id'));
|
|
$this->load->view('header_sup', $data);
|
|
$this->load->view('demande_credit');
|
|
$this->load->view('footer');
|
|
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Afficher les demandes d'adhesion
|
|
*/
|
|
public function getDemandesAd(){
|
|
|
|
if (!$this->session->userdata('email')) {
|
|
$this->session->set_flashdata('error', 'log in first');
|
|
$data['alert'] = "ok";
|
|
$data['message'] = "Login first!";
|
|
$this->load->view('login', $data);
|
|
} else {
|
|
$network = $this->session->userdata('network');
|
|
$debut = $this->input->get("d");
|
|
$fin = $this->input->get("f");
|
|
$format = $this->session->userdata('site_lang') === 'french' ? 'd-m-Y' : 'Y-m-d' ;
|
|
$data['debut'] = $debut ? date($format, strtotime($debut)) : null ;
|
|
$data['fin'] = $fin ?date($format, strtotime($fin)): null ;
|
|
$data['active'] = "demandesAd";
|
|
$data['alert'] = "";
|
|
$data['demand_type'] = 'adhesion';
|
|
$data['token'] = $this->session->userdata('token');
|
|
$data['email'] = $this->session->userdata('email');
|
|
$data['firstname'] = $this->session->userdata('firstname');
|
|
$data['lastname'] = $this->session->userdata('lastname');
|
|
$data['code_parrain'] = $this->session->userdata('code_parrain');
|
|
$data['phone'] = $this->session->userdata('phone');
|
|
$data['adresse'] = $this->session->userdata('adresse');
|
|
$data['category'] = $this->session->userdata('category');
|
|
$data['network'] = $this->session->userdata('network');
|
|
$data['tab_fastDemande'] = $this->user_model->getRangeASCDemandesAd($debut, $fin ,$this->session->userdata('member_code'));
|
|
$data['tab_slowDemande'] = $this->user_model->getRangeDESCDemandesAd($debut, $fin ,$this->session->userdata('member_code'));
|
|
$data['mydem'] = $this->user_model->getDemandesHyperForSuper($this->session->userdata('member_code'));
|
|
$data['temp_moyen'] = $this->user_model->getTempsMoyenAd($debut, $fin ,$this->session->userdata('member_code'));
|
|
$data['list'] = $this->user_model->getDemandesAdForSuper($debut, $fin ,$this->session->userdata('member_code'));
|
|
$data['type'] = $this->lang->line('Adhésion');
|
|
$data['hasWallet'] = $this->wallet_model->getConfigWallet($this->session->userdata('network_id'));
|
|
$data['geolocated_user'] = $this->user_model->getSuperNameAndCodeForSup($this->session->userdata('member_code'));
|
|
$this->load->view('header_sup', $data);
|
|
$this->load->view('demande_adhesion');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
// Wallet
|
|
public function wallet(){
|
|
if (!$this->session->userdata('email')) {
|
|
$this->session->set_flashdata('error', 'log in first');
|
|
|
|
$data['alert'] = "ok";
|
|
$data['message'] = "Login first!";
|
|
$this->load->view('login', $data);
|
|
} else {
|
|
$id_network = $this->session->userdata('network_id');
|
|
$data["commission"] = "";
|
|
$data["principal"] = "";
|
|
$data["transactions"] = "";
|
|
$agent_id = $this->session->userdata('agent_id');
|
|
$data['hasWallet'] = $this->wallet_model->getConfigWallet($this->session->userdata('network_id'));
|
|
|
|
if ($this->input->get('history')) {
|
|
$this->historique($id_network, $this->input->get('d'), $this->input->get('f'), $this->session->userdata('member_code'),
|
|
$this->input->get('history'));
|
|
} else {
|
|
$context = new AutoContext();
|
|
//Create wallet if it not exist
|
|
$res = $this->user_model->getWallet($agent_id );
|
|
if($res == false){
|
|
if($data['hasWallet']){
|
|
$this->user_model->addWallet($agent_id );
|
|
}
|
|
}
|
|
|
|
$res = $this->user_model->getWallet($agent_id);
|
|
if ($res!=null){
|
|
$row = $res->first_row();
|
|
$data["commission"] = Money::of(round($row->balance_com,2), $this->session->userdata('currency_code'),$context)->formatTo('fr_FR');
|
|
$data["principal"] = Money::of(round($row->balance_princ,2), $this->session->userdata('currency_code'),$context)->formatTo('fr_FR');
|
|
$agents_g = $this->user_model->getUsersGeolocatedForSup($this->session->userdata('member_code'));
|
|
$data['agents_g'] = $agents_g;
|
|
|
|
//Fetch all transactions of any geolocated agent of the network
|
|
$data["transactions"] = array();
|
|
if($agents_g){
|
|
foreach($agents_g->result() AS $row){
|
|
$wallet = $this->user_model->getWallet($row->agent_id);
|
|
if($wallet){
|
|
if ($data['hasWallet']->first_row()->type == 'visa') {
|
|
$transactions = $this->user_model->getAgentTransactions($wallet->first_row()->wallet_id);
|
|
} elseif ($data['hasWallet']->first_row()->type == 'ilink') {
|
|
$transactions = $this->user_model->getAgentiLinkTransactions($wallet->first_row()->wallet_id);
|
|
}
|
|
if($transactions){
|
|
foreach($transactions->result() AS $trans){
|
|
$trans->agent_id = $row->agent_id ; // Add agent id to transaction
|
|
array_push( $data['transactions'], $trans);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
$data["commission"] = "N/A";
|
|
$data["principal"] = "N/A";
|
|
$data["totalCommissionBanque"] = "N/A";
|
|
$data["transactions"] = false;
|
|
}
|
|
|
|
|
|
$data['currency_code'] = $this->session->userdata('currency_code');
|
|
$data['alert'] = "";
|
|
$data['active'] = "wallet";
|
|
$data['token'] = $this->session->userdata('token');
|
|
$data['email'] = $this->session->userdata('email');
|
|
$data['firstname'] = $this->session->userdata('firstname');
|
|
$data['lastname'] = $this->session->userdata('lastname');
|
|
$data['code_parrain'] = $this->session->userdata('code_parrain');
|
|
$data['phone'] = $this->session->userdata('phone');
|
|
$data['adresse'] = $this->session->userdata('adresse');
|
|
$data['category'] = $this->session->userdata('category');
|
|
$data['network'] = $this->session->userdata('network');
|
|
$data['network_id'] = $id_network;
|
|
$data['villes'] = $this->user_model->getVilleByUserGeo($data['network'],$this->session->userdata('current_pays'));
|
|
$data['pays'] = $this->user_model->getAllGameCountries();
|
|
$data['networks'] = $this->user_model->getActiveNetwork();
|
|
$data['agentWalletInfos'] = $this->user_model->getInfosWalletAgentForHyper($id_network);
|
|
$data['geolocated_user'] = $this->user_model->getSuperNameAndCodeForSup($this->session->userdata('member_code'));
|
|
$this->load->view('header_sup',$data);
|
|
if ($data['hasWallet']->first_row()->type == 'visa')
|
|
$this->load->view('gestion_wallet_sup');
|
|
elseif ($data['hasWallet']->first_row()->type == 'ilink')
|
|
$this->load->view('gestion_wallet_sup_ilink');
|
|
$this->load->view('footer');
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
private function historique($network_id, $startDate, $endDate, $codeMembre, $type)
|
|
{
|
|
$data['configWallet'] = $this->wallet_model->getConfigWallet($network_id);
|
|
$format = $this->session->userdata('site_lang') === 'french' ? 'd-m-Y' : 'Y-m-d';
|
|
$data['startDate'] = $startDate ? date($format, strtotime($startDate)) : null;
|
|
$data['endDate'] = $endDate ? date($format, strtotime($endDate)) : null;
|
|
$endDate = Date('Y-m-d', strtotime($endDate . "+1 day"));
|
|
if ($type == 'transaction')
|
|
$data['transactions'] = $this->user_model->getTransactionsSup($startDate, $endDate, $codeMembre);
|
|
else if ($type == 'transaction_ilink')
|
|
$data['transactions'] = $this->user_model->getIlinkTransactionsSup($startDate, $endDate, $codeMembre);
|
|
else if ($type == 'commission_transfer')
|
|
$data['transactions'] = $this->user_model->getCommissionTransfers($startDate, $endDate, $this->session->userdata('member_code'));
|
|
else if ($type == 'balance_statement')
|
|
$data['wallets'] = $this->user_model->getInfosWalletAgentForSuper($codeMembre);
|
|
|
|
$data['active'] = "wallet";
|
|
$data['alert'] = "";
|
|
$data['firstname'] = $this->session->userdata('firstname');
|
|
$data['lastname'] = $this->session->userdata('lastname');
|
|
$data['email'] = $this->session->userdata('email');
|
|
$data['network'] = $this->session->userdata('network');
|
|
$data['villes'] = $this->user_model->getVilleByUserGeo($data['network'], $this->session->userdata('current_pays'));
|
|
$data['networks'] = $this->user_model->getActiveNetwork();
|
|
$data['superviseurs'] = $this->user_model->getSuperNameAndCodeForHyp($this->session->userdata('member_code'));
|
|
$data['hasWallet'] = $this->wallet_model->getConfigWallet($this->session->userdata('network_id'));
|
|
$data['country'] = $this->session->userdata('current_pays');
|
|
$data['category'] = $this->session->userdata('category');
|
|
$data['geolocated_user'] = $this->user_model->getSuperNameAndCodeForSup($this->session->userdata('member_code'));
|
|
|
|
$this->load->view('header_sup', $data);
|
|
if ($type == 'transaction')
|
|
$this->load->view('historique_transactions');
|
|
else if ($type == 'transaction_ilink')
|
|
$this->load->view('historique_transactions_ilink');
|
|
else if ($type == 'commission_transfer')
|
|
$this->load->view('historique_transferts_commission');
|
|
else if ($type == 'balance_statement')
|
|
$this->load->view('config_wallet_ilink_hyp/etat_soldes');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|