diff --git a/application/controllers/Superviseur_dash.php b/application/controllers/Superviseur_dash.php index 7111ac35..417fd3cb 100644 --- a/application/controllers/Superviseur_dash.php +++ b/application/controllers/Superviseur_dash.php @@ -4,168 +4,190 @@ defined('BASEPATH') OR exit('No direct script access allowed'); class Superviseur_dash extends CI_Controller { - public function __construct(){ - parent::__construct(); - $this->load->model('Users_simple'); - $this->load->model('User_model'); - } + public function __construct(){ + parent::__construct(); + $this->load->model('Users_simple'); + $this->load->model('User_model'); + } - public function index() - { - if (!$this->session->userdata('email')) { + 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); + $this->session->set_flashdata('error', 'log in first'); + $data['alert'] = "ok"; + $data['message'] = "Login first!"; + redirect('index.php', $data); - } else { + } 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); + $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['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->getDemandesForSuper($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['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->user_model->getConfigWallet($this->session->userdata('network_id')); - $this->load->view('header_sup', $data); - $this->load->view('superviseur_dash'); - $this->load->view('footer'); - } - } + $this->load->view('header_sup', $data); + $this->load->view('superviseur_dash'); + $this->load->view('footer'); + } + } - public function getAllUser_g(){ + /** + * 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'); + if (!$this->session->userdata('email')) { + $this->session->set_flashdata('error', 'log in first'); - $data['alert'] = "ok"; - $data['message'] = "Login first!"; + $data['alert'] = "ok"; + $data['message'] = "Login first!"; - redirect('index.php', $data); - } - else { + redirect('index.php', $data); + } + else { - $position = $this->user_model->getAllpositions($this->session->userdata('network'),'geolocated',$this->session->userdata('member_code')); + $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['alert'] = ""; + $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->user_model->getConfigWallet($this->session->userdata('network_id')); - $this->load->view('header_sup', $data); - $this->load->view('listeadmin'); - $this->load->view('footer'); - } - } + $this->load->view('header_sup', $data); + $this->load->view('listeadmin'); + $this->load->view('footer'); + } + } - public function getDemandes(){ + /** + * 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 { - $network = $this->session->userdata('network'); + 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 { - $data['active'] = "demandes"; - $data['type'] = $this->lang->line('crédits'); - $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'); - $data['tab_fastDemande'] = $this->user_model->getRangeASCDemandes($this->session->userdata('member_code')); - $data['tab_fastDemande_s'] = $this->user_model->getRangeASCDemandesOut($this->session->userdata('member_code')); - $data['tab_slowDemande'] = $this->user_model->getRangeDESCDemandes($this->session->userdata('member_code')); - $data['tab_slowDemande_s'] = $this->user_model->getRangeDESCDemandesOut($this->session->userdata('member_code')); - $data['mydem'] = $this->user_model->getDemandesHyperForSuper($this->session->userdata('member_code')); - $data['temp_moyen'] = $this->user_model->getTempsMoyen($this->session->userdata('member_code')); - $data['temp_moyen_mine'] = $this->user_model->getTempsMoyenDemandeSup($this->session->userdata('member_code')); - $data['list'] = $this->user_model->getDemandesForSuper($this->session->userdata('member_code')); - $data['hasWallet'] = $this->user_model->getConfigWallet($this->session->userdata('network_id')); - $this->load->view('header_sup', $data); - $this->load->view('demande'); - $this->load->view('footer'); - } - } + if($this->input->get("u") !== null){ - public function getDemandesAd(){ + $user_geo = $this->input->get("u"); + $debut = $this->input->get("d"); + $fin = $this->input->get("f"); - 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'); + $network = $this->session->userdata('network'); + $data['active'] = "demandes"; + $data['type'] = $this->lang->line('crédits'); + $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'); + $data['tab_fastDemande'] = $this->user_model->getRangeASCDemandes($user_geo,$debut,$fin,$this->session->userdata('member_code')); + $data['tab_fastDemande_s'] = $this->user_model->getRangeASCDemandesOut($this->session->userdata('member_code')); + $data['tab_slowDemande'] = $this->user_model->getRangeDESCDemandes($user_geo,$debut,$fin,$this->session->userdata('member_code')); + $data['tab_slowDemande_s'] = $this->user_model->getRangeDESCDemandesOut($this->session->userdata('member_code')); + $data['mydem'] = $this->user_model->getDemandesHyperForSuper($this->session->userdata('member_code')); + $data['temp_moyen'] = $this->user_model->getTempsMoyen($user_geo,$debut,$fin,$this->session->userdata('member_code')); + $data['temp_moyen_mine'] = $this->user_model->getTempsMoyenDemandeSup($this->session->userdata('member_code')); + $data['list'] = $this->user_model->getDemandesForSuper($user_geo,$debut,$fin,$this->session->userdata('member_code')); + $data['geolocated_user'] = $this->user_model->getSuperNameAndCodeForSup($this->session->userdata('member_code')); + $data['nameOfcurentGeolocatedUser'] = $this->user_model->nameOfCurrentGeolocatedUser_forSuper($user_geo); + $data['hasWallet'] = $this->user_model->getConfigWallet($this->session->userdata('network_id')); + $this->load->view('header_sup', $data); + $this->load->view('demande'); + $this->load->view('footer'); + }else{ - $data['active'] = "demandesAd"; - $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'); - $data['tab_fastDemande'] = $this->user_model->getRangeASCDemandesAd($this->session->userdata('member_code')); - $data['tab_slowDemande'] = $this->user_model->getRangeDESCDemandesAd($this->session->userdata('member_code')); - $data['mydem'] = $this->user_model->getDemandesHyperForSuper($this->session->userdata('member_code')); - $data['temp_moyen'] = $this->user_model->getTempsMoyenAd($this->session->userdata('member_code')); - $data['list'] = $this->user_model->getDemandesAdForSuper($this->session->userdata('member_code')); - $data['type'] = 'adhésions'; - $data['hasWallet'] = $this->user_model->getConfigWallet($this->session->userdata('network_id')); - $this->load->view('header_sup', $data); - $this->load->view('demande'); - $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'); + + $data['active'] = "demandesAd"; + $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'); + $data['tab_fastDemande'] = $this->user_model->getRangeASCDemandesAd($this->session->userdata('member_code')); + $data['tab_slowDemande'] = $this->user_model->getRangeDESCDemandesAd($this->session->userdata('member_code')); + $data['mydem'] = $this->user_model->getDemandesHyperForSuper($this->session->userdata('member_code')); + $data['temp_moyen'] = $this->user_model->getTempsMoyenAd($this->session->userdata('member_code')); + $data['list'] = $this->user_model->getDemandesAdForSuper($this->session->userdata('member_code')); + $data['type'] = 'adhésions'; + $this->load->view('header_sup', $data); + $this->load->view('demande'); + $this->load->view('footer'); + } + } // Wallet public function wallet(){ @@ -242,6 +264,7 @@ class Superviseur_dash extends CI_Controller $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); $this->load->view('gestion_wallet_sup'); $this->load->view('footer'); diff --git a/application/models/User_model.php b/application/models/User_model.php index 81bd629d..d2d94f16 100644 --- a/application/models/User_model.php +++ b/application/models/User_model.php @@ -282,20 +282,21 @@ class User_model extends CI_Model } - public function getDemandesForSuper($member_code){ + public function getDemandesForSuper($user_geo, $debut, $fin, $member_code){ - $query = $this->db->query("SELECT * + $query = $this->db->query("SELECT * FROM info_demandeCredits AS d WHERE d.codeParrain='".$member_code."' + AND d.codeMembre='".$user_geo."'AND d.dateAjout BETWEEN '".$debut."' AND '".$fin."' ORDER BY dateAjout"); - if($query->num_rows()>0){ - return $query; - }else{ - return false; - } + if($query->num_rows()>0){ + return $query; + }else{ + return false; + } - } + } public function getDemandesHyperForSuper($member_code){ @@ -388,6 +389,19 @@ class User_model extends CI_Model } } + public function getAllDemandesForSuper($member_code){ + $query = $this->db->query("SELECT * + FROM info_demandeCredits AS d + WHERE d.codeParrain='".$member_code."' + ORDER BY dateAjout"); + + if($query->num_rows()>0){ + return $query; + }else{ + return false; + } + } + public function getCountDemande($codeParrain){ if($codeParrain=='all'){ @@ -472,10 +486,10 @@ class User_model extends CI_Model } } - public function getRangeASCDemandes($codeParrain){ + public function getRangeASCDemandes($user_geo, $debut, $fin, $codeParrain){ - if($codeParrain=='all'){ - $query = $this->db->query("SELECT d.codeMembre AS emetteur, d.codeParrain AS superviseur, d.montant AS montant,d.dateAjout AS dateA,d.dateModif AS dateM, + if($codeParrain=='all'){ + $query = $this->db->query("SELECT d.codeMembre AS emetteur, d.codeParrain AS superviseur, d.montant AS montant,d.dateAjout AS dateA,d.dateModif AS dateM, (SELECT TIMESTAMPDIFF(SECOND,dateAjout,dateModif) FROM demande_credit AS req_im WHERE req_im.statut=1 AND req_im.id=d.id) AS temps @@ -483,21 +497,22 @@ class User_model extends CI_Model WHERE statut=1 ORDER BY temps LIMIT 5"); - }else{ - $query = $this->db->query("SELECT d.codeMembre AS emetteur, d.codeParrain AS superviseur, d.montant AS montant,d.dateAjout AS dateA,d.dateModif AS dateM,d.temps AS temps + }else{ + $query = $this->db->query("SELECT d.codeMembre AS emetteur, d.codeParrain AS superviseur, d.montant AS montant,d.dateAjout AS dateA,d.dateModif AS dateM,d.temps AS temps FROM info_demandeCredits AS d - WHERE statut=1 AND d.codeParrain='".$codeParrain."' + WHERE statut=1 AND d.codeParrain='".$codeParrain."' AND d.codeMembre='".$user_geo."' + AND d.dateAjout BETWEEN '".$debut."' AND '".$fin."' ORDER BY temps LIMIT 5"); - } + } - if($query->num_rows()>0){ - return $query; - }else{ - return false; - } + if($query->num_rows()>0){ + return $query; + }else{ + return false; + } - } + } public function getRangeASCDemandesOut($codeParrain){ @@ -574,10 +589,10 @@ class User_model extends CI_Model } - public function getRangeDESCDemandes($codeParrain){ + public function getRangeDESCDemandes($user_geo, $debut, $fin, $codeParrain){ - if($codeParrain=='all'){ - $query = $this->db->query("SELECT d.codeMembre AS emetteur, d.codeParrain AS superviseur, d.montant AS montant,d.dateAjout AS dateA,d.dateModif AS dateM, + if($codeParrain=='all'){ + $query = $this->db->query("SELECT d.codeMembre AS emetteur, d.codeParrain AS superviseur, d.montant AS montant,d.dateAjout AS dateA,d.dateModif AS dateM, (SELECT TIMESTAMPDIFF(SECOND,dateAjout,dateModif) FROM demande_credit AS req_im WHERE req_im.statut=1 AND req_im.id=d.id) AS temps @@ -585,21 +600,22 @@ class User_model extends CI_Model WHERE statut=1 ORDER BY temps DESC LIMIT 5"); - }else{ - $query = $this->db->query("SELECT d.codeMembre AS emetteur, d.codeParrain AS superviseur, d.montant AS montant,d.dateAjout AS dateA,d.dateModif AS dateM,d.temps AS temps + }else{ + $query = $this->db->query("SELECT d.codeMembre AS emetteur, d.codeParrain AS superviseur, d.montant AS montant,d.dateAjout AS dateA,d.dateModif AS dateM,d.temps AS temps FROM info_demandeCredits AS d - WHERE statut=1 AND d.codeParrain='".$codeParrain."' + WHERE statut=1 AND d.codeParrain='".$codeParrain."' AND d.codeMembre='".$user_geo."' + AND d.dateAjout BETWEEN '".$debut."' AND '".$fin."' ORDER BY temps DESC LIMIT 5"); - } + } - if($query->num_rows()>0){ - return $query; - }else{ - return false; - } + if($query->num_rows()>0){ + return $query; + }else{ + return false; + } - } + } public function getRangeDESCDemandesOut($codeParrain){ @@ -676,21 +692,25 @@ class User_model extends CI_Model } - public function getTempsMoyen($codeParrain){ + public function getTempsMoyen($user_geo, $debut, $fin, $codeParrain){ - if($codeParrain=='all'){ - $query = $this->db->query("SELECT AVG(TIMESTAMPDIFF(SECOND,dateAjout,dateModif)) AS temps FROM demande_credit WHERE statut=1"); - }else{ - $query = $this->db->query("SELECT AVG(temps) AS temps FROM info_demandeCredits WHERE statut=1 AND codeParrain='".$codeParrain."'"); - } + if($codeParrain=='all'){ + $query = $this->db->query("SELECT AVG(TIMESTAMPDIFF(SECOND,dateAjout,dateModif)) AS temps FROM demande_credit WHERE statut=1"); + }else{ + $query = $this->db->query("SELECT AVG(temps) AS temps + FROM info_demandeCredits + WHERE statut=1 AND codeParrain='".$codeParrain."' + AND codeMembre='".$user_geo."' + AND dateAjout BETWEEN '".$debut."' AND '".$fin."'"); + } - if($query->num_rows()>0){ - return $query->row()->temps; - }else{ - return false; - } + if($query->num_rows()>0){ + return $query->row()->temps; + }else{ + return false; + } - } + } public function getTempsMoyenDemandeSup($codeParrain){ @@ -2007,6 +2027,31 @@ class User_model extends CI_Model 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(){ diff --git a/application/views/demande.php b/application/views/demande.php index 892eb033..4732bef8 100644 --- a/application/views/demande.php +++ b/application/views/demande.php @@ -96,7 +96,7 @@ ?> Période - + diff --git a/application/views/header_sup.php b/application/views/header_sup.php index 66943bdf..3da7e495 100644 --- a/application/views/header_sup.php +++ b/application/views/header_sup.php @@ -1,136 +1,237 @@ -
- - -