2517 lines
84 KiB
PHP
Executable File
2517 lines
84 KiB
PHP
Executable File
<?php
|
|
defined('BASEPATH') or exit('No direct script access allowed');
|
|
|
|
use Spatie\Async\Pool;
|
|
|
|
class Gestion extends CI_Controller
|
|
{
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('wallet_model');
|
|
$this->load->model('nano_credit_model');
|
|
$this->load->model('nano_health_model');
|
|
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
|
|
|
|
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 {
|
|
|
|
$ville = $this->session->userdata('current_ville');
|
|
$hyper = $this->session->userdata('current_hyper');
|
|
$pays = $this->session->userdata('current_pays');
|
|
|
|
|
|
$data['list_villes'] = $this->user_model->getAllVilles();
|
|
$data['pays'] = $this->user_model->getAllPays();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['alert'] = "";
|
|
$data['active'] = "villes";
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_villes');
|
|
$this->load->view('footer');
|
|
}
|
|
|
|
}
|
|
|
|
public function activer()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$villes = $this->input->post('villes');
|
|
$max = sizeof($villes);
|
|
$number_success = 0;
|
|
for ($i = 0; $i < $max; $i++) {
|
|
$res = $this->user_model->changeVilleStatut($villes[$i], 1);
|
|
if ($res == true) {
|
|
$number_success++;
|
|
}
|
|
}
|
|
if ($number_success == $max) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function update()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$id_country = $this->input->post('id_country');
|
|
$id_town = $this->input->post('id_town');
|
|
$town = $this->input->post('town');
|
|
|
|
$res = $this->user_model->updateVille($id_country, $id_town, $town);
|
|
|
|
if ($res == true) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function activer_desactiver()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$aVilles = $this->input->post('aVilles');
|
|
$maxA = sizeof($aVilles);
|
|
$number_successA = 0;
|
|
|
|
$dVilles = $this->input->post('dVilles');
|
|
$maxD = sizeof($dVilles);
|
|
$number_successD = 0;
|
|
|
|
$this->db->trans_begin();
|
|
for ($i = 0; $i < $maxD; $i++) {
|
|
$res = $this->user_model->changeVilleStatut($dVilles[$i], 0);
|
|
if ($res == true) {
|
|
$number_successD++;
|
|
}
|
|
}
|
|
for ($i = 0; $i < $maxA; $i++) {
|
|
$res = $this->user_model->changeVilleStatut($aVilles[$i], 1);
|
|
if ($res == true) {
|
|
$number_successA++;
|
|
}
|
|
}
|
|
|
|
if ($this->db->trans_status() === FALSE) {
|
|
$this->db->trans_rollback();
|
|
echo json_encode("error");
|
|
} else {
|
|
$this->db->trans_commit();
|
|
echo json_encode("completed");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function desactiver()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$villes = $this->input->post('villes');
|
|
$max = sizeof($villes);
|
|
$number_success = 0;
|
|
for ($i = 0; $i < $max; $i++) {
|
|
$res = $this->user_model->changeVilleStatut($villes[$i], 0);
|
|
if ($res == true) {
|
|
$number_success++;
|
|
}
|
|
}
|
|
if ($number_success == $max) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function suppress()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$villes = $this->input->post('ville');
|
|
$res = $this->user_model->deleteVille($villes);
|
|
|
|
if ($res = true) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function ajout()
|
|
{
|
|
if ($this->input->post('pays') && $this->input->post('ville')) {
|
|
|
|
$ville = $this->input->post('ville');
|
|
$id_pays = $this->input->post('pays');
|
|
$stat = 0;
|
|
|
|
|
|
$data = array('name' => $ville, 'country_id' => $id_pays, 'status' => $stat);
|
|
|
|
$query = $this->db->insert('towns', $data);
|
|
|
|
if ($query) {
|
|
|
|
$data['alert'] = "ok";
|
|
$data['success'] = "ok";
|
|
$data['message'] = "La ville " . $ville . " a bien été ajouté!";
|
|
$data['active'] = "villes";
|
|
|
|
$data['list_villes'] = $this->user_model->getAllVilles();
|
|
$data['pays'] = $this->user_model->getAllPays();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_villes');
|
|
$this->load->view('footer');
|
|
} else {
|
|
|
|
$data['alert'] = "ok";
|
|
$data['success'] = "error";
|
|
$data['message'] = "Une erreur s'est produite";
|
|
$data['active'] = "villes";
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
|
|
$data['list_villes'] = $this->user_model->getAllVilles();
|
|
$data['pays'] = $this->user_model->getAllPays();
|
|
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_villes');
|
|
$this->load->view('footer');
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public function networks()
|
|
{
|
|
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 {
|
|
|
|
$ville = $this->session->userdata('current_ville');
|
|
$hyper = $this->session->userdata('current_hyper');
|
|
$pays = $this->session->userdata('current_pays');
|
|
|
|
// $data['list_villes'] = $this->user_model->getAllVilles();
|
|
$data['pays'] = $this->user_model->getAllCountries();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['alert'] = "";
|
|
$data['active'] = "networks";
|
|
$data['networks'] = $this->user_model->getAllNetworksNames();
|
|
$data['assigned_networks'] = $this->user_model->getAllAssignedNetworks();
|
|
//wallet
|
|
// $data['networks'] = $this->user_model->getActiveNetwork();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_networks');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
public function creat_network()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$network = $this->input->post('new_network');
|
|
|
|
$data = array('name' => $network);
|
|
|
|
$query = $this->db->insert('networks', $data);
|
|
|
|
if ($query) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function assignation()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$network = $this->input->post('network');
|
|
$existe = 0;
|
|
$this->db->trans_begin();
|
|
foreach ($_POST['id_country'] as $country) {
|
|
$res = $this->user_model->checkIfAssignationExiste($country, $network);
|
|
|
|
if ($res == false) {
|
|
$data = array('country_id' => $country, 'name' => $network);
|
|
$this->db->insert('networks', $data);
|
|
|
|
} else {
|
|
$existe = $existe + 1;
|
|
}
|
|
|
|
}
|
|
if ($this->db->trans_status() === FALSE) {
|
|
$this->db->trans_rollback();
|
|
echo json_encode("error");
|
|
} elseif ($existe > 0) {
|
|
$this->db->trans_commit();
|
|
echo json_encode("existe");
|
|
} else {
|
|
$this->db->trans_commit();
|
|
echo json_encode("completed");
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public function update_network()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$old_network = $this->input->post('old_name');
|
|
$new_network = $this->input->post('new_network');
|
|
$open_wallet_at_mobile_login = $this->input->post('open_wallet_at_mobile_login');
|
|
$id_network = $this->input->post('id_network');
|
|
|
|
$res = $this->user_model->updateNetwork($id_network ,$old_network, $new_network , $open_wallet_at_mobile_login);
|
|
|
|
if ($res) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function change_status_network()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$activations = $this->input->post('activations');
|
|
$desactivation = $this->input->post('desactivations');
|
|
|
|
$this->db->trans_begin();
|
|
if (!empty($_POST['activations'])) {
|
|
foreach ($_POST['activations'] as $network) {
|
|
|
|
$data = array('status' => 1);
|
|
$this->db->where('id', $network);
|
|
$this->db->update('networks', $data);
|
|
|
|
}
|
|
}
|
|
if (!empty($_POST['desactivations'])) {
|
|
foreach ($_POST['desactivations'] as $network) {
|
|
|
|
$data = array('status' => 0);
|
|
$this->db->where('id', $network);
|
|
$this->db->update('networks', $data);
|
|
|
|
}
|
|
}
|
|
if ($this->db->trans_status() === FALSE) {
|
|
$this->db->trans_rollback();
|
|
echo json_encode("error");
|
|
} else {
|
|
$this->db->trans_commit();
|
|
echo json_encode("completed");
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public function admin()
|
|
{
|
|
|
|
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 {
|
|
|
|
$ville = $this->session->userdata('current_ville');
|
|
$hyper = $this->session->userdata('current_hyper');
|
|
$pays = $this->session->userdata('current_pays');
|
|
|
|
$data['list_admin'] = $this->user_model->getAllAdmin();
|
|
$data['list_villes'] = $this->user_model->getAllVilles();
|
|
$data['pays'] = $this->user_model->getAllCountries();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['alert'] = "";
|
|
$data['active'] = "admin";
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_admin');
|
|
$this->load->view('footer');
|
|
}
|
|
|
|
}
|
|
|
|
public function create_admin()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$category = 1;
|
|
$firstname = $this->input->post('prenom');
|
|
$lastname = $this->input->post('nom');
|
|
$email = $this->input->post('email');
|
|
$emailExist = $this->user_model->isEmailExist($email);
|
|
if ($emailExist == false) {
|
|
$phone = $this->input->post('contact');
|
|
$phoneExist = $this->user_model->isPhoneExist($phone);
|
|
if ($phoneExist == false) {
|
|
$adresse = $this->input->post('adresse');
|
|
$country = $this->input->post('country');
|
|
$token = null;
|
|
do {
|
|
$token = bin2hex(openssl_random_pseudo_bytes(16));
|
|
$tokenExist = $this->user_model->getToken($token);
|
|
} while ($tokenExist == true);
|
|
|
|
$data = array('firstname' => $firstname, 'lastname' => $lastname, 'email' => $email, 'phone' => $phone, 'adresse' => $adresse, 'country' => $country, 'category' => $category, 'token' => $token);
|
|
|
|
$query = $this->db->insert('admin', $data);
|
|
|
|
if ($query) {
|
|
|
|
$link = base_url("Admin_password/?token=" . $token);
|
|
$this->load->library('email');
|
|
|
|
$this->email->from('noreply@ilink-app.com', 'iLink World');
|
|
$this->email->to($email);
|
|
|
|
$this->email->subject($this->lang->line("Confirmation de création d'un compte administrateur"));
|
|
$this->email->message($firstname . ' ' . $lastname . ' ' . $this->lang->line("votre compte administrateur a bien été créé. Veuillez suivre ce lien pour configurer votre mot de passe.") . ' ' . $link);
|
|
|
|
$this->email->send();
|
|
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode($this->lang->line("Une erreur s'est produite"));
|
|
}
|
|
} else {
|
|
echo json_encode($this->lang->line("Le numéro de téléphone entré est déjà utilisé"));
|
|
}
|
|
} else {
|
|
echo json_encode($this->lang->line("L'email entré est déjà utilisé"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function modif_admin()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$id = $this->input->post('id');
|
|
$firstname = $this->input->post('prenom');
|
|
$lastname = $this->input->post('nom');
|
|
$email = $this->input->post('email');
|
|
$phone = $this->input->post('contact');
|
|
$adresse = $this->input->post('adresse');
|
|
$country = $this->input->post('country');
|
|
$category = $this->input->post('category');
|
|
|
|
$res = $this->user_model->updateAdmin($id, $firstname, $lastname, $email, $phone, $adresse, $country, $category);
|
|
|
|
if ($res) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode($this->lang->line("Une erreur s'est produite"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function delete_admin()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$id = $this->input->post('id');
|
|
|
|
$res = $this->user_model->deleteAdmin($id);
|
|
|
|
if ($res) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode($this->lang->line("Une erreur s'est produite"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function codes()
|
|
{
|
|
if ($this->isLogged()) {
|
|
$ville = $this->session->userdata('current_ville');
|
|
$hyper = $this->session->userdata('current_hyper');
|
|
$pays = $this->session->userdata('current_pays');
|
|
|
|
$data['list_villes'] = $this->user_model->getAllVilles();
|
|
$data['pays'] = $this->user_model->getAllPays();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['alert'] = "";
|
|
$data['active'] = "codes-hyper";
|
|
$data['list'] = $this->user_model->getGeneratedHyperCodes();
|
|
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('codeg');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
public function generateCode()
|
|
{
|
|
|
|
if ($this->input->post('c') && $this->input->post('a')) {
|
|
|
|
$number = intval($this->input->post('c'));
|
|
$member_code = $this->input->post('a');
|
|
if ($number > 0) {
|
|
for ($i = 0; $i < $number; $i++) {
|
|
|
|
|
|
$code = $this->randomString();
|
|
|
|
// $data = array('code_parrain' => $member_code, 'code_membre' => $code, 'etat' => 0, 'category' => 'hyper');
|
|
$data = array('code_parrain' => $code, 'code_membre' => $code, 'etat' => 0, 'category' => 'hyper');
|
|
|
|
|
|
$query = $this->db->insert('codeGenerer', $data);
|
|
|
|
}
|
|
}
|
|
$data['alert'] = "ok";
|
|
$data['success'] = "ok";
|
|
$data['message'] = "$number codes have been added!";
|
|
|
|
$data['pays'] = $this->user_model->getAllCountries();
|
|
$data['list'] = $this->user_model->getGeneratedHyperCodes();
|
|
$data['active'] = "codes-hyper";
|
|
$data['pays'] = $this->user_model->getAllCountries();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('codeg');
|
|
$this->load->view('footer');
|
|
|
|
} else {
|
|
$data['alert'] = "ok";
|
|
$data['success'] = "";
|
|
$data['active'] = "members";
|
|
$data['message'] = "Can't add codes!";
|
|
|
|
$ville = $this->session->userdata('current_ville');
|
|
$hyper = $this->session->userdata('current_hyper');
|
|
$pays = $this->session->userdata('current_pays');
|
|
|
|
$data['pays'] = $this->user_model->getAllCountries();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['hyper'] = $this->user_model->getAllHyper($data['pays']->first_row()->id);
|
|
$data['ville'] = $this->user_model->getVilleNetworkByHyper($data['hyper']->first_row()->code_membre);
|
|
$data['list'] = $this->user_model->getGeneratedHyperCodes();
|
|
$data['active'] = "codes";
|
|
$data['pays'] = $this->user_model->getAllCountries();
|
|
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('codeg');
|
|
$this->load->view('footer');
|
|
}
|
|
|
|
}
|
|
|
|
private function randomString($length = 10)
|
|
{
|
|
do {
|
|
$str = "";
|
|
$characters = array_merge(range('A', 'Z'), range('a', 'z'), range('0', '9'));
|
|
$max = count($characters) - 1;
|
|
for ($i = 0; $i < $length; $i++) {
|
|
$rand = mt_rand(0, $max);
|
|
$str .= $characters[$rand];
|
|
}
|
|
$q = $this->db->get_where('codeGenerer', ['code_membre' => $str]);
|
|
} while ($q->num_rows() != 0);
|
|
|
|
return $str;
|
|
}
|
|
|
|
public function geolocalisation()
|
|
{
|
|
|
|
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['pays'] = $this->user_model->getAllCountries();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['villes'] = $this->user_model->getVillesByPays($data['pays']->first_row()->id);
|
|
$data['active_ville_name'] = $data['villes']->first_row()->name;
|
|
$data['active_ville_id'] = $data['villes']->first_row()->id;
|
|
$data['agent'] = $this->user_model->getAgentsFromCountry($data['pays']->first_row()->id);
|
|
$data['networks'] = $this->user_model->getNetworks($data['pays']->first_row()->id);
|
|
$data['current_agent'] = $data['agent'] ? $data['agent']->first_row()->lastname : null;
|
|
$data['alert'] = "";
|
|
$data['active'] = "geoloc";
|
|
$number_geolocalisation = array();
|
|
$network_geolocalisation = array();
|
|
$count = 0;
|
|
|
|
if ($data['networks']) {
|
|
foreach ($data['networks']->result() as $row) {
|
|
$number_geolocalisation[$count] = $this->user_model->getPointGeolocalised($row->id, $data['current_agent']);
|
|
$network_geolocalisation[$count] = $row->name;
|
|
$count++;
|
|
}
|
|
}
|
|
$data["number_geolocalisation"] = $number_geolocalisation;
|
|
$data["network_geolocalisation"] = $network_geolocalisation;
|
|
$data["total"] = $count;
|
|
$data['assigned_networks'] = $this->user_model->getAllAssignedNetworks();
|
|
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_geolocalisation');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
public function infos_geolocalisation()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$pays = $this->input->post('pays');
|
|
$ville = $this->input->post('ville');
|
|
$lastname = $this->input->post('agent');
|
|
|
|
|
|
$data['pays'] = $this->user_model->getAllCountries();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['villes'] = $this->user_model->getVillesByPays($data['pays']->first_row()->id);
|
|
$data['active_ville_name'] = $data['villes']->first_row()->name;
|
|
$data['active_ville_id'] = $data['villes']->first_row()->id;
|
|
$data['agent'] = $this->user_model->getAgentsFromCountry($data['pays']->first_row()->id);
|
|
$data['networks'] = $this->user_model->getNetworks($pays);
|
|
$data['alert'] = "";
|
|
$data['active'] = "geoloc";
|
|
$number_geolocalisation = array();
|
|
$network_geolocalisation = array();
|
|
$count = 0;
|
|
|
|
if ($data['networks']) {
|
|
foreach ($data['networks']->result() as $row) {
|
|
$number_geolocalisation[$count] = $this->user_model->getPointGeolocalised($row->id, $lastname);
|
|
$network_geolocalisation[$count] = $row->name;
|
|
$count++;
|
|
}
|
|
}
|
|
$data['current_agent'] = $lastname;
|
|
$data["number_geolocalisation"] = $number_geolocalisation;
|
|
$data["network_geolocalisation"] = $network_geolocalisation;
|
|
$data["total"] = $count;
|
|
$data['assigned_networks'] = $this->user_model->getAllAssignedNetworks();
|
|
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_geolocalisation');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function getVilleByPays()
|
|
{
|
|
|
|
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 {
|
|
|
|
if ($this->input->is_ajax_request()) {
|
|
$ajaxhyp = $this->user_model->getVillesByPays($this->input->post('pays'));
|
|
echo json_encode($ajaxhyp->result_array());
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public function getAgentByVilles()
|
|
{
|
|
|
|
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 {
|
|
|
|
if ($this->input->is_ajax_request()) {
|
|
$ajaxhyp = $this->user_model->getAgentsFromCountry($this->input->post('id_country'));
|
|
echo json_encode($ajaxhyp->result_array());
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public function campagne()
|
|
{
|
|
|
|
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 {
|
|
|
|
$ville = $this->session->userdata('current_ville');
|
|
$hyper = $this->session->userdata('current_hyper');
|
|
$pays = $this->session->userdata('current_pays');
|
|
|
|
$debut = date('Y-m-d H:i:s', strtotime($this->user_model->getMostOldDateCreationAgent()));
|
|
$fin = date("Y-m-d H:i:s");
|
|
$data['pays'] = $this->user_model->getAllCountries();
|
|
$pays = $data['pays']->first_row()->id;
|
|
if (!empty($_POST)) {
|
|
$debut = $this->input->post('date-debut');
|
|
$fin = $this->input->post('date-fin');
|
|
$pays = $this->input->post('pays');
|
|
}
|
|
|
|
$data['debut'] = $debut;
|
|
$data['fin'] = $fin;
|
|
$data['villes'] = $this->user_model->getVillesByPays($data['pays']->first_row()->id);
|
|
$data['active_ville_name'] = $data['villes']->first_row()->name;
|
|
$data['active_ville_id'] = $data['villes']->first_row()->id;
|
|
$data['agent'] = $this->user_model->getAgentsFromCountry($pays);
|
|
$data['networks'] = $this->user_model->getNetworks($pays);
|
|
$data['alert'] = "";
|
|
$data['active'] = "campagne";
|
|
$agent[][] = null;
|
|
$geo_correct[][] = null;
|
|
$number_geolocalisation [][] = null;
|
|
$network_geolocalisation [][] = null;
|
|
$number_correct [][] = null;
|
|
$count = 0;
|
|
$countA = 0;
|
|
$total = 0;
|
|
$network_count = 0;
|
|
$total_physique = 0;
|
|
$contact_correct = 0;
|
|
|
|
$networks_compte[] = null;
|
|
$networks_name[] = null;
|
|
|
|
if ($data['agent']) {
|
|
foreach ($data['agent']->result() as $row1) {
|
|
if (!strstr($row1->lastname, "Super -") and !strstr($row1->lastname, "Airtel")) {
|
|
$totalGeo = 0;
|
|
$totalGeoCorrect = 0;
|
|
$agent[$countA][0] = $row1->lastname;
|
|
foreach ($data['networks']->result() as $row2) {
|
|
$number_geolocalisation [$countA][$count] = $this->user_model->getPointGeolocalisedByDate($row2->id, $row1->lastname, $debut, $fin);
|
|
$number_correct [$countA][$count] = $this->user_model->getCorrectPointGeolocalisedByDate($row2->id, $row1->lastname, $debut, $fin);
|
|
$network_geolocalisation [$countA][$count] = $row2->name;
|
|
$totalGeo = $totalGeo + $number_geolocalisation [$countA][$count];
|
|
$totalGeoCorrect = $totalGeoCorrect + $number_correct [$countA][$count];
|
|
$count++;
|
|
}
|
|
$agent[$countA][1] = $totalGeo;
|
|
$agent[$countA][2] = $this->user_model->getPhysicalPointBySupervisor($debut, $fin, $row1->lastname);
|
|
$total_physique = $total_physique + $agent[$countA][2];
|
|
$geo_correct [$countA][1] = $totalGeoCorrect;
|
|
$total = $total + $totalGeo;
|
|
$contact_correct = $contact_correct + $totalGeoCorrect;
|
|
$countA++;
|
|
}
|
|
}
|
|
}
|
|
|
|
foreach ($data['networks']->result() as $row) {
|
|
$networks_compte[$network_count] = $this->user_model->getPointGeolocalisedByNetwork($row->id, $debut, $fin);
|
|
$networks_name[$network_count] = $row->name;
|
|
$network_count++;
|
|
}
|
|
$data["networks_compte"] = $networks_compte;
|
|
$data["networks_name"] = $networks_name;
|
|
$data["network_count"] = $network_count;
|
|
$data["total_physique"] = $total_physique;
|
|
$data['geo_correct'] = $geo_correct;
|
|
$data['contact_correct'] = $total;
|
|
if ($pays == 78) {
|
|
$data['contact_correct'] = $contact_correct;
|
|
}
|
|
$data["agents"] = $agent;
|
|
$data["total_points"] = $total;
|
|
$data["countA"] = $countA;
|
|
$data['current_agent'] = $data['agent'] ? $data['agent']->first_row()->lastname : null;
|
|
$data["number_geolocalisation"] = $number_geolocalisation;
|
|
$data["network_geolocalisation"] = $network_geolocalisation;
|
|
$data["total"] = $count;
|
|
$data['assigned_networks'] = $this->user_model->getAllAssignedNetworks();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_campagne');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
public function redirect_info_agent()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_GET)) {
|
|
$lastname = $this->input->get('agent');
|
|
$debut = $this->input->get('debut');
|
|
$fin = $this->input->get('fin');
|
|
$id_country = $this->user_model->getAgentNetwork($lastname);
|
|
|
|
$data['pays'] = $this->user_model->getAllCountries();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['villes'] = $this->user_model->getVillesByPays($data['pays']->first_row()->id);
|
|
$data['active_ville_name'] = $data['villes']->first_row()->name;
|
|
$data['active_ville_id'] = $data['villes']->first_row()->id;
|
|
$data['agent'] = $this->user_model->getAgentsFromCountry($data['pays']->first_row()->id);
|
|
$data['networks'] = $this->user_model->getNetworks($id_country);
|
|
$data['alert'] = "";
|
|
$data['active'] = "geoloc";
|
|
$number_geolocalisation = array();
|
|
$network_geolocalisation = array();
|
|
$count = 0;
|
|
|
|
foreach ($data['networks']->result() as $row) {
|
|
$number_geolocalisation[$count] = $this->user_model->getPointGeolocalisedByDate($row->id, $lastname, $debut, $fin);
|
|
$network_geolocalisation[$count] = $row->name;
|
|
$count++;
|
|
}
|
|
$data['current_agent'] = $lastname;
|
|
$data["number_geolocalisation"] = $number_geolocalisation;
|
|
$data["network_geolocalisation"] = $network_geolocalisation;
|
|
$data["total"] = $count;
|
|
$data['assigned_networks'] = $this->user_model->getAllAssignedNetworks();
|
|
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_geolocalisation');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function map()
|
|
{
|
|
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['positions'] = $this->user_model->getAllpositionsForWorld();
|
|
$data['latitude'] = 0;
|
|
$data['longitude'] = 0;
|
|
$data['lastname'] = $this->session->userdata('lastname');
|
|
$data['active'] = "map";
|
|
$data['code_parrain'] = $this->session->userdata('code_parrain');
|
|
$data['alert'] = "";
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_map');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
public function game()
|
|
{
|
|
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 {
|
|
$pays = 1;
|
|
if (!empty($_POST)) {
|
|
$pays = $this->input->post('pays');
|
|
$pays_name = $this->user_model->getNameCountry($pays);
|
|
$this->session->set_userdata('current_game_country', $pays);
|
|
$this->session->set_userdata('current_game_country_name', $pays_name);
|
|
} elseif (!empty($this->session->userdata('current_game_country'))) {
|
|
$pays = $this->session->userdata('current_game_country');
|
|
$pays_name = $this->session->userdata('current_game_country_name');
|
|
}
|
|
$max = 999999;
|
|
$data['paliers'] = $this->user_model->getPaliers();
|
|
$data['pays'] = $this->user_model->getAllGameCountries();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['q1'] = $this->user_model->getQuota(1);
|
|
$data['q2'] = $this->user_model->getQuota(2);
|
|
$data['q3'] = $this->user_model->getQuota(3);
|
|
$data['q4'] = $this->user_model->getQuota(4);
|
|
$data['list'] = $this->user_model->getMembers($pays, $data['q1']);
|
|
$data['quota1'] = $this->user_model->getCoutForQuota($pays, $data['q1'], $data['q2']);
|
|
$data['quota2'] = $this->user_model->getCoutForQuota($pays, $data['q2'], $data['q3']);
|
|
$data['quota3'] = $this->user_model->getCoutForQuota($pays, $data['q3'], $data['q4']);
|
|
$data['quota4'] = $this->user_model->getCoutForQuota($pays, $data['q4'], $max);
|
|
$data['lastname'] = $this->session->userdata('lastname');
|
|
$data['active'] = "game";
|
|
$data['code_parrain'] = $this->session->userdata('code_parrain');
|
|
$data['alert'] = "";
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('game');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
public function activerGame()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$pays = $this->input->post('pays');
|
|
$max = sizeof($pays);
|
|
$number_success = 0;
|
|
for ($i = 0; $i < $max; $i++) {
|
|
$checkContryExist = $this->user_model->checkCountryGameExist($pays[$i]);
|
|
if ($checkContryExist == true) {
|
|
$res = $this->user_model->activeGameOnCountry($pays[$i], 1);
|
|
} else {
|
|
$add = $this->user_model->addContryToGame($pays[$i]);
|
|
if ($add == true) {
|
|
$res = $this->user_model->activeGameOnCountry($pays[$i], 1);
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
if ($res == true) {
|
|
$number_success++;
|
|
}
|
|
}
|
|
if ($number_success == $max) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function desactiverGame()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$pays = $this->input->post('pays');
|
|
$max = sizeof($pays);
|
|
$number_success = 0;
|
|
for ($i = 0; $i < $max; $i++) {
|
|
$res = $this->user_model->activeGameOnCountry($pays[$i], 0);
|
|
if ($res == true) {
|
|
$number_success++;
|
|
}
|
|
}
|
|
if ($number_success == $max) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function activer_desactiverGame()
|
|
{
|
|
|
|
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 {
|
|
|
|
if (isset($_POST)) {
|
|
$apays = $this->input->post('apays');
|
|
$maxA = sizeof($apays);
|
|
$number_successA = 0;
|
|
|
|
$dpays = $this->input->post('dpays');
|
|
$maxD = sizeof($dpays);
|
|
$number_successD = 0;
|
|
|
|
$this->db->trans_begin();
|
|
for ($i = 0; $i < $maxD; $i++) {
|
|
$res = $this->user_model->activeGameOnCountry($dpays[$i], 0);
|
|
if ($res == true) {
|
|
$number_successD++;
|
|
}
|
|
}
|
|
for ($i = 0; $i < $maxA; $i++) {
|
|
|
|
$checkContryExist = $this->user_model->checkCountryGameExist($apays[$i]);
|
|
if ($checkContryExist == true) {
|
|
$res = $this->user_model->activeGameOnCountry($apays[$i], 1);
|
|
} else {
|
|
$add = $this->user_model->addContryToGame($apays[$i]);
|
|
if ($add == true) {
|
|
$res = $this->user_model->activeGameOnCountry($apays[$i], 1);
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
if ($res == true) {
|
|
$number_successA++;
|
|
}
|
|
}
|
|
|
|
if ($this->db->trans_status() === FALSE) {
|
|
$this->db->trans_rollback();
|
|
echo json_encode("error");
|
|
} else {
|
|
$this->db->trans_commit();
|
|
echo json_encode("completed");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function modifierPalier()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$n1 = $this->input->post('n1');
|
|
$n2 = $this->input->post('n2');
|
|
$n3 = $this->input->post('n3');
|
|
$n4 = $this->input->post('n4');
|
|
$max = 4;
|
|
$number_success = 0;
|
|
|
|
$res1 = $this->user_model->modifPalier($n1, 1);
|
|
if ($res1 == true) {
|
|
$number_success++;
|
|
$res2 = $this->user_model->modifPalier($n2, 2);
|
|
if ($res2 == true) {
|
|
$number_success++;
|
|
$res3 = $this->user_model->modifPalier($n3, 3);
|
|
if ($res3) {
|
|
$number_success++;
|
|
$res4 = $this->user_model->modifPalier($n4, 4);
|
|
if ($res4 == true) {
|
|
$number_success++;
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
|
|
if ($number_success == $max) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function change_country()
|
|
{
|
|
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 {
|
|
|
|
if (isset($_POST)) {
|
|
$pays = $this->input->post('pays');
|
|
$pays_name = $this->user_model->getNameCountry($pays);
|
|
if ($pays_name) {
|
|
$this->session->set_userdata('current_game_country', $pays);
|
|
$this->session->set_userdata('current_game_country_name', $pays_name);
|
|
echo 1;
|
|
} else {
|
|
echo 0;
|
|
}
|
|
} else {
|
|
echo 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
public function recherche()
|
|
{
|
|
|
|
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 {
|
|
|
|
$ville = $this->session->userdata('current_ville');
|
|
$hyper = $this->session->userdata('current_hyper');
|
|
$pays = $this->session->userdata('current_pays');
|
|
|
|
$data['alert'] = "";
|
|
$data['active'] = "recherche";
|
|
$data['result_search'] = 0;
|
|
$data['default_phone'] = '';
|
|
$data['default_transac'] = '';
|
|
$data['default_code'] = '';
|
|
$data['default_nom'] = '';
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['networks'] = $this->user_model->getActiveNetwork();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_recherche');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
public function get_user()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
if (isset($_POST)) {
|
|
$nom = $this->input->post('nom');
|
|
|
|
$phone = $this->input->post('phone');
|
|
$simple_users = null;
|
|
if ($phone != '' && $nom != '') {
|
|
$phone_condition = "phone LIKE '" . $phone . "%'";
|
|
$nom_condition = "AND lastname LIKE '%" . $nom . "%'";
|
|
$simple_users = $this->user_model->get_simple_user($phone, $nom);
|
|
} elseif ($phone != '' && $nom == '') {
|
|
$phone_condition = "phone LIKE '" . $phone . "%'";
|
|
$nom_condition = 'AND lastname IS NOT NULL';
|
|
$simple_users = $this->user_model->get_simple_user($phone, '%');
|
|
} elseif ($phone == '' && $nom != '') {
|
|
$phone_condition = 'phone IS NOT NULL';
|
|
$nom_condition = "AND lastname LIKE '%" . $nom . "%'";
|
|
$simple_users = $this->user_model->get_simple_user('%', $nom);
|
|
} elseif ($phone == '' && $nom == '') {
|
|
$phone_condition = 'phone IS NOT NULL';
|
|
$nom_condition = 'AND lastname IS NOT NULL';
|
|
}
|
|
|
|
$transac = $this->input->post('transac');
|
|
if ($transac != '') {
|
|
$transac_condition = "AND transactionNumber LIKE'" . $transac . "%'";
|
|
} else {
|
|
$transac_condition = 'AND transactionNumber IS NOT NULL';
|
|
}
|
|
$code = $this->input->post('code');
|
|
if ($code != '') {
|
|
$code_condition = "AND code_membre = '" . $code . "'";
|
|
} else {
|
|
$code_condition = 'AND code_membre IS NOT NULL';
|
|
}
|
|
|
|
$where_clause = "WHERE " . $phone_condition . ' ' . $transac_condition . ' ' . $code_condition . ' ' . $nom_condition;
|
|
|
|
$res = $this->user_model->get_user($where_clause);
|
|
|
|
if ($res) {
|
|
$ville = $this->session->userdata('current_ville');
|
|
$hyper = $this->session->userdata('current_hyper');
|
|
$pays = $this->session->userdata('current_pays');
|
|
$count_users = $res->num_rows();
|
|
if ($simple_users != null) {
|
|
$count_users = $res->num_rows() + $simple_users->num_rows();
|
|
}
|
|
|
|
$data['alert'] = "";
|
|
$data['active'] = "recherche";
|
|
$data['result_search'] = 1;
|
|
$data['res_users'] = $res;
|
|
$data['res_simple_users'] = $simple_users;
|
|
$data['num_res'] = $count_users;
|
|
$data['default_phone'] = $phone;
|
|
$data['default_nom'] = $nom;
|
|
$data['default_transac'] = $transac;
|
|
$data['default_code'] = $code;
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['networks'] = $this->user_model->getActiveNetwork();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_recherche');
|
|
$this->load->view('footer');
|
|
} else {
|
|
$ville = $this->session->userdata('current_ville');
|
|
$hyper = $this->session->userdata('current_hyper');
|
|
$pays = $this->session->userdata('current_pays');
|
|
|
|
$data['alert'] = "";
|
|
$data['active'] = "recherche";
|
|
$data['result_search'] = 2;
|
|
$data['res_simple_users'] = $simple_users;
|
|
$data['default_phone'] = '';
|
|
$data['default_transac'] = '';
|
|
$data['default_code'] = '';
|
|
$data['default_nom'] = '';
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['networks'] = $this->user_model->getActiveNetwork();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_recherche');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function update_info_user()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id = $_POST['user_id'];
|
|
$phone = $_POST['contact'];
|
|
$adresse = $_POST['adresse'];
|
|
$email = $_POST['email'];
|
|
$nom = $_POST['nom'];
|
|
$res = $this->user_model->update_user_infos($nom, $adresse, $email, $phone, $id);
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
} else {
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public function update_info_geolocated()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id_agent = $_POST['user_id'];
|
|
$id_netAg = $_POST['id_netAg'];
|
|
$phone = $_POST['contact'];
|
|
$transac = $_POST['transac'];
|
|
$adresse = $_POST['adresse'];
|
|
$email = $_POST['email'];
|
|
$nom = $_POST['nom'];
|
|
if ($this->user_model->isAgentPhoneExist($id_netAg, $phone, $transac)) {
|
|
echo json_encode("400");
|
|
} else {
|
|
$res = $this->user_model->update_geolocated_infos($nom, $adresse, $email, $id_agent, $transac, $phone, $id_netAg);
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
} else {
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public function pub()
|
|
{
|
|
|
|
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['countries_list'] = $this->user_model->getPubCountries();
|
|
$data['active'] = "pub";
|
|
$data['alert'] = "";
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['networks'] = $this->user_model->getActiveNetwork();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_publicite');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
public function changePubState()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id_pub = $_POST['pub_id'];
|
|
$etat = $_POST['etat'];
|
|
if ($etat == 0) {
|
|
$res = $this->user_model->updateStatePub($id_pub, 1);
|
|
} elseif ($etat == 1) {
|
|
$res = $this->user_model->updateStatePub($id_pub, 0);
|
|
}
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
} else {
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public function addPubRow()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id_country = $_POST['country_id'];
|
|
$res = $this->user_model->createPubRow($id_country);
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//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 {
|
|
|
|
if ($this->input->get('id')) {
|
|
|
|
$network_id = $this->input->get('id');
|
|
if ($this->input->get('history')) {
|
|
$this->historique($network_id, $this->input->get('d'), $this->input->get('f'), $this->input->get('history'));
|
|
} else {
|
|
$taux = $this->user_model->getTaux($network_id);
|
|
$data['currency'] = $this->wallet_model->getCurrency($network_id);
|
|
if ($taux != null) {
|
|
$taux = $taux->first_row();
|
|
$data['idConfig'] = $taux->id;
|
|
$data['type'] = $taux->type;
|
|
if ($taux->type == 'visa') {
|
|
$data['taux_client_r'] = $taux->taux_com_client_retrait;
|
|
$data['taux_client_d'] = $taux->taux_com_client_depot;
|
|
$data['taux_ag_r'] = $taux->taux_com_ag_retrait;
|
|
$data['taux_ag_d'] = $taux->taux_com_ag_depot;
|
|
$data['taux_sup_r'] = $taux->taux_com_sup_retrait;
|
|
$data['taux_sup_d'] = $taux->taux_com_sup_depot;
|
|
$data['taux_bq_d'] = $taux->part_banque_depot;
|
|
$data['taux_bq_r'] = $taux->part_banque_retrait;
|
|
$data['frais_d'] = $taux->frais_min_banque_depot;
|
|
|
|
$data['transactions'] = $this->user_model->getTransactions(null, null, $network_id);
|
|
$totalCommissionBanque = 0;
|
|
if ($data['transactions']) {
|
|
foreach ($data['transactions']->result() as $row) {
|
|
$totalCommissionBanque += $row->commission_banque;
|
|
}
|
|
}
|
|
$data['totalCommissionBanque'] = $totalCommissionBanque;
|
|
|
|
} elseif ($taux->type == 'ilink') {
|
|
$data['plr_user_wallet_wallet'] = $this->wallet_model->getPalierConfigWallet("user_wallet_wallet_international", $data['idConfig']);
|
|
$data['plr_user_wallet_cash'] = $this->wallet_model->getPalierConfigWallet("user_wallet_cash_international", $data['idConfig']);
|
|
$data['plr_agent_depot_wallet_ilink'] = $this->wallet_model->getPalierConfigWallet("agent_depot_wallet_ilink_international", $data['idConfig']);
|
|
$data['plr_agent_depot_autre_wallet'] = $this->wallet_model->getPalierConfigWallet("agent_depot_autre_wallet_international", $data['idConfig']);
|
|
$data['plr_agent_cash_cash'] = $this->wallet_model->getPalierConfigWallet("agent_cash_cash_international", $data['idConfig']);
|
|
|
|
$data['plr_user_wallet_wallet_national'] = $this->wallet_model->getPalierConfigWallet("user_wallet_wallet_national", $data['idConfig']);
|
|
$data['plr_user_wallet_cash_national'] = $this->wallet_model->getPalierConfigWallet("user_wallet_cash_national", $data['idConfig']);
|
|
$data['plr_agent_depot_wallet_ilink_national'] = $this->wallet_model->getPalierConfigWallet("agent_depot_wallet_ilink_national", $data['idConfig']);
|
|
$data['plr_agent_depot_autre_wallet_national'] = $this->wallet_model->getPalierConfigWallet("agent_depot_autre_wallet_national", $data['idConfig']);
|
|
$data['plr_agent_cash_cash_national'] = $this->wallet_model->getPalierConfigWallet("agent_cash_cash_national", $data['idConfig']);
|
|
|
|
$data['taxes'] = $this->wallet_model->getTaxes($data['idConfig']);
|
|
|
|
$data['taux_u_w_cart'] = $taux->taux_com_user_wallet_carte;
|
|
$data['taux_u_c_w'] = $taux->taux_com_user_carte_wallet;
|
|
$data['taux_u_c_c'] = $taux->taux_com_user_carte_cash;
|
|
$data['taux_ag_d_c_c'] = $taux->taux_com_wallet_ag_envoi_cash_carte;
|
|
$data['taux_ag_cart_c'] = $taux->taux_com_wallet_ag_carte_cash;
|
|
$data['taux_ag_cash_c'] = $taux->taux_com_wallet_ag_depot_carte;
|
|
$data['taux_ag_s_c'] = $taux->taux_com_ag_envoi_cash;
|
|
$data['taux_sup_s_c'] = $taux->taux_com_sup_envoi_cash;
|
|
$data['taux_hyp_s_c'] = $taux->taux_com_hyp_envoi_cash;
|
|
$data['taux_ag_r_c'] = $taux->taux_com_ag_retrait_cash;
|
|
$data['taux_sup_r_c'] = $taux->taux_com_sup_retrait_cash;
|
|
$data['taux_hyp_r_c'] = $taux->taux_com_hyp_retrait_cash;
|
|
$data['taux_ag_d_c'] = $taux->taux_com_ag_depot_cash_carte;
|
|
$data['taux_sup_d_c'] = $taux->taux_com_sup_depot_cash_carte;
|
|
$data['taux_hyp_d_c'] = $taux->taux_com_hyp_depot_cash_carte;
|
|
$data['taux_bq_d_c'] = $taux->taux_com_banque_depot_cash_carte;
|
|
$data['taux_ag_r_cart'] = $taux->taux_com_ag_retrait_carte_cash;
|
|
$data['taux_sup_r_cart'] = $taux->taux_com_sup_retrait_carte_cash;
|
|
$data['taux_hyp_r_cart'] = $taux->taux_com_hyp_retrait_carte_cash;
|
|
$data['taux_bq_r_cart'] = $taux->taux_com_banque_retrait_carte_cash;
|
|
$data['taux_hyp_r_cart_ilink'] = $taux->taux_com_hyp_retrait_carte_cash_ilink;
|
|
$data['taux_bq_r_cart_ilink'] = $taux->taux_com_banque_retrait_carte_cash_ilink;
|
|
|
|
$data['transactions'] = $this->wallet_model->getNetworkIlinTransactions($network_id);
|
|
$totalCommissionBanque = 0;
|
|
if ($data['transactions']) {
|
|
foreach ($data['transactions']->result() as $trans) {
|
|
$totalCommissionBanque += $trans->commission_banque;
|
|
}
|
|
}
|
|
$data["totalCommissionBanque"] = $totalCommissionBanque;
|
|
|
|
} elseif ($taux->type == 'autre') {
|
|
$res = $this->wallet_model->getSharingRateByNetwork($network_id);
|
|
$data['commission'] = $res ? $res->first_row()->balance_com : 0;
|
|
} elseif ($taux->type == 'ilink_sante') {
|
|
$nh_config = $this->nano_health_model->getConfig($network_id);
|
|
$data['nh_config'] = $nh_config ? $nh_config->first_row() : null;
|
|
$data['config_id'] = $data['nh_config'] ? $data['nh_config']->id : null;
|
|
$data['years_prices_grid'] = $this->nano_health_model->getConfigYearsPricesGrid($data['config_id']);
|
|
$data['months_prices_grid'] = $this->nano_health_model->getConfigMonthsPricesGrid($data['config_id']);
|
|
$data['acts'] = $this->nano_health_model->getConfigActs($data['config_id']);
|
|
}
|
|
|
|
|
|
$hyper = $this->wallet_model->getNetworkHyper($network_id);
|
|
if($hyper !== true && $hyper){
|
|
$hyper = $hyper->first_row();
|
|
$data['walletHyper'] = $this->wallet_model->getWallet($hyper->agent_id);
|
|
}else{
|
|
$data['walletHyper'] = null;
|
|
}
|
|
|
|
$data['network_id'] = $network_id;
|
|
$networkDetails = $this->user_model->getNetworkDetails($network_id);
|
|
if ($networkDetails) {
|
|
$data['network'] = $networkDetails->first_row()->network;
|
|
$data['country'] = $networkDetails->first_row()->country;
|
|
}
|
|
//$data['agentWalletInfos'] = $this->user_model->getInfosWalletAgentForHyper($network_id);
|
|
$data['active'] = "wallet";
|
|
$data['alert'] = "";
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['networks'] = $this->user_model->getActiveNetwork();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
if ($taux->type == 'visa')
|
|
$this->load->view('gestion_wallet');
|
|
elseif ($taux->type == 'ilink')
|
|
$this->load->view('gestion_wallet_ilink');
|
|
elseif ($taux->type == 'ilink_sante')
|
|
$this->load->view('nano_health/admin/gestion_wallet');
|
|
elseif ($taux->type == 'autre')
|
|
$this->load->view('gestion_wallet_autre');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
$data['active'] = "wallet";
|
|
$data['alert'] = "";
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['networks'] = $this->wallet_model->getAllActivatedNetworks();
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_wallets');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function config_wallet($method = 'create')
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$type = $_POST['type'];
|
|
|
|
$this->db->trans_begin();
|
|
|
|
if ($method == 'create') {
|
|
$country_id = $_POST['country_id'];
|
|
$network_id = $_POST['network_id'];
|
|
|
|
if ($type == 'ilink') {
|
|
$exist = $this->wallet_model->verifyConfigWalletInCountry($type, $country_id);
|
|
if ($exist) {
|
|
echo json_encode("403");
|
|
return;
|
|
}
|
|
}
|
|
$res = $this->wallet_model->addConfigWallet($network_id, $type);
|
|
|
|
} else if ($method == 'update') {
|
|
|
|
$idConfig = $_POST['id_config'];
|
|
|
|
if ($type == 'visa') {
|
|
$taux_client_r = $_POST['taux_client_r'];
|
|
$taux_client_d = $_POST['taux_client_d'];
|
|
$taux_ag_d = $_POST['taux_ag_d'];
|
|
$taux_ag_r = $_POST['taux_ag_r'];
|
|
$taux_sup_d = $_POST['taux_sup_d'];
|
|
$taux_sup_r = $_POST['taux_sup_r'];
|
|
$taux_bq_d = $_POST['taux_bq_d'];
|
|
$taux_bq_r = $_POST['taux_bq_r'];
|
|
$frais_d = $_POST['frais_d'];
|
|
|
|
$res = $this->wallet_model->updateConfigWallet($idConfig, $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);
|
|
|
|
} else if ($type == 'ilink') {
|
|
|
|
$config = $_POST['config'];
|
|
$fields = isset($_POST['fields']) ? $_POST['fields'] : [];
|
|
|
|
$rows = [];
|
|
//Convert fields to simple array
|
|
foreach ($fields as $field) {
|
|
$array = json_decode(json_encode($field), true);
|
|
$i = 0;
|
|
$name = "";
|
|
foreach ($array as $key => $value) {
|
|
if ($i == 0)
|
|
$name = $value;
|
|
else
|
|
$rows[$name] = $value;
|
|
$i++;
|
|
}
|
|
}
|
|
|
|
switch ($config) {
|
|
case 'user_wallet_wallet':
|
|
$plr_user_wallet_wallet = $_POST['plr_user_wallet_wallet'] ?? null;
|
|
$plr_user_wallet_wallet_national = $_POST['plr_user_wallet_wallet_national'] ?? null;
|
|
$this->insertPalier($plr_user_wallet_wallet, "user_wallet_wallet_international", $idConfig);
|
|
$this->insertPalier($plr_user_wallet_wallet_national, "user_wallet_wallet_national", $idConfig);
|
|
break;
|
|
case 'user_wallet_carte':
|
|
$plr_user_wallet_cart_national = $_POST['plr_user_wallet_cart_national'] ?? null;
|
|
$plr_hyp_user_wallet_cart_national = $_POST['plr_hyp_user_wallet_cart_national'] ?? null;
|
|
$plr_bank_user_wallet_cart_national = $_POST['plr_bank_user_wallet_cart_national'] ?? null;
|
|
// $plr_user_wallet_cart_international = $_POST['plr_user_wallet_cart_international'] ?? null;
|
|
// $plr_hyp_user_wallet_cart_international = $_POST['plr_hyp_user_wallet_cart_international'] ?? null;
|
|
// $plr_bank_user_wallet_cart_international = $_POST['plr_bank_user_wallet_cart_international'] ?? null;
|
|
$this->insertPalier($plr_user_wallet_cart_national, "user_wallet_cart_national", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_hyp_user_wallet_cart_national, "hyp_user_wallet_cart_national", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_bank_user_wallet_cart_national, "bank_user_wallet_cart_national", $idConfig,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_user_wallet_cart_international, "user_wallet_cart_international", $idConfig,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_hyp_user_wallet_cart_international, "hyp_user_wallet_cart_international", $idConfig ,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_bank_user_wallet_cart_international, "bank_user_wallet_cart_international", $idConfig,'paliers_commissions_wallet');
|
|
break;
|
|
case 'user_wallet_cash':
|
|
$plr_user_wallet_cash = $_POST['plr_user_wallet_cash'] ?? null;
|
|
$plr_user_wallet_cash_national = $_POST['plr_user_wallet_cash_national'] ?? null;
|
|
$this->insertPalier($plr_user_wallet_cash, "user_wallet_cash_international", $idConfig);
|
|
$this->insertPalier($plr_user_wallet_cash_national, "user_wallet_cash_national", $idConfig);
|
|
break;
|
|
case 'user_carte_wallet':
|
|
$plr_user_cart_wallet_international = $_POST['plr_user_cart_wallet_international'] ?? null;
|
|
$plr_user_cart_wallet_national = $_POST['plr_user_cart_wallet_national'] ?? null;
|
|
$plr_user_cart_cash_international = $_POST['plr_user_cart_cash_international'] ?? null;
|
|
$plr_user_cart_cash_national = $_POST['plr_user_cart_cash_national'] ?? null;
|
|
$plr_hyp_user_cart_cash_international = $_POST['plr_hyp_user_cart_cash_international'] ?? null;
|
|
$plr_hyp_user_cart_cash_national = $_POST['plr_hyp_user_cart_cash_national'] ?? null;
|
|
$plr_bank_user_cart_cash_international = $_POST['plr_bank_user_cart_cash_international'] ?? null;
|
|
$plr_bank_user_cart_cash_national = $_POST['plr_bank_user_cart_cash_national'] ?? null;
|
|
|
|
$this->insertPalier($plr_user_cart_wallet_international, "user_cart_wallet_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_user_cart_wallet_national, "user_cart_wallet_national", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_user_cart_cash_international, "user_cart_cash_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_user_cart_cash_national, "user_cart_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_hyp_user_cart_cash_international, "hyp_user_cart_cash_international", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_hyp_user_cart_cash_national, "hyp_user_cart_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_bank_user_cart_cash_international, "bank_user_cart_cash_international", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_bank_user_cart_cash_national, "bank_user_cart_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
|
|
break;
|
|
case 'user_cart_autre_wallet':
|
|
$plr_user_cart_autre_wallet_national = $_POST['plr_user_cart_autre_wallet_national'] ?? null;
|
|
$plr_bank_user_cart_autre_wallet_national = $_POST['plr_bank_user_cart_autre_wallet_national'] ?? null;
|
|
$plr_user_cart_autre_wallet_international = $_POST['plr_user_cart_autre_wallet_international'] ?? null;
|
|
$plr_bank_user_cart_autre_wallet_international = $_POST['plr_bank_user_cart_autre_wallet_international'] ?? null;
|
|
$this->insertPalier($plr_user_cart_autre_wallet_national, "user_cart_autre_wallet_national", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_bank_user_cart_autre_wallet_national, "bank_user_cart_autre_wallet_national", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_user_cart_autre_wallet_international, "user_cart_autre_wallet_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_bank_user_cart_autre_wallet_international, "bank_user_cart_autre_wallet_international", $idConfig ,'paliers_commissions_wallet');
|
|
break;
|
|
case 'agent_remove_cash':
|
|
$plr_agent_wallet_cash_national = $_POST['plr_agent_wallet_cash_national'] ?? null;
|
|
$plr_sup_wallet_cash_national = $_POST['plr_sup_wallet_cash_national'] ?? null;
|
|
$plr_agent_wallet_cash_international = $_POST['plr_agent_wallet_cash_international'] ?? null;
|
|
$plr_sup_wallet_cash_international = $_POST['plr_sup_wallet_cash_international'] ?? null;
|
|
$this->insertPalier($plr_agent_wallet_cash_national, "agent_wallet_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_sup_wallet_cash_national, "sup_wallet_cash_national", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_agent_wallet_cash_international, "agent_wallet_cash_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_sup_wallet_cash_international, "sup_wallet_cash_international", $idConfig ,'paliers_commissions_wallet');
|
|
break;
|
|
case 'agent_remove_carte_cash':
|
|
// $plr_customer_cart_cash_international = $_POST['plr_customer_cart_cash_international'] ?? null;
|
|
$plr_customer_cart_cash_national = $_POST['plr_customer_cart_cash_national'] ?? null;
|
|
// $plr_agent_cart_cash_international = $_POST['plr_agent_cart_cash_international'] ?? null;
|
|
$plr_agent_cart_cash_national = $_POST['plr_agent_cart_cash_national'] ?? null;
|
|
// $plr_sup_cart_cash_international = $_POST['plr_sup_cart_cash_international'] ?? null;
|
|
$plr_sup_cart_cash_national = $_POST['plr_sup_cart_cash_national'] ?? null;
|
|
// $plr_hyp_cart_cash_international = $_POST['plr_hyp_cart_cash_international'] ?? null;
|
|
$plr_hyp_cart_cash_national = $_POST['plr_hyp_cart_cash_national'] ?? null;
|
|
// $plr_bank_cart_cash_international = $_POST['plr_bank_cart_cash_international'] ?? null;
|
|
$plr_bank_cart_cash_national = $_POST['plr_bank_cart_cash_national'] ?? null;
|
|
|
|
// $this->insertPalier($plr_customer_cart_cash_international, "customer_cart_cash_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_customer_cart_cash_national, "customer_cart_cash_national", $idConfig ,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_agent_cart_cash_international, "agent_cart_cash_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_agent_cart_cash_national, "agent_cart_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_sup_cart_cash_international, "sup_cart_cash_international", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_sup_cart_cash_national, "sup_cart_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_hyp_cart_cash_international, "hyp_cart_cash_international", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_hyp_cart_cash_national, "hyp_cart_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_bank_cart_cash_international, "bank_cart_cash_international", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_bank_cart_cash_national, "bank_cart_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
break;
|
|
case 'agent_send_cash_carte':
|
|
// $plr_customer_cash_cart_international = $_POST['plr_customer_cash_cart_international'] ?? null;
|
|
$plr_customer_cash_cart_national = $_POST['plr_customer_cash_cart_national'] ?? null;
|
|
// $plr_agent_cash_cart_international = $_POST['plr_agent_cash_cart_international'] ?? null;
|
|
$plr_agent_cash_cart_national = $_POST['plr_agent_cash_cart_national'] ?? null;
|
|
// $plr_sup_cash_cart_international = $_POST['plr_sup_cash_cart_international'] ?? null;
|
|
$plr_sup_cash_cart_national = $_POST['plr_sup_cash_cart_national'] ?? null;
|
|
// $plr_hyp_cash_cart_international = $_POST['plr_hyp_cash_cart_international'] ?? null;
|
|
$plr_hyp_cash_cart_national = $_POST['plr_hyp_cash_cart_national'] ?? null;
|
|
// $plr_bank_cash_cart_international = $_POST['plr_bank_cash_cart_international'] ?? null;
|
|
$plr_bank_cash_cart_national = $_POST['plr_bank_cash_cart_national'] ?? null;
|
|
|
|
// $this->insertPalier($plr_customer_cash_cart_international, "customer_cash_cart_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_customer_cash_cart_national, "customer_cash_cart_national", $idConfig ,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_agent_cash_cart_international, "agent_cash_cart_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_agent_cash_cart_national, "agent_cash_cart_national", $idConfig,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_sup_cash_cart_international, "sup_cash_cart_international", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_sup_cash_cart_national, "sup_cash_cart_national", $idConfig,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_hyp_cash_cart_international, "hyp_cash_cart_international", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_hyp_cash_cart_national, "hyp_cash_cart_national", $idConfig,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_bank_cash_cart_international, "bank_cash_cart_international", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_bank_cash_cart_national, "bank_cash_cart_national", $idConfig,'paliers_commissions_wallet');
|
|
break;
|
|
case 'agent_send_cash_canal':
|
|
$plr_agent_depot_wallet_ilink = $_POST['plr_agent_depot_wallet_ilink'] ?? null;
|
|
$plr_agent_depot_autre_wallet = $_POST['plr_agent_depot_autre_wallet'] ?? null;
|
|
$plr_agent_cash_cash = $_POST['plr_agent_cash_cash'] ?? null;
|
|
|
|
$plr_agent_depot_wallet_ilink_national = $_POST['plr_agent_depot_wallet_ilink_national'] ?? null;
|
|
$plr_agent_depot_autre_wallet_national = $_POST['plr_agent_depot_autre_wallet_national'] ?? null;
|
|
$plr_agent_cash_cash_national = $_POST['plr_agent_cash_cash_national'] ?? null;
|
|
|
|
$this->insertPalier($plr_agent_depot_wallet_ilink, "agent_depot_wallet_ilink_international", $idConfig);
|
|
$this->insertPalier($plr_agent_depot_autre_wallet, "agent_depot_autre_wallet_international", $idConfig);
|
|
$this->insertPalier($plr_agent_cash_cash, "agent_cash_cash_international", $idConfig);
|
|
|
|
$this->insertPalier($plr_agent_depot_wallet_ilink_national, "agent_depot_wallet_ilink_national", $idConfig);
|
|
$this->insertPalier($plr_agent_depot_autre_wallet_national, "agent_depot_autre_wallet_national", $idConfig);
|
|
$this->insertPalier($plr_agent_cash_cash_national, "agent_cash_cash_national", $idConfig);
|
|
|
|
// Paliers des commissions
|
|
|
|
$plr_agent_cash_wallet_or_cash_international = $_POST['plr_agent_cash_wallet_or_cash_international'] ?? null;
|
|
$plr_agent_cash_wallet_or_cash_national = $_POST['plr_agent_cash_wallet_or_cash_national'] ?? null;
|
|
$plr_sup_cash_wallet_or_cash_international = $_POST['plr_sup_cash_wallet_or_cash_international'] ?? null;
|
|
$plr_sup_cash_wallet_or_cash_national = $_POST['plr_sup_cash_wallet_or_cash_national'] ?? null;
|
|
// $plr_hyp_cash_wallet_or_cash_international = $_POST['plr_hyp_cash_wallet_or_cash_international'] ?? null;
|
|
// $plr_hyp_cash_wallet_or_cash_national = $_POST['plr_hyp_cash_wallet_or_cash_national'] ?? null;
|
|
|
|
$this->insertPalier($plr_agent_cash_wallet_or_cash_international, "agent_cash_wallet_or_cash_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_agent_cash_wallet_or_cash_national, "agent_cash_wallet_or_cash_national", $idConfig ,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_sup_cash_wallet_or_cash_international, "sup_cash_wallet_or_cash_international", $idConfig,'paliers_commissions_wallet');
|
|
$this->insertPalier($plr_sup_cash_wallet_or_cash_national, "sup_cash_wallet_or_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_hyp_cash_wallet_or_cash_international, "hyp_cash_wallet_or_cash_international", $idConfig ,'paliers_commissions_wallet');
|
|
// $this->insertPalier($plr_hyp_cash_wallet_or_cash_national, "hyp_cash_wallet_or_cash_national", $idConfig,'paliers_commissions_wallet');
|
|
|
|
break;
|
|
}
|
|
|
|
|
|
} else if ($type == 'ilink_sante') {
|
|
unset($_POST['id_config'], $_POST['type']);
|
|
$this->nano_health_model->updateConfig($idConfig, $_POST);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ($this->db->trans_status() === FALSE) {
|
|
$this->db->trans_rollback();
|
|
echo json_encode("500");
|
|
} else {
|
|
$this->db->trans_commit();
|
|
echo json_encode("200");
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public function saveTaxes()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$idConfig = $_POST['id_config'];
|
|
$taxes = isset($_POST['taxes']) ? $_POST['taxes'] : null;
|
|
$categorie = isset($_POST['categorie']) ? $_POST['categorie'] : 'wallet';
|
|
$this->insertTaxes($taxes, $idConfig, $categorie);
|
|
$res = true;
|
|
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private function insertPalier($palier, $type, $idConfig , $table = 'paliersConfigWallet')
|
|
{
|
|
$this->db->delete($table,['type' => $type , 'idConfig' => $idConfig]);
|
|
|
|
if ($palier) {
|
|
$data = [];
|
|
foreach ($palier as $p) {
|
|
$data[] = [
|
|
'type' => $type,
|
|
'min' => $p[0],
|
|
'max' => $p[1],
|
|
'taux' => $p[2],
|
|
'plafond' => !empty($p[3]) ? $p[3] : null,
|
|
'idConfig' => $idConfig
|
|
];
|
|
}
|
|
if(sizeof($data) > 0){
|
|
$this->db->insert_batch($table,$data);
|
|
}
|
|
}
|
|
}
|
|
|
|
private function insertTaxes($palier, $idConfig, $categorie)
|
|
{
|
|
|
|
$exist = $this->wallet_model->getTaxes($idConfig, $categorie);
|
|
if ($exist) {
|
|
$this->wallet_model->deleteTaxes($idConfig, $categorie);
|
|
}
|
|
|
|
if ($palier) {
|
|
foreach ($palier as $p) {
|
|
$array = json_decode(json_encode($p), true);
|
|
$row = [];
|
|
foreach ($array as $key => $value) {
|
|
$row[] = $value;
|
|
}
|
|
if ($categorie == 'wallet')
|
|
$this->wallet_model->addTaxe($idConfig, $row[0], $row[1], $row[2], $row[3]);
|
|
else
|
|
$this->wallet_model->addTaxe($idConfig, $row[0], $row[1], $row[2], 'national', $categorie);
|
|
}
|
|
}
|
|
}
|
|
|
|
public function delete_config_wallet()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$network_id = $_POST['network_id'];
|
|
$res = $this->wallet_model->deleteConfigWallet($network_id);
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public function disable_config_wallet()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$network_id = $_POST['network_id'];
|
|
$res = $this->wallet_model->disableConfigWallet($network_id);
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
private function isLogged()
|
|
{
|
|
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);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public function generateAllWallets()
|
|
{
|
|
// Asynchrous method
|
|
|
|
$network_id = $_POST['network_id'];
|
|
$type = $_POST['type'];
|
|
if ($type != 'autre') {
|
|
$pool = Pool::create();
|
|
$pool->add(function () use ($network_id) {
|
|
// Fetch all agents , hyperviseur , superviseur
|
|
$f_agents = $this->wallet_model->getAllAgentsForNetwork($network_id);
|
|
if ($f_agents) {
|
|
foreach ($f_agents->result() as $row) {
|
|
//Create wallet if it not exist
|
|
$res = $this->wallet_model->getWallet($row->agent_id);
|
|
if ($res) {
|
|
// Reinitialize the wallet
|
|
// $this->wallet_model->reinitializeWallet($res->first_row()->wallet_id);
|
|
} else {
|
|
$this->wallet_model->addWallet($row->agent_id);
|
|
}
|
|
}
|
|
}
|
|
})->then(function () {
|
|
|
|
});
|
|
await($pool);
|
|
}
|
|
|
|
}
|
|
|
|
private function historique($network_id, $startDate, $endDate, $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 == 'recharge')
|
|
$data['transactions'] = $this->wallet_model->getRecharges($startDate, $endDate, $network_id);
|
|
|
|
$data['active'] = "wallet";
|
|
$data['alert'] = "";
|
|
$data['networks'] = $this->wallet_model->getAllActivatedNetworks();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$networkDetails = $this->user_model->getNetworkDetails($network_id);
|
|
if ($networkDetails) {
|
|
$data['network'] = $networkDetails->first_row()->network;
|
|
$data['country'] = $networkDetails->first_row()->country;
|
|
$data['currency_name_fr'] = $networkDetails->first_row()->currency_name_fr;
|
|
$data['currency_name_en'] = $networkDetails->first_row()->currency_name_en;
|
|
$data['currency_code'] = $networkDetails->first_row()->currency_code;
|
|
}
|
|
$data['id_network'] = $network_id;
|
|
$this->load->view('header_gestion', $data);
|
|
if ($type == 'transaction')
|
|
$this->load->view('historique_transactions');
|
|
else if ($type == 'deleted_transactions')
|
|
$this->load->view('historique_transactions_deleted');
|
|
else if ($type == 'transaction_ilink')
|
|
$this->load->view('historique_transactions_ilink');
|
|
else
|
|
$this->load->view('historique_recharges');
|
|
$this->load->view('footer');
|
|
}
|
|
|
|
public function currency()
|
|
{
|
|
|
|
if ($this->isLogged()) {
|
|
$data['active'] = "currency";
|
|
$data['alert'] = "";
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
|
|
if ($this->input->get('id')) {
|
|
|
|
$network_id = $this->input->get('id');
|
|
$networkDetails = $this->user_model->getNetworkDetails($network_id);
|
|
$data['network'] = $networkDetails->first_row()->network;
|
|
$data['country'] = $networkDetails->first_row()->country;
|
|
$data['currency_code'] = $networkDetails->first_row()->currency_code;
|
|
$data['currency_name_fr'] = $networkDetails->first_row()->currency_name_fr;
|
|
$data['currency_name_en'] = $networkDetails->first_row()->currency_name_en;
|
|
|
|
$data['currencies'] = $this->wallet_model->getWalletsCountriesCurrencies($data['currency_code']);
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_monnaie');
|
|
$this->load->view('footer');
|
|
} else {
|
|
|
|
$data['networks'] = $this->wallet_model->getAllActivatedWalletNetworks();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_monnaies');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function fetchExchangeRates()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
$api = "c4e31fe540cd49c98abffc06cc5948c8"; ///// Provide your openexchangerates.org api key here
|
|
$string = file_get_contents("https://openexchangerates.org/api/latest.json?app_id=$api");
|
|
$json = json_decode($string, true);
|
|
|
|
foreach ($json['rates'] as $key => $value) {
|
|
if ($this->wallet_model->getExchangeRate($key))
|
|
$this->wallet_model->updateExchangeRate($key, $value);
|
|
else
|
|
$this->wallet_model->insertExchangeRate($key, $value);
|
|
}
|
|
$res = true;
|
|
if ($res) {
|
|
echo json_encode(200);
|
|
} else {
|
|
echo json_encode(500);
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
public function cancelTransation()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id_transacton = $_POST['id_transaction'];
|
|
|
|
/* API URL */
|
|
$url = WALLET_SERVICE_URL . '/transactions/' . $id_transacton;
|
|
|
|
/* Init cURL resource */
|
|
$ch = curl_init($url);
|
|
|
|
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
|
|
|
|
/* set the content type json */
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
|
'Content-Type:application/json',
|
|
'Authorization:' . WALLET_SERVICE_TOKEN,
|
|
'X-localization:' . $this->session->userdata('site_lang') == 'french' ? 'fr' : 'en'
|
|
));
|
|
|
|
/* set return type json */
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
|
|
/* execute request */
|
|
$result = curl_exec($ch);
|
|
|
|
/* close cURL resource */
|
|
curl_close($ch);
|
|
|
|
if ($result) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function cancelIlinkTransation()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id_transacton = $_POST['id_transaction'];
|
|
|
|
/* API URL */
|
|
$url = WALLET_SERVICE_URL . '/transactions/ilink/' . $id_transacton;
|
|
|
|
/* Init cURL resource */
|
|
$ch = curl_init($url);
|
|
|
|
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
|
|
|
|
/* set the content type json */
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
|
'Content-Type:application/json',
|
|
'Authorization:' . WALLET_SERVICE_TOKEN,
|
|
'X-localization:' . $this->session->userdata('site_lang') == 'french' ? 'fr' : 'en'
|
|
));
|
|
|
|
/* set return type json */
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
|
|
/* execute request */
|
|
$result = curl_exec($ch);
|
|
|
|
/* close cURL resource */
|
|
curl_close($ch);
|
|
|
|
if ($result) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function nano_credit()
|
|
{
|
|
if ($this->isLogged()) {
|
|
$data['active'] = "nano_credit";
|
|
$data['alert'] = "";
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
|
|
if ($this->input->get('id')) {
|
|
$data['network_id'] = $this->input->get('id');
|
|
|
|
if ($this->input->get('history')) {
|
|
$this->historique_nano_credit($data['network_id'], $this->input->get('d'), $this->input->get('f'), $this->input->get('history'));
|
|
} elseif ($this->input->get('group')) {
|
|
$this->users_group_details($data['network_id'], $this->input->get('group'));
|
|
} else {
|
|
$data['groups'] = $this->nano_credit_model->getUsersGroups($data['network_id']);
|
|
$configWallet = $this->wallet_model->getConfigWallet($data['network_id']);
|
|
$data['configWallet'] = is_array($configWallet) ? reset($configWallet) : $configWallet;
|
|
$networkDetails = $this->user_model->getNetworkDetails($data['network_id']);
|
|
if ($networkDetails) {
|
|
$data['network'] = $networkDetails->first_row()->network;
|
|
$data['country'] = $networkDetails->first_row()->country;
|
|
$data['currency_code'] = $networkDetails->first_row()->currency_code;
|
|
}
|
|
|
|
$data['rates_nano_credit'] = $this->nano_credit_model->getNanoCreditRates($data['configWallet']->id);
|
|
$data['taxes_nano_credit'] = $this->wallet_model->getTaxes($data['configWallet']->id, 'nano_credit');
|
|
|
|
$data['rates_epargne'] = $this->nano_credit_model->getNanoCreditRates($data['configWallet']->id, 'epargne');
|
|
$data['taxes_epargne'] = $this->wallet_model->getTaxes($data['configWallet']->id, 'epargne');
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('nano_credit/gestion_nano_credit_admin');
|
|
$this->load->view('footer');
|
|
}
|
|
} else {
|
|
$data['networks'] = $this->nano_credit_model->getAllIlinkWorldNetworks();
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('nano_credit/gestion_nano_credits');
|
|
$this->load->view('footer');
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
private function historique_nano_credit($network_id, $startDate, $endDate, $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 == 'nano_credit') {
|
|
$data['transactions'] = $this->nano_credit_model->getUserDemandesCredit($startDate, $endDate, $network_id);
|
|
} else if ($type == 'savings') {
|
|
$data['transactions'] = $this->nano_credit_model->getUsersSavings($startDate, $endDate, $network_id);
|
|
}
|
|
$data['active'] = "nano_credit";
|
|
$data['alert'] = "";
|
|
$data['networks'] = $this->wallet_model->getAllActivatedNetworks();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['id_network'] = $network_id;
|
|
$networkDetails = $this->user_model->getNetworkDetails($network_id);
|
|
if ($networkDetails) {
|
|
$data['network'] = $networkDetails->first_row()->network;
|
|
$data['country'] = $networkDetails->first_row()->country;
|
|
$data['currency_name_fr'] = $networkDetails->first_row()->currency_name_fr;
|
|
$data['currency_name_en'] = $networkDetails->first_row()->currency_name_en;
|
|
$data['currency_code'] = $networkDetails->first_row()->currency_code;
|
|
}
|
|
$this->load->view('header_gestion', $data);
|
|
if ($type == 'savings')
|
|
$this->load->view('nano_credit/historique_savings');
|
|
else
|
|
$this->load->view('nano_credit/historique_nano_credit');
|
|
$this->load->view('footer');
|
|
}
|
|
|
|
private function users_group_details($network_id, $group_code)
|
|
{
|
|
$data['active'] = "nano_credit";
|
|
$data['alert'] = "";
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
|
|
|
|
$networkDetails = $this->user_model->getNetworkDetails($network_id);
|
|
if ($networkDetails) {
|
|
$data['network'] = $networkDetails->first_row()->network;
|
|
$data['country'] = $networkDetails->first_row()->country;
|
|
$data['currency_code'] = $networkDetails->first_row()->currency_code;
|
|
}
|
|
|
|
|
|
$data['category'] = $this->session->userdata('category');
|
|
$data['members'] = $this->nano_credit_model->getGroupMembers($group_code);
|
|
$data['group'] = $this->nano_credit_model->getGroup($group_code);
|
|
|
|
//Calcul de la capacite d'emprunt
|
|
$CE = 0;
|
|
if ($data['members']) {
|
|
$sommeCredits = 0;
|
|
$sommeEpargnes = 0;
|
|
foreach ($data['members']->result() as $user) {
|
|
$sum_credit = $this->nano_credit_model->sumGroupCredit($user->id_user) ? $this->nano_credit_model->sumGroupCredit($user->id_user)->credit : 0;
|
|
$sommeCredits += $sum_credit;
|
|
$sommeEpargnes += $user->balance_epargne;
|
|
}
|
|
$CE = $sommeEpargnes - $sommeCredits;
|
|
}
|
|
|
|
$data['CE'] = $CE;
|
|
$data['group_code'] = $group_code;
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('nano_credit/users_group_detail');
|
|
$this->load->view('footer');
|
|
}
|
|
|
|
public function activate_nano_credit()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
|
|
$id_network = $_POST['id_network'];
|
|
$this->nano_credit_model->insertCreditLimit(0, 0, '1', $id_network);
|
|
$res = true;
|
|
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function delete_nano_credit()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id_network = $_POST['id_network'];
|
|
|
|
$this->nano_credit_model->insertCreditLimit(0, 0, '0', $id_network);
|
|
$res = true;
|
|
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function regulations()
|
|
{
|
|
|
|
if ($this->isLogged()) {
|
|
$data['active'] = "regulations";
|
|
$data['alert'] = "";
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
|
|
if ($this->input->get('id')) {
|
|
|
|
$network_id = $this->input->get('id');
|
|
$networkDetails = $this->user_model->getNetworkDetails($network_id);
|
|
$data['network'] = $networkDetails->first_row()->network;
|
|
$data['country'] = $networkDetails->first_row()->country;
|
|
$data['currency_code'] = $networkDetails->first_row()->currency_code;
|
|
$data['currency_name_fr'] = $networkDetails->first_row()->currency_name_fr;
|
|
$data['currency_name_en'] = $networkDetails->first_row()->currency_name_en;
|
|
|
|
$data['currencies'] = $this->wallet_model->getWalletsCountriesCurrencies($data['currency_code']);
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_monnaie');
|
|
$this->load->view('footer');
|
|
} else {
|
|
|
|
$data['countries'] = $this->wallet_model->getRegulationsCountries();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_reglementations');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function setRegulationsLimits()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
|
|
$country_id = $_POST['country_id'];
|
|
$max_day_national = $_POST['max_day_national'];
|
|
$max_week_national = $_POST['max_week_national'];
|
|
$max_month_national = $_POST['max_month_national'];
|
|
|
|
$max_day_international = $_POST['max_day_international'];
|
|
$max_week_international = $_POST['max_week_international'];
|
|
$max_month_international = $_POST['max_month_international'];
|
|
|
|
$limits = $this->wallet_model->getRegulationsLimits($country_id);
|
|
if ($limits) {
|
|
$this->wallet_model->updateRegulationsLimits($country_id, $max_day_national, $max_week_national, $max_month_national,
|
|
$max_day_international, $max_week_international, $max_month_international);
|
|
} else {
|
|
$this->wallet_model->insertRegulationsLimits($country_id, $max_day_national, $max_week_national, $max_month_national,
|
|
$max_day_international, $max_week_international, $max_month_international);
|
|
}
|
|
$res = true;
|
|
if ($res) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function operators()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
$data['operators'] = $this->wallet_model->getAllOperatorsCountries();
|
|
$data['pays'] = $this->user_model->getAllPays();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['alert'] = "";
|
|
$data['active'] = "operators";
|
|
$data['distinct_operators'] = $this->wallet_model->getAllOperators();
|
|
$data['operators_types'] = $this->db->get('type_operators');
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_operateurs_admin');
|
|
$this->load->view('footer');
|
|
}
|
|
|
|
}
|
|
|
|
public function add_operator()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$data = array(
|
|
'nom' => $this->input->post('name'),
|
|
'type' => $this->input->post('type')
|
|
);
|
|
|
|
$query = $this->db->insert('operators', $data);
|
|
if ($query) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function add_operator_type()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
|
|
$query = $this->db->get_where('type_operators', array('code' => $this->input->post('code')), 1);
|
|
$exist = $query->num_rows() > 0;
|
|
if ($exist) {
|
|
echo json_encode(422);
|
|
} else {
|
|
$data = array(
|
|
'code' => $this->input->post('code'),
|
|
'description_fr' => $this->input->post('description_fr'),
|
|
'description_en' => $this->input->post('description_fr')
|
|
);
|
|
|
|
$query = $this->db->insert('type_operators', $data);
|
|
if ($query) {
|
|
echo json_encode(200);
|
|
} else {
|
|
echo json_encode(500);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public function delete_operator()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id_operator = $this->input->post('id_operator');
|
|
$id_country = $this->input->post('id_country');
|
|
|
|
$query = $this->wallet_model->deleteOperatorCountry($id_operator, $id_country);
|
|
if ($query) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function assign_operator()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id_operator = $this->input->post('id_operator');
|
|
$existe = 0;
|
|
$this->db->trans_begin();
|
|
foreach ($_POST['id_country'] as $country) {
|
|
$res = $this->wallet_model->checkIfOperatorAssignationExist($country, $id_operator);
|
|
if ($res == false) {
|
|
$data = array('id_country' => $country, 'id_operator' => $id_operator);
|
|
$this->db->insert('operators_countries', $data);
|
|
} else {
|
|
$existe = $existe + 1;
|
|
}
|
|
}
|
|
if ($this->db->trans_status() === FALSE) {
|
|
$this->db->trans_rollback();
|
|
echo json_encode("error");
|
|
} elseif ($existe > 0) {
|
|
$this->db->trans_commit();
|
|
echo json_encode("existe");
|
|
} else {
|
|
$this->db->trans_commit();
|
|
echo json_encode("completed");
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public function update_operator()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$id_operator = $this->input->post('id_operator');
|
|
$id_country = $this->input->post('id_country');
|
|
$name = $this->input->post('name');
|
|
$address = $this->input->post('address');
|
|
$code = $this->input->post('code');
|
|
|
|
$res = $this->wallet_model->updateOperator($id_operator, $id_country, $name, $address, $code);
|
|
|
|
if ($res == true) {
|
|
echo json_encode("completed");
|
|
} else {
|
|
echo json_encode("error");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function change_operator_status()
|
|
{
|
|
if ($this->isLogged()) {
|
|
if (isset($_POST)) {
|
|
$activations = $this->input->post('activations');
|
|
$desactivation = $this->input->post('desactivations');
|
|
|
|
$this->db->trans_begin();
|
|
if (!empty($_POST['activations'])) {
|
|
foreach ($_POST['activations'] as $row) {
|
|
|
|
$data = array('status' => 1);
|
|
$this->db->where('id_operator', $row['id_operator']);
|
|
$this->db->where('id_country', $row['id_country']);
|
|
$this->db->update('operators_countries', $data);
|
|
|
|
}
|
|
}
|
|
if (!empty($_POST['desactivations'])) {
|
|
foreach ($_POST['desactivations'] as $row) {
|
|
|
|
$data = array('status' => 0);
|
|
$this->db->where('id_operator', $row['id_operator']);
|
|
$this->db->where('id_country', $row['id_country']);
|
|
$this->db->update('operators_countries', $data);
|
|
|
|
}
|
|
}
|
|
if ($this->db->trans_status() === FALSE) {
|
|
$this->db->trans_rollback();
|
|
echo json_encode("error");
|
|
} else {
|
|
$this->db->trans_commit();
|
|
echo json_encode("completed");
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public function settings()
|
|
{
|
|
if ($this->isLogged()) {
|
|
$data['active'] = "settings";
|
|
$data['alert'] = "";
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$data['pas_chargement'] = $this->user_model->getAdminConfig('pas_chargement');
|
|
$data['active_pub'] = $this->user_model->getAdminConfig('active_pub', 'bool');
|
|
// $data['enable_sms_notifications'] = $this->user_model->getAdminConfig('enable_sms_notifications', 'bool');
|
|
// $data['towns'] = $this->user_model->getAllVilles();
|
|
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_settings');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
public function update_settings()
|
|
{
|
|
if ($this->isLogged()) {
|
|
|
|
$pas = $this->input->post('pas');
|
|
$jours = $this->input->post('jours');
|
|
$default_locality = $this->input->post('default_locality');
|
|
$enable_sms_notifications = $this->input->post('enable_sms_notifications');
|
|
|
|
$office_penalty_percent = $this->input->post('office_penalty_percent');
|
|
$month_delay_penalty_percent = $this->input->post('month_delay_penalty_percent');
|
|
$payment_deadline_date = $this->input->post('payment_deadline_date');
|
|
if (isset($pas)) {
|
|
$result = $this->user_model->insertAdminConfig('pas_chargement', $pas);
|
|
}
|
|
|
|
if (isset($jours)) {
|
|
$result = $this->user_model->insertAdminConfig('jours_calendaires', $jours);
|
|
}
|
|
|
|
if (isset($default_locality)) {
|
|
$result = $this->user_model->insertAdminConfig('default_locality', $default_locality, '');
|
|
}
|
|
|
|
|
|
if (isset($enable_sms_notifications)) {
|
|
$result = $this->user_model->insertAdminConfig('enable_sms_notifications', $enable_sms_notifications, 'bool');
|
|
|
|
}
|
|
|
|
if (isset($office_penalty_percent)) {
|
|
$result = $this->user_model->insertAdminConfig('office_penalty_percent', $office_penalty_percent);
|
|
}
|
|
|
|
if (isset($month_delay_penalty_percent)) {
|
|
$result = $this->user_model->insertAdminConfig('month_delay_penalty_percent', $month_delay_penalty_percent);
|
|
}
|
|
|
|
if (isset($payment_deadline_date)) {
|
|
$result = $this->user_model->insertAdminConfig('payment_deadline_date', $payment_deadline_date, 'date');
|
|
}
|
|
|
|
if ($result) {
|
|
echo json_encode("200");
|
|
} else {
|
|
echo json_encode("500");
|
|
}
|
|
}
|
|
}
|
|
|
|
public function aggregators()
|
|
{
|
|
if ($this->isLogged()) {
|
|
$data['active'] = "aggregators";
|
|
$data['alert'] = "";
|
|
$data['aggregators'] = $this->db->get_where('payment_aggregators')->result() ?? [];
|
|
foreach ($data['aggregators'] as $i => $aggregator){
|
|
$data['aggregators'][$i]->rates = $this->db->get_where('payment_aggregator_rates',['aggregator_id' => $aggregator->id])->result();
|
|
}
|
|
// $data['pays'] = $this->user_model->getAllPays();
|
|
$data['game_pays'] = $this->user_model->getGameCountry();
|
|
$this->load->view('header_gestion', $data);
|
|
$this->load->view('gestion_aggregators');
|
|
$this->load->view('footer');
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|