Вход Регистрация
Файл: Just Wallet 2.0.4/application/controllers/account/Withdrawal.php
Строк: 595
<?php defined('BASEPATH') OR exit('No direct script access allowed');

/**
 * Just Wallet
 * Copyright (c), Just Didigital Tech
 * Author code Anna Kantemirova and Sergey Plaxin
 * Site developer http://justigniter.io/
 * License https://codecanyon.net/licenses/terms/regular
**/


class Withdrawal extends Private_Controller {

    
/**
     * Constructor
     */
    
function __construct()
    {
        
parent::__construct();

        
// load the language file
        
$this->lang->load('users');

        
// load the users model
        
$this->load->model('users_model');
        
$this->load->model('transactions_model');
    }
  
    
/**
    *  Main page
    */
    
function index()
    {

        
// setup page header data
        
$this->set_title(sprintf(lang('users title withdrawal'), $this->settings->site_name));
        
// reload the new user data and store in session
        
$user = $this->users_model->get_user($this->user['id']);
        
        
$paypal = $this->settings_model->get_win_method(1);
        
$credit_card = $this->settings_model->get_win_method(2);
        
$bitcoin = $this->settings_model->get_win_method(3);
        
$skrill = $this->settings_model->get_win_method(5);
        
$payza = $this->settings_model->get_win_method(6);
        
$advcash = $this->settings_model->get_win_method(7);
        
$perfect_m = $this->settings_model->get_win_method(8);
        
$swift = $this->settings_model->get_win_method(4);
    
        
// Check enabled method PayPal
        
if ($paypal['start_verify'] == "1" && $user['verify_status'] == 0) {

            
$enabled_paypal = TRUE;

        } elseif (
$paypal['standart_verify'] == "1" && $user['verify_status'] == 1) {

            
$enabled_paypal = TRUE;

        } elseif (
$paypal['expanded_verify'] == "1" && $user['verify_status'] == 2) {

            
$enabled_paypal = TRUE;

        } else {

            
$enabled_paypal = FALSE;

        }
        
        
// Check enabled method Credit card
        
if ($credit_card['start_verify'] == "1" && $user['verify_status'] == 0) {

            
$enabled_credit_card = TRUE;

        } elseif (
$credit_card['standart_verify'] == "1" && $user['verify_status'] == 1) {

            
$enabled_credit_card = TRUE;

        } elseif (
$credit_card['expanded_verify'] == "1" && $user['verify_status'] == 2) {

            
$enabled_credit_card = TRUE;

        } else {

            
$enabled_credit_card = FALSE;

        }
        
        
// Check enabled method bitcoin
        
if ($bitcoin['start_verify'] == "1" && $user['verify_status'] == 0) {

            
$enabled_bitcoin = TRUE;

        } elseif (
$bitcoin['standart_verify'] == "1" && $user['verify_status'] == 1) {

            
$enabled_bitcoin = TRUE;

        } elseif (
$bitcoin['expanded_verify'] == "1" && $user['verify_status'] == 2) {

            
$enabled_bitcoin = TRUE;

        } else {

            
$enabled_bitcoin = FALSE;

        }
        
        
// Check enabled method Skrill
        
if ($skrill['start_verify'] == "1" && $user['verify_status'] == 0) {

            
$enabled_skrill = TRUE;

        } elseif (
$skrill['standart_verify'] == "1" && $user['verify_status'] == 1) {

            
$enabled_skrill = TRUE;

        } elseif (
$skrill['expanded_verify'] == "1" && $user['verify_status'] == 2) {

            
$enabled_skrill = TRUE;

        } else {

            
$enabled_skrill = FALSE;

        }
        
        
// Check enabled method Payza
        
if ($payza['start_verify'] == "1" && $user['verify_status'] == 0) {

            
$enabled_payza = TRUE;

        } elseif (
$payza['standart_verify'] == "1" && $user['verify_status'] == 1) {

            
$enabled_payza = TRUE;

        } elseif (
$payza['expanded_verify'] == "1" && $user['verify_status'] == 2) {

            
$enabled_payza = TRUE;

        } else {

            
$enabled_payza = FALSE;

        }
        
        
// Check enabled method Advcash
        
if ($advcash['start_verify'] == "1" && $user['verify_status'] == 0) {

            
$enabled_advcash = TRUE;

        } elseif (
$advcash['standart_verify'] == "1" && $user['verify_status'] == 1) {

            
$enabled_advcash = TRUE;

        } elseif (
$advcash['expanded_verify'] == "1" && $user['verify_status'] == 2) {

            
$enabled_advcash = TRUE;

        } else {

            
$enabled_advcash = FALSE;

        }
        
        
// Check enabled method Perfect Money
        
if ($perfect_m['start_verify'] == "1" && $user['verify_status'] == 0) {

            
$enabled_perfect_m = TRUE;

        } elseif (
$perfect_m['standart_verify'] == "1" && $user['verify_status'] == 1) {

            
$enabled_perfect_m = TRUE;

        } elseif (
$perfect_m['expanded_verify'] == "1" && $user['verify_status'] == 2) {

            
$enabled_perfect_m = TRUE;

        } else {

            
$enabled_perfect_m = FALSE;

        }
        
        
// Check enabled method SWIFT
        
if ($swift['start_verify'] == "1" && $user['verify_status'] == 0) {

            
$enabled_swift = TRUE;

        } elseif (
$swift['standart_verify'] == "1" && $user['verify_status'] == 1) {

            
$enabled_swift = TRUE;

        } elseif (
$swift['expanded_verify'] == "1" && $user['verify_status'] == 2) {

            
$enabled_swift = TRUE;

        } else {

            
$enabled_swift = FALSE;

        }
                
        
$data = $this->includes;

        
// set content data
        
$content_data = array(
            
'user'                    => $user,
              
'paypal'                => $paypal,
            
'enabled_paypal'        => $enabled_paypal,
            
'credit_card'           => $credit_card,
            
'enabled_credit_card'   => $enabled_credit_card,
            
'bitcoin'               => $bitcoin,
            
'enabled_bitcoin'       => $enabled_bitcoin,
            
'skrill'                => $skrill,
            
'enabled_skrill'        => $enabled_skrill,
            
'payza'                 => $payza,
            
'enabled_payza'         => $enabled_payza,
            
'advcash'               => $advcash,
            
'enabled_advcash'       => $enabled_advcash,
            
'perfect_m'             => $perfect_m,
            
'enabled_perfect_m'     => $enabled_perfect_m,
            
'swift'                 => $swift,
            
'enabled_swift'         => $enabled_swift,
        );

        
// load views
        
$data['content'] = $this->load->view('account/withdrawal/index', $content_data, TRUE);
        
$this->load->view($this->template, $data);

    }
    
    
/**
    *  Confirmation of withdrawal request
    */
    
function confirm()
    {
        
        
$user = $this->users_model->get_user($this->user['id']);
        
        
$paypal = $this->settings_model->get_win_method(1);
        
$credit_card = $this->settings_model->get_win_method(2);
        
$bitcoin = $this->settings_model->get_win_method(3);
        
$skrill = $this->settings_model->get_win_method(5);
        
$payza = $this->settings_model->get_win_method(6);
        
$advcash = $this->settings_model->get_win_method(7);
        
$perfect_m = $this->settings_model->get_win_method(8);
        
$swift = $this->settings_model->get_win_method(4);
        
        
$this->form_validation->set_rules('amount', lang('users transfer amount'), 'required|trim|numeric');
        
$this->form_validation->set_rules('method', lang('users withdrawal method'), 'required|trim|in_list[paypal,credit_card,bitcoin,swift,skrill,payza,advcash,perfect_m]');
        
$this->form_validation->set_rules('currency', lang('users trans cyr'), 'required|trim|in_list[debit_base,debit_extra1,debit_extra2,debit_extra3,debit_extra4,debit_extra5]');
        
        if (
$this->form_validation->run() == FALSE)
        {
            
            
$this->session->set_flashdata('error', lang('users withdrawal error_1'));
            
redirect(site_url("account/withdrawal"));

        } else {

            
$amount = number_format($this->input->post("amount", TRUE), 2, '.', '');
            
$currency = $this->input->post("currency", TRUE);
            
$method = $this->input->post("method", TRUE);
            
            if (
$method == "paypal") {
                
                
$method = $paypal['name'];
                
$fee = $paypal['fee'];
                
$fee_fix = $paypal['fee_fix'];
                
$account = $user['paypal'];
                
$terms = $paypal['terms'];
                
$minimum = $paypal['minimum_'.$currency.''];
                
$maximum = $paypal['maximum_'.$currency.''];
                
$code_method = "paypal";
                
$check_method_account_user = "paypal";
                
                if (
$paypal['start_verify'] == "1" && $user['verify_status'] == 0) {

                    
$verify_status = TRUE;

                } elseif (
$paypal['standart_verify'] == "1" && $user['verify_status'] == 1) {

                    
$verify_status = TRUE;

                } elseif (
$paypal['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                    
$verify_status = TRUE;

                } else {

                    
$verify_status = FALSE;

                }
                
            } elseif (
$method == "credit_card") {
                
                
$method = $credit_card['name'];
                
$fee = $credit_card['fee'];
                
$fee_fix = $credit_card['fee_fix'];
                
$account = $user['card'];
                
$terms = $credit_card['terms'];
                
$minimum = $credit_card['minimum_'.$currency.''];
                
$maximum = $credit_card['maximum_'.$currency.''];
                
$code_method = "credit_card";
                
$check_method_account_user = "card";
                
                if (
$credit_card['start_verify'] == "1" && $user['verify_status'] == 0) {

                    
$verify_status = TRUE;

                } elseif (
$credit_card['standart_verify'] == "1" && $user['verify_status'] == 1) {

                    
$verify_status = TRUE;

                } elseif (
$credit_card['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                    
$verify_status = TRUE;

                } else {

                    
$verify_status = FALSE;

                }
                
            } elseif (
$method == "bitcoin") {
                
                
$method = $bitcoin['name'];
                
$fee = $bitcoin['fee'];
                
$fee_fix = $bitcoin['fee_fix'];
                
$account = $user['bitcoin'];
                
$terms = $bitcoin['terms'];
                
$minimum = $bitcoin['minimum_'.$currency.''];
                
$maximum = $bitcoin['maximum_'.$currency.''];
                
$code_method = "bitcoin";
                
$check_method_account_user = "bitcoin";
                
                if (
$bitcoin['start_verify'] == "1" && $user['verify_status'] == 0) {

                    
$verify_status = TRUE;

                } elseif (
$bitcoin['standart_verify'] == "1" && $user['verify_status'] == 1) {

                    
$verify_status = TRUE;

                } elseif (
$bitcoin['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                    
$verify_status = TRUE;

                } else {

                    
$verify_status = FALSE;

                }
                
            } elseif (
$method == "swift") {
                
                
$method = $swift['name'];
                
$fee = $swift['fee'];
                
$fee_fix = $swift['fee_fix'];
                
$account = $user['swift'];
                
$terms = $swift['terms'];
                
$minimum = $swift['minimum_'.$currency.''];
                
$maximum = $swift['maximum_'.$currency.''];
                
$code_method = "swift";
                
$check_method_account_user = "swift";
                
                if (
$swift['start_verify'] == "1" && $user['verify_status'] == 0) {

                    
$verify_status = TRUE;

                } elseif (
$swift['standart_verify'] == "1" && $user['verify_status'] == 1) {

                    
$verify_status = TRUE;

                } elseif (
$swift['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                    
$verify_status = TRUE;

                } else {

                    
$verify_status = FALSE;

                }
                
            } elseif (
$method == "skrill") {
                
                
$method = $skrill['name'];
                
$fee = $skrill['fee'];
                
$fee_fix = $skrill['fee_fix'];
                
$account = $user['skrill'];
                
$terms = $skrill['terms'];
                
$minimum = $skrill['minimum_'.$currency.''];
                
$maximum = $skrill['maximum_'.$currency.''];
                
$code_method = "skrill";
                
$check_method_account_user = "skrill";
                
                if (
$skrill['start_verify'] == "1" && $user['verify_status'] == 0) {

                    
$verify_status = TRUE;

                } elseif (
$skrill['standart_verify'] == "1" && $user['verify_status'] == 1) {

                    
$verify_status = TRUE;

                } elseif (
$skrill['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                    
$verify_status = TRUE;

                } else {

                    
$verify_status = FALSE;

                }
                
            } elseif (
$method == "payza") {
                
                
$method = $payza['name'];
                
$fee = $payza['fee'];
                
$fee_fix = $payza['fee_fix'];
                
$account = $user['payza'];
                
$terms = $payza['terms'];
                
$minimum = $payza['minimum_'.$currency.''];
                
$maximum = $payza['maximum_'.$currency.''];
                
$code_method = "payza";
                
$check_method_account_user = "payza";
                
                if (
$payza['start_verify'] == "1" && $user['verify_status'] == 0) {

                    
$verify_status = TRUE;

                } elseif (
$payza['standart_verify'] == "1" && $user['verify_status'] == 1) {

                    
$verify_status = TRUE;

                } elseif (
$payza['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                    
$verify_status = TRUE;

                } else {

                    
$verify_status = FALSE;

                }
                
            } elseif (
$method == "advcash") {
                
                
$method = $advcash['name'];
                
$fee = $advcash['fee'];
                
$fee_fix = $advcash['fee_fix'];
                
$account = $user['advcash'];
                
$terms = $advcash['terms'];
                
$minimum = $advcash['minimum_'.$currency.''];
                
$maximum = $advcash['maximum_'.$currency.''];
                
$code_method = "advcash";
                
$check_method_account_user = "advcash";
                
                if (
$advcash['start_verify'] == "1" && $user['verify_status'] == 0) {

                    
$verify_status = TRUE;

                } elseif (
$advcash['standart_verify'] == "1" && $user['verify_status'] == 1) {

                    
$verify_status = TRUE;

                } elseif (
$advcash['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                    
$verify_status = TRUE;

                } else {

                    
$verify_status = FALSE;

                }
                
            } elseif (
$method == "perfect_m") {
                
                
$method = $perfect_m['name'];
                
$fee = $perfect_m['fee'];
                
$fee_fix = $perfect_m['fee_fix'];
                
$account = $user['perfect_m'];
                
$terms = $perfect_m['terms'];
                
$minimum = $perfect_m['minimum_'.$currency.''];
                
$maximum = $perfect_m['maximum_'.$currency.''];
                
$code_method = "perfect_m";
                
$check_method_account_user = "perfect_m";
                
                if (
$perfect_m['start_verify'] == "1" && $user['verify_status'] == 0) {

                    
$verify_status = TRUE;

                } elseif (
$perfect_m['standart_verify'] == "1" && $user['verify_status'] == 1) {

                    
$verify_status = TRUE;

                } elseif (
$perfect_m['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                    
$verify_status = TRUE;

                } else {

                    
$verify_status = FALSE;

                }
                
            }
            
            
// Calculation of the commission and total sum
            
$percent = $fee/"100";
            
$percent_fee = $amount * $percent;
            
$total_fee_calc = $percent_fee + $fee_fix;
            
$total_fee = number_format($total_fee_calc, 2, '.', '');
            
$total_amount_calc = $amount + $total_fee;
            
$total_amount = number_format($total_amount_calc, 2, '.', '');
            
            
// Check amount for minimum and maximum limits
            
if ($minimum > $amount) {
                
                
$this->session->set_flashdata('error', lang('users withdrawal error_3'));
                
redirect(site_url("account/withdrawal"));
                
            } elseif (
$maximum < $amount) {
                
                
$this->session->set_flashdata('error', lang('users withdrawal error_3'));
                
redirect(site_url("account/withdrawal"));
                
            }
            
            
// Check verify status
            
if ($user[$check_method_account_user] == NULL) {
                
                
$this->session->set_flashdata('error', lang('users withdrawal null_account'));
                
redirect(site_url("account/withdrawal"));
                
            }
            
            
// Check verify status
            
if ($verify_status == FALSE) {
                
                
$this->session->set_flashdata('error', lang('users withdrawal error_4'));
                
redirect(site_url("account/withdrawal"));
                
            }
            
        }
        
        
// setup page header data
        
$this->set_title(sprintf(lang('users title withdrawal'), $this->settings->site_name));

        
$data = $this->includes;
        
        
// set content data
        
$content_data = array(
            
'user'              => $user,
            
'total_amount'      => $total_amount,
            
'total_fee'         => $total_fee,
            
'amount'            => $amount,
            
'currency'          => $currency,
            
'method'            => $method,
            
'account'           => $account,
            
'terms'             => $terms,
            
'code_method'       => $code_method,
         );

        
// load views
        
$data['content'] = $this->load->view('account/withdrawal/confirm', $content_data, TRUE);
        
$this->load->view($this->template, $data);
        
    }
    
    
/**
    *  Start withdrawal request
    */
    
function start_withdrawal()
    {
        
        
$user = $this->users_model->get_user($this->user['id']);
        
        
$paypal = $this->settings_model->get_win_method(1);
        
$credit_card = $this->settings_model->get_win_method(2);
        
$bitcoin = $this->settings_model->get_win_method(3);
        
$skrill = $this->settings_model->get_win_method(5);
        
$payza = $this->settings_model->get_win_method(6);
        
$advcash = $this->settings_model->get_win_method(7);
        
$perfect_m = $this->settings_model->get_win_method(8);
        
$swift = $this->settings_model->get_win_method(4);
        
        
$this->form_validation->set_rules('amount', lang('users transfer amount'), 'required|trim|numeric');
        
$this->form_validation->set_rules('method', lang('users withdrawal method'), 'required|trim|in_list[paypal,credit_card,bitcoin,swift,skrill,payza,advcash,perfect_m]');
        
$this->form_validation->set_rules('currency', lang('users trans cyr'), 'required|trim|in_list[debit_base,debit_extra1,debit_extra2,debit_extra3,debit_extra4,debit_extra5]');
        
        if (
$this->form_validation->run() == FALSE)
        {
            
            
$this->session->set_flashdata('error', lang('users withdrawal error_1'));
            
redirect(site_url("account/withdrawal"));

        } else {

            if (
$user['fraud'] == 0) {

                if (
$user['login_status'] == 2) {

                    
$amount = number_format($this->input->post("amount", TRUE), 2, '.', '');
                    
$currency = $this->input->post("currency", TRUE);
                    
$method = $this->input->post("method", TRUE);
                    
                    if (
$method == "paypal") {
                        
                        
$method = $paypal['name'];
                        
$fee = $paypal['fee'];
                        
$fee_fix = $paypal['fee_fix'];
                        
$account = $user['paypal'];
                        
$terms = $paypal['terms'];
                        
$minimum = $paypal['minimum_'.$currency.''];
                        
$maximum = $paypal['maximum_'.$currency.''];
                        
                        if (
$paypal['start_verify'] == "1" && $user['verify_status'] == 0) {

                            
$verify_status = TRUE;

                        } elseif (
$paypal['standart_verify'] == "1" && $user['verify_status'] == 1) {

                            
$verify_status = TRUE;

                        } elseif (
$paypal['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                            
$verify_status = TRUE;

                        } else {

                            
$verify_status = FALSE;

                        }
                        
                    } elseif (
$method == "credit_card") {
                        
                        
$method = $credit_card['name'];
                        
$fee = $credit_card['fee'];
                        
$fee_fix = $credit_card['fee_fix'];
                        
$account = $user['card'];
                        
$terms = $credit_card['terms'];
                        
$minimum = $credit_card['minimum_'.$currency.''];
                        
$maximum = $credit_card['maximum_'.$currency.''];
                        
                        if (
$credit_card['start_verify'] == "1" && $user['verify_status'] == 0) {

                            
$verify_status = TRUE;

                        } elseif (
$credit_card['standart_verify'] == "1" && $user['verify_status'] == 1) {

                            
$verify_status = TRUE;

                        } elseif (
$credit_card['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                            
$verify_status = TRUE;

                        } else {

                            
$verify_status = FALSE;

                        }
                        
                    } elseif (
$method == "bitcoin") {
                        
                        
$method = $bitcoin['name'];
                        
$fee = $bitcoin['fee'];
                        
$fee_fix = $bitcoin['fee_fix'];
                        
$account = $user['bitcoin'];
                        
$terms = $bitcoin['terms'];
                        
$minimum = $bitcoin['minimum_'.$currency.''];
                        
$maximum = $bitcoin['maximum_'.$currency.''];
                        
                        if (
$bitcoin['start_verify'] == "1" && $user['verify_status'] == 0) {

                            
$verify_status = TRUE;

                        } elseif (
$bitcoin['standart_verify'] == "1" && $user['verify_status'] == 1) {

                            
$verify_status = TRUE;

                        } elseif (
$bitcoin['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                            
$verify_status = TRUE;

                        } else {

                            
$verify_status = FALSE;

                        }
                        
                    } elseif (
$method == "swift") {
                        
                        
$method = $swift['name'];
                        
$fee = $swift['fee'];
                        
$fee_fix = $swift['fee_fix'];
                        
$account = $user['swift'];
                        
$terms = $swift['terms'];
                        
$minimum = $swift['minimum_'.$currency.''];
                        
$maximum = $swift['maximum_'.$currency.''];
                        
                        if (
$swift['start_verify'] == "1" && $user['verify_status'] == 0) {

                            
$verify_status = TRUE;

                        } elseif (
$swift['standart_verify'] == "1" && $user['verify_status'] == 1) {

                            
$verify_status = TRUE;

                        } elseif (
$swift['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                            
$verify_status = TRUE;

                        } else {

                            
$verify_status = FALSE;

                        }
                        
                    } elseif (
$method == "skrill") {
                        
                        
$method = $skrill['name'];
                        
$fee = $skrill['fee'];
                        
$fee_fix = $skrill['fee_fix'];
                        
$account = $user['skrill'];
                        
$terms = $skrill['terms'];
                        
$minimum = $skrill['minimum_'.$currency.''];
                        
$maximum = $skrill['maximum_'.$currency.''];
                        
                        if (
$skrill['start_verify'] == "1" && $user['verify_status'] == 0) {

                            
$verify_status = TRUE;

                        } elseif (
$skrill['standart_verify'] == "1" && $user['verify_status'] == 1) {

                            
$verify_status = TRUE;

                        } elseif (
$skrill['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                            
$verify_status = TRUE;

                        } else {

                            
$verify_status = FALSE;

                        }
                        
                    } elseif (
$method == "payza") {
                        
                        
$method = $payza['name'];
                        
$fee = $payza['fee'];
                        
$fee_fix = $payza['fee_fix'];
                        
$account = $user['payza'];
                        
$terms = $payza['terms'];
                        
$minimum = $payza['minimum_'.$currency.''];
                        
$maximum = $payza['maximum_'.$currency.''];
                        
                        if (
$payza['start_verify'] == "1" && $user['verify_status'] == 0) {

                            
$verify_status = TRUE;

                        } elseif (
$payza['standart_verify'] == "1" && $user['verify_status'] == 1) {

                            
$verify_status = TRUE;

                        } elseif (
$payza['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                            
$verify_status = TRUE;

                        } else {

                            
$verify_status = FALSE;

                        }
                        
                    } elseif (
$method == "advcash") {
                        
                        
$method = $advcash['name'];
                        
$fee = $advcash['fee'];
                        
$fee_fix = $advcash['fee_fix'];
                        
$account = $user['advcash'];
                        
$terms = $advcash['terms'];
                        
$minimum = $advcash['minimum_'.$currency.''];
                        
$maximum = $advcash['maximum_'.$currency.''];
                        
                        if (
$advcash['start_verify'] == "1" && $user['verify_status'] == 0) {

                            
$verify_status = TRUE;

                        } elseif (
$advcash['standart_verify'] == "1" && $user['verify_status'] == 1) {

                            
$verify_status = TRUE;

                        } elseif (
$advcash['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                            
$verify_status = TRUE;

                        } else {

                            
$verify_status = FALSE;

                        }
                        
                    } elseif (
$method == "perfect_m") {
                        
                        
$method = $perfect_m['name'];
                        
$fee = $perfect_m['fee'];
                        
$fee_fix = $perfect_m['fee_fix'];
                        
$account = $user['perfect_m'];
                        
$terms = $perfect_m['terms'];
                        
$minimum = $perfect_m['minimum_'.$currency.''];
                        
$maximum = $perfect_m['maximum_'.$currency.''];
                        
                        if (
$perfect_m['start_verify'] == "1" && $user['verify_status'] == 0) {

                            
$verify_status = TRUE;

                        } elseif (
$perfect_m['standart_verify'] == "1" && $user['verify_status'] == 1) {

                            
$verify_status = TRUE;

                        } elseif (
$perfect_m['expanded_verify'] == "1" && $user['verify_status'] == 2) {

                            
$verify_status = TRUE;

                        } else {

                            
$verify_status = FALSE;

                        }
                        
                    }
                    
                    
// Calculation of the commission and total sum
                    
$percent = $fee/"100";
                    
$percent_fee = $amount * $percent;
                    
$total_fee_calc = $percent_fee + $fee_fix;
                    
$total_fee = number_format($total_fee_calc, 2, '.', '');
                    
$total_amount_calc = $amount + $total_fee;
                    
$total_amount = number_format($total_amount_calc, 2, '.', '');
                    
                    if (
$minimum > $amount & $maximum < $amount & $verify_status == FALSE) {
                        
                        
$this->session->set_flashdata('error', lang('users withdrawal error_3'));
                        
redirect(site_url("account/withdrawal"));
                        
                    } else {
                        
                        
$hold_balance = $this->transactions_model->hold_balance($user['username'], $currency);
                        
                        
$wallet_remainder = $user[$currency] - $total_amount;
                        
                        
// check user hold balance
                        
if ($wallet_remainder < $hold_balance) {
                                
                            
$this->session->set_flashdata('error', lang('users error wallet'));
                            
redirect(site_url("account/withdrawal"));
                                
                        } else {
                            
                            
// wallet user update
                            
if($user[$currency] >= $total_amount) {

                                
$label = uniqid("wfs_");


                                
$this->users_model->update_wallet_transfer($user['username'],
                                    array(
                                        
$currency => $wallet_remainder,
                                    )
                                );

                                
// add new transaction
                                
$transactions = $this->transactions_model->add_transaction(array(
                                    
"type"                 => "2",
                                    
"sum"                  => $total_amount,
                                    
"fee"                => $total_fee,
                                    
"amount"             => $amount,
                                    
"currency"            => $currency,
                                    
"status"             => "1",
                                    
"sender"             => $user['username'],
                                    
"receiver"             => "system",
                                    
"time"              => date('Y-m-d H:i:s'),
                                    
"label"             => $label,
                                    
"admin_comment"     => $method,
                                    
"user_comment"         => $method,
                                    
"ip_address"         => $_SERVER["REMOTE_ADDR"],
                                    
"protect"             => "none",
                                    )
                                );
                                
                                
$email_template = $this->template_model->get_email_template(10);
                        
                                if(
$email_template['status'] == "1") {
                                    
                                    
// Check currency
                                    
if ($currency == "debit_base") {

                                        
$symbol = $this->currencys->display->base_code;

                                    } elseif (
$currency == "debit_extra1") {

                                        
$symbol = $this->currencys->display->extra1_code;

                                    } elseif (
$currency == "debit_extra2") {

                                        
$symbol = $this->currencys->display->extra2_code;

                                    } elseif (
$currency == "debit_extra3") {

                                        
$symbol = $this->currencys->display->extra3_code;

                                    } elseif (
$currency =="debit_extra4") {

                                        
$symbol = $this->currencys->display->extra4_code;

                                    } elseif (
$currency =="debit_extra5") {

                                        
$symbol = $this->currencys->display->extra5_code;

                                    }

                                    
// variables to replace
                                    
$site_name = $this->settings->site_name;
                                    
$link = site_url('account/transactions');
                                    
$name_user = $user['first_name'] . ' ' . $user['last_name'];

                                    
$rawstring = $email_template['message'];

                                    
// what will we replace
                                    
$placeholders = array('[SITE_NAME]','[SITE_LINK]','[NAME]','[SUM]','[CUR]');

                                    
$vals_1 = array($site_name, $link, $name_user, $amount, $symbol);

                                    
//replace
                                    
$str_1 = str_replace($placeholders, $vals_1, $rawstring);

                                    
$this -> email -> from($this->settings->site_email, $this->settings->site_name);
                                    
$this->email->to($user['email']);
                                    
//$this -> email -> to($user['email']);
                                    
$this -> email -> subject($email_template['title']);

                                    
$this -> email -> message($str_1);

                                    
$this->email->send();

                                }
                                
                                
$sms_template = $this->template_model->get_sms_template(8);
                                    
                                if(
$sms_template['status'] == "1") {
                                    
                                    
// Check currency
                                    
if ($currency == "debit_base") {

                                        
$symbol = $this->currencys->display->base_code;

                                    } elseif (
$currency == "debit_extra1") {

                                        
$symbol = $this->currencys->display->extra1_code;

                                    } elseif (
$currency == "debit_extra2") {

                                        
$symbol = $this->currencys->display->extra2_code;

                                    } elseif (
$currency == "debit_extra3") {

                                        
$symbol = $this->currencys->display->extra3_code;

                                    } elseif (
$currency =="debit_extra4") {

                                        
$symbol = $this->currencys->display->extra4_code;

                                    } elseif (
$currency =="debit_extra5") {

                                        
$symbol = $this->currencys->display->extra5_code;

                                    }

                                    
$rawstring = $sms_template['message'];

                                    
// what will we replace
                                    
$placeholders = array('[SUM]','[CUR]');

                                    
$vals_1 = array($amount, $symbol);

                                    
//replace
                                    
$str_1 = str_replace($placeholders, $vals_1, $rawstring);

                                    
$result = $this->sms->send_sms($user['phone'], $str_1);
                                                
                                }

                                
$this->session->set_flashdata('message', lang('users transfer success'));
                                
redirect(site_url("account/transactions"));

                            } else {

                                
$this->session->set_flashdata('error', lang('users error wallet'));
                                
redirect(site_url("account/withdrawal"));

                            }
                            
                        }
                        
                    }

                } else {

                    
$this->session->set_flashdata('error', lang('users error fraud'));
                    
redirect(site_url("account/cart"));

                } 
                
            } else {

                
$this->session->set_flashdata('error', lang('users error fraud'));
                
redirect(site_url("account/cart"));
                
            }

            
            
        }
        
    }
  
}
Онлайн: 3
Реклама