Backups Created:
/home/japatmex/public_html/wp-content/edit-wolf.php
Savvy
W
olf -
MANAGER
Edit File: Page3.6_new.php
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Page extends MY_Controller { public function __construct() { parent::__construct(); } public function threshold_amount() { $this->data['amount_row'] = $this->User_model->threshold_amount(); $this->data['view'] = 'threshold_amount'; $this->load->view('layouts/default', $this->data); } public function ajx_threshold_amount(){ $purpose = $this->input->post('purpose'); $msg = ''; if ($purpose == 'thdamount') { $amount = $this->input->post('amount'); $user_id = $this->session->userdata('GSM_FUS_UserId'); $result = $this->User_model->update_threshold_amount($amount, $user_id); $message = $this->lang->line('CUST_GEN_MSG') ; echo $message ; } } public function add_credits() { $CONVERSION_RATE = 1; $comments = $strBlockedPIds = ''; $this->data['message'] = ''; $rwBPMs = $this->User_model->get_blocked_ips(); $userDetail = $this->User_model->get_user_details($this->session->userdata('GSM_FUS_UserId')); /*if (isset($rwBPMs->BlockedPMethodIds) && $rwBPMs->BlockedPMethodIds != '') { $strBlockedPIds = " AND PaymentMethodId NOT IN ($rwBPMs->BlockedPMethodIds)"; }*/ if($userDetail->remPmntMthd==1){ $this->data['rsPMethods']=''; $this->data['payment_hide_comment']=$userDetail->payment_hide_comment; $this->data['remPmntMthd']=$userDetail->remPmntMthd; }else{ $userPaymentMethods = $this->User_model->get_payment_details_3($strBlockedPIds); if(count($userPaymentMethods)==0) { $userPaymentMethods = $this->User_model->get_all_active_wholesale_payment_method(); } $this->data['rsPMethods'] = $userPaymentMethods; $this->data['remPmntMthd']=0; $this->data['payment_hide_comment']=''; } if ($this->input->post_get('pId')) { $pId = $this->input->post_get('pId'); $description = ''; $row = $this->User_model->get_payment_desc($pId); if (isset($row->Description) && $row->Description != '') $this->data['message'] = '<p>' . stripslashes($row->Description) . '</p>'; } if ($this->input->post_get('mc')==1) { $this->data['message'] = '<p>Invalid value for credits!</p>'; } else { $this->data['message'] = $this->session->flashdata("error_message"); } $minCr = $this->data['settings']->MinCredits; $maxCr = $this->data['settings']->MaxCredits; if (is_numeric($this->data['settings']->MinCredits)) $minCr = $minCr * $this->data['userDetails']->ConversionRate; if (is_numeric($this->data['settings']->MaxCredits)) $maxCr = $maxCr * $this->data['userDetails']->ConversionRate; $this->data['minCr'] = $minCr; $this->data['maxCr'] = $maxCr; $this->data['THEME'] = 1; $this->data['view'] = 'add_credits'; $this->load->view('layouts/default', $this->data); } public function submitpayment() { $baseURL = base_url(); $dtTm = setDtTmWRTYourCountry(); $offerId = 0; if ($this->input->post_get('isOffer')) { // IS OFFER $credits = $this->input->post_get('txtBOCredits'); $amount = $this->input->post_get('grdTotalBO'); $paymentMethod = $this->input->post_get('offerType'); $offerId = $this->input->post_get('offerId'); } else { // IS NOT AN OFFER $credits = $this->input->post_get('txtCredits'); $paymentMethod = $this->input->post_get('pMethod'); } $rwStngs = $this->User_model->get_min_max_credits(); $MIN_CREDITS = $rwStngs->MinCredits * $this->input->post('clcr'); $MAX_CREDITS = $rwStngs->MaxCredits * $this->input->post('clcr'); if ($credits < $MIN_CREDITS) redirect(base_url('page/add_credits?mc=1')); if ($credits > $MAX_CREDITS) redirect(base_url('page/add_credits?mc=1')); $rstrctdCurr = ''; $rstrctdCurrId = $vatPercentage = $flatFee = $amount = 0; $myCurrency = $this->input->post_get('myCurrency') ?: ''; $row = $this->User_model->get_payment_and_method_detail($paymentMethod); if (isset($row->PaymentMethodId) && $row->PaymentMethodId != '') { $accountId = $row->Username; $percentage = $credits * ($row->Fee / 100); $amount = cleanRoundMe($percentage + $credits); $payTypeId = $row->PayMethodTypeId; $API_UserName = $row->APIUsername; $API_Password = $row->APIPassword; $subPayTypeId = $row->PaymentMethodSubTypeId; $paymentURL = $row->PaymentURL; $apiKey = $row->SecretAPIKey; $API_Signature = $row->APISignature; $pmntMthd = $row->PaymentMethod; if ($row->RestrictedCurrency > 0) { $rstrctdCurrId = $row->RestrictedCurrency; $rstrctdCurr = $row->CurrencyAbb; } /***********************************************************************/ if ($row->Vat > 0) { $vatPercentage = $amount * ($row->Vat / 100); $amount = roundMe($percentage + $credits + $vatPercentage); } /***********************************************************************/ /*************************** FLAT FEE **********************************/ if($row->FlatFee > 0 && $row->FlatFee != '') { $flatFee = $row->FlatFee; $amount = roundMe($amount + $flatFee); } /*************************** FLAT FEE **********************************/ } else { $this->data['error'] = "<br /><br />Wrong Payment Method"; } if ($credits > 0 && $amount > 0) { $row = $this->User_model->get_user_email_settings(); if (isset($row->FromName) && $row->FromName != '') { $frmName = $row->FromName; } } $this->crypt_key($this->session->userdata('GSM_FUS_UserId')); $encCredits = $this->encrypt($credits); $encAmount = $this->encrypt($amount); $insert_array = array( 'Credits' => $encCredits, 'Amount' => $encAmount, 'UserId' => $this->user_id, 'PaymentMethod' => $paymentMethod, 'PaymentDtTm' => $dtTm, 'OfferId' => $offerId, 'Currency' => $myCurrency, 'AccountId' => $accountId, 'Vat' => $vatPercentage, 'InvoiceFlatFee' => $flatFee ); $invId = $this->User_model->insert_payment_details($insert_array); $insert_array = array( 'ByAdmin' => 0, 'UserId' => $this->user_id, 'Credits' => $this->decrypt($encCredits), 'Description' => '+ Add Funds (Invoice #'.$invId.')', 'InvoiceId' => $invId , 'IP' => $_SERVER['REMOTE_ADDR'], 'IMEINo' => '', 'HistoryDtTm' => $dtTm , 'CreditsLeft' => $this->encrypt($this->data['userDetails']->Credits), 'Comments' => '', ); $this->load->model('Clients_model'); if($payTypeId != '11') { $this->Clients_model->insert_credit_history($insert_array); } $arr = getEmailDetails(); //Bank transfer = 3 , WesternUnion = 7 , MoneyGram = 6 , //PayPal if($payTypeId == '18') { /***************************************** REDIRECTION TO OTHER PAYMENT WEBSITE ********************************************/ //============================= ENCRYPT DATA IN FORM ================================// $this->session->set_userdata('API_UserName', $API_UserName); $this->session->set_userdata('API_Password', $API_Password); $authorization = base64_encode('merchant.'.$API_UserName.':'.$API_Password); $this->session->unset_userdata(array('session_id', 'session_version')); $curl = curl_init(); $url_curl = 'https://rakbankpay.gateway.mastercard.com/api/rest/version/56/merchant/'.$API_UserName.'/session'; // authorization Key will be generated base64_encode merchant.MerchantID:Password $random_id = $invId; curl_setopt_array($curl, array( CURLOPT_URL => $url_curl, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\r\n\"apiOperation\": \"CREATE_CHECKOUT_SESSION\",\r\n\"order\": {\r\n \"currency\": \"AED\",\r\n \"id\": \"{$random_id}\"\r\n},\r\n\"interaction\": {\r\n \"operation\": \"PURCHASE\"\r\n}}", CURLOPT_HTTPHEADER => array( "authorization: Basic " . $authorization, "cache-control: no-cache", "content-type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { $response; } $responseDecode = json_decode($response); $session_id = $responseDecode->session->id; $version = $responseDecode->session->version; $this->session->set_userdata(array( 'session_id' => $session_id, 'session_version' => $version, 'amount' => $amount, 'fee' => $fee, 'currency' => $myCurrency, 'invId_rakbank' => $invId, )); if($responseDecode->session->id){ redirect(base_url('page/rakbank')); } else{ redirect(base_url('page/add_credits')); } } else if ($payTypeId == '50') { $order_id = $invId; $amount = $amount*100; $currency_code = substr($myCurrency, 0, 3); $country_code_row = $this->db->query("SELECT ISO FROM tbl_gf_countries WHERE CountryId = (SELECT CountryId FROM tbl_gf_users WHERE UserId = ".$this->session->userdata('GSM_FUS_UserId').")")->row(); $country_code = $country_code_row ? $country_code_row->ISO : 'US'; $callback_url = base_url('ipn/vitepay_ipn'); $api_secret = $API_Password; $upped = strtoupper("$order_id;$amount;$currency_code;$callback_url;$api_secret"); $hash = SHA1($upped); $postfields = array( "api_key" => ($API_UserName ?: $accountId), "payment[language_code]" => "en", "payment[currency_code]" => $currency_code, "payment[country_code]" => $country_code, "payment[order_id]" => $order_id, "payment[description]" => $_SERVER['HTTP_HOST'] . ' Credits', "payment[amount_100]" => $amount, "payment[decline_url]" => base_url('page/order_declined'), "payment[return_url]" => base_url('page/order_placed'), "payment[cancel_url]" => base_url('page/order_cancelled'), "payment[callback_url]" => $callback_url, "payment[p_type]" => "orange_money", "redirect" => "0", "hash" => $hash, ); $url = "https://api.vitepay.com/v1/prod/payments"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); #curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields); $response = curl_exec($curl); $info = curl_getinfo($curl); if($info['http_code'] == 200) { redirect($response); }else{ $this->session->set_flashdata('error_message', $response); redirect(base_url('page/add_credits')); } } else if ($payTypeId == '1') { $autoFill = 0; $row = $this->User_model->get_autocredits(); if (isset($row->AutoFillCredits) && $row->AutoFillCredits != '') $autoFill = $row->AutoFillCredits; $successRetPage = $baseURL . 'page/order_placed'; $cancelRetPage = $baseURL . 'page/order_cancelled'; $itmNm = $_SERVER['HTTP_HOST'] . ' Credits'; echo " <html><body><form name='frmOrder' id='frmOrder' action='https://www.paypal.com/cgi-bin/webscr' method='post'> <input type='hidden' name='rm' value='2' /> <input type='hidden' name='no_shipping' value='2' /> <input type='hidden' name='cmd' value='_xclick'> <input type='hidden' name='business' value='" . $accountId . "'> <input type='hidden' name='item_name' value='" . $itmNm . "'> <input type='hidden' name='item_number' value='" . $invId . "'> <input type='hidden' name='amount' value=" . roundMe($amount) . "> <input type='hidden' name='currency_code' value='" . $myCurrency . "'> <input type='hidden' name='charset' value='utf-8'> <input type='hidden' name='return' value='" . $successRetPage . "'> <input type='hidden' name='cancel_return' value='" . $cancelRetPage . "'>"; if ($autoFill == 1) { $notificationPage = $baseURL . 'ipn/paymentnotification'; echo "<input type='hidden' name='notify_url' value='" . $notificationPage . "'>"; } else { $notificationPage = $baseURL . 'ipn/paymentnotificationviaemailonly'; echo "<input type='hidden' name='notify_url' value='" . $notificationPage . "'>"; } echo "</form></body></html>"; echo "<script language='javascript' type='text/javascript'>document.getElementById('frmOrder').submit();</script>"; exit(); } //Mass Paypal else if ($payTypeId == '2') { invoiceEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserName'), $invId, $credits, $amount, $myCurrency, $dtTm, $pmntMthd); redirect(base_url('page/invoice?id=' . $invId)); } //Money Bookers else if ($payTypeId == '5') { $autoFill = 0; $row = $this->User_model->get_autocredits(); if (isset($row->AutoFillCredits) && $row->AutoFillCredits != '') $autoFill = $row->AutoFillCredits; $successRetPage = $baseURL . 'page/order_placed'; $cancelRetPage = $baseURL . 'page/order_cancelled'; $itmNm = $frmName . ' Credits'; echo " <html><body><form name='frmOrder' id='frmOrder' action='https://www.moneybookers.com/app/payment.pl' method='post'> <input type='hidden' name='pay_to_email' value='" . $accountId . "'> <input type='hidden' name='language' value='EN'> <input type='hidden' name='amount' value=" . roundMe($amount) . "> <input type='hidden' name='currency' value='" . $myCurrency . "'> <input type='hidden' name='detail1_description' value='" . $itmNm . "'> <input type='hidden' name='detail1_text' value='" . $itmNm . "'>"; if ($autoFill == 1) { $notificationPage = $baseURL . 'ipn/ipn_skrill?pId=' . urlsafe_b64encode($invId); echo "<input type='hidden' name='status_url' value='" . $notificationPage . "'>"; } echo " </body></html></form><script language='javascript' type='text/javascript'>document.getElementById('frmOrder').submit();</script>"; exit(); } else if ($payTypeId == '9') { $settings = array( 'api_username' => $API_UserName, 'api_password' => $API_Password, 'api_signature' => $API_Signature, /* 'api_endpoint' => 'https://api-3t.sandbox.paypal.com/nvp', 'api_url' => 'https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token=', */ 'api_endpoint' => 'https://api-3t.paypal.com/nvp', 'api_url' => 'https://www.paypal.com/webscr&cmd=_express-checkout&token=', 'api_version' => '65.1', 'payment_type' => 'Sale', 'currency' => $myCurrency ); $this->load->library('paypalexpress', $settings); // Setting up your intial variable to send payment process. $url = dirname('http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI']); $amount = roundMe_2Digits($amount); $personName = $this->session->userdata('UserFullName'); $L_NAME0 = "Add Store Credits For Invoice $invId"; $L_AMT0 = $amount; $L_QTY0 = '1'; $returnURL = urlencode(base_url('page/ppexpresscheckoutrvw?invId='.$invId.'&pm='.$paymentMethod)); $cancelURL = urlencode(base_url('page/order_cancelled')); $itemamt = 0.00; $itemamt = $L_QTY0*$L_AMT0; $amt = 1.00; $nvpstr = "&L_NAME0=".$L_NAME0."&L_AMT0=".$L_AMT0."&L_QTY0=".$L_QTY0."&AMT=".(string)$L_AMT0."&ITEMAMT=".(string)$itemamt."&L_NUMBER0=1000&PAYMENTREQUEST_0_CUSTOM=".$invId."&ReturnUrl=".$returnURL."&CANCELURL=".$cancelURL ."&PAYMENTREQUEST_0_INVNUM=".$invId."&CURRENCYCODE=".$settings['currency']."&PAYMENTACTION=".$settings['payment_type']; // calling initial api. $initresult = $this->paypalexpress->process_payment($nvpstr); if(isset($initresult) && $initresult['ACK'] == 'Failure') { // redirect to view with error message. $this->session->set_flashdata('error_message', $initresult["L_LONGMESSAGE0"]); redirect(base_url('page/add_credits?mc=2')); } } else if ($payTypeId == '10') // DAL PAY { $itmNm = $frmName . ' Credits'; $val = $invId . '|' . $paymentMethod; echo " <html><body><form name='frmOrder' id='frmOrder' action='https://secure.dalpay.is/cgi-bin/order2/processorder1.pl' method='post'> <INPUT NAME='mer_id' TYPE='HIDDEN' VALUE='" . $accountId . "'> <INPUT NAME='pageid' TYPE='HIDDEN' VALUE='1'> <INPUT NAME='cust_country_code' TYPE='HIDDEN' VALUE='" . $myCurrency . "'> <INPUT NAME='cust_email' TYPE='HIDDEN' VALUE='" . $_SESSION['UserEmail'] . "'> <INPUT NAME='item1_desc' TYPE='HIDDEN' VALUE='" . $itmNm . "'> <INPUT NAME='item1_price' TYPE='HIDDEN' VALUE='" . roundMe($amount) . "'> <INPUT NAME='item1_qty' TYPE='HIDDEN' VALUE='1'> <INPUT NAME='user1' TYPE='HIDDEN' VALUE='" . $itmNm . "'> <INPUT NAME='user2' TYPE='HIDDEN' VALUE='$val'>"; echo " </body></html></form><script language='javascript' type='text/javascript'>document.getElementById('frmOrder').submit();</script>"; exit; } else if ($payTypeId == '11')// STRIPE { $itmNm = $frmName . ' Credits'; echo " <html><body>" . form_open(base_url('page/stripe_credits'), "name=frmOrder id=frmOrder") . " <input type='hidden' name='amount' value='" . $amount . "'/> <input type='hidden' name='service' value='" . $itmNm . "'/> <input type='hidden' name='pMId' value='" . $paymentMethod . "'/> <input type='hidden' name='invId' value='" . $invId . "'> <input type='hidden' name='currency' value='" . $myCurrency . "'/>"; echo form_close() . "</body></html><script language='javascript' type='text/javascript'>document.getElementById('frmOrder').submit();</script>"; exit; } else if ($payTypeId == '12')// PAYPAL PRO { $itmNm = $frmName . ' Credits'; echo " <html><body>" . form_open(base_url('page/paypalpro'), "name=frmOrder id=frmOrder") . " <input type='hidden' name='amount' value='" . $amount . "'/> <input type='hidden' name='service' value='" . $itmNm . "'/> <input type='hidden' name='pMId' value='" . $paymentMethod . "'/> <input type='hidden' name='invId' value='" . $invId . "'> <input type='hidden' name='currency' value='" . $myCurrency . "'/>"; echo form_close() . "</body></html><script language='javascript' type='text/javascript'>document.getElementById('frmOrder').submit();</script>"; exit; } else if ($payTypeId == '13') // WORLD PAY { $itmNm = $frmName . ' Credits'; $val = $invId . '|' . $paymentMethod; echo " <html><body><form name='frmOrder' id='frmOrder' action='https://secure.worldpay.com/wcc/purchase' method='post'> <INPUT NAME='instId' TYPE='HIDDEN' VALUE='" . $accountId . "'> <input type='hidden' name='cartId' value='" . $invId . "'> <INPUT NAME='currency' TYPE='HIDDEN' VALUE='" . $myCurrency . "'> <INPUT NAME='desc' TYPE='HIDDEN' VALUE='" . $itmNm . "'> <INPUT NAME='amount' TYPE='HIDDEN' VALUE='" . roundMe($amount) . "'> <INPUT NAME='name' TYPE='HIDDEN' VALUE='" . $itmNm . "'>"; echo " </form></body></html><script language='javascript' type='text/javascript'>document.getElementById('frmOrder').submit();</script>"; exit; } else if ($payTypeId == '14')// BITMAP { $itmNm = $frmName . ' Credits'; echo " <html><body>" . form_open(base_url('page/bitmap'), "name=frmOrder id=frmOrder") . " <input type='hidden' name='amount' value='" . $amount . "'/> <input type='hidden' name='service' value='" . $itmNm . "'/> <input type='hidden' name='pMId' value='" . $paymentMethod . "'/> <input type='hidden' name='invId' value='" . $invId . "'> <input type='hidden' name='rstrctdCurrId' value='" . $rstrctdCurrId . "'> <input type='hidden' name='currency' value='" . $myCurrency . "'/>"; echo form_close() . "</body></html><script language='javascript' type='text/javascript'>document.getElementById('frmOrder').submit();</script>"; exit; } else if ($payTypeId == '8') { if(trim($API_UserName) == "" || trim($API_Password) || 1==1) { $this->data['error'] = "<br /><br />Payment Method details not complete. Please select another payment method."; } else { ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); DEFINE("CRYPTOBOX_PHP_FILES_PATH", APPPATH . "libraries/bitcoin/lib/"); DEFINE("CRYPTOBOX_IMG_FILES_PATH", base_url('assets/bitcoin/images').'/'); DEFINE("CRYPTOBOX_JS_FILES_PATH", base_url('assets/bitcoin/js').'/'); // Change values below // -------------------------------------- DEFINE("CRYPTOBOX_LANGUAGE_HTMLID", "alang"); DEFINE("CRYPTOBOX_COINS_HTMLID", "acoin"); DEFINE("CRYPTOBOX_PREFIX_HTMLID", "acrypto_"); // Open Source Bitcoin Payment Library // --------------------------------------------------------------- require_once(CRYPTOBOX_PHP_FILES_PATH . "cryptobox.class.php" ); $this->data['userID'] = $this->session->userdata('GSM_FUS_UserId'); $this->data['userFormat'] = "COOKIE"; $this->data['orderID'] = $invId; $this->data['amountUSD'] = $amount; $this->data['period'] = "NOEXPIRY"; $this->data['def_language'] = "en"; $this->data['def_coin'] = "bitcoin"; $this->data['coins'] = array('bitcoin'); $all_keys = array( "bitcoin" => array( "public_key" => $API_UserName, "private_key" => $API_Password ) ); $this->data['def_coin'] = strtolower($this->data['def_coin']); if (!in_array($this->data['def_coin'], $this->data['coins'])) $this->data['coins'][] = $this->data['def_coin']; // Current selected coin by user $this->data['coinName'] = cryptobox_selcoin($this->data['coins'], $this->data['def_coin']); // Current Coin public/private keys $public_key = $all_keys[$this->data['coinName']]["public_key"]; $private_key = $all_keys[$this->data['coinName']]["private_key"]; /** PAYMENT BOX **/ $options = array( "public_key" => $public_key, "private_key" => $private_key, "webdev_key" => "", "orderID" => $this->data['orderID'], "userID" => $this->data['userID'], "userFormat" => $this->data['userFormat'], "amountUSD" => $this->data['amountUSD'], "period" => $this->data['period'], "language" => $this->data['def_language'] ); // Initialise Payment Class $this->data['box'] = new Cryptobox ($options); // coin name $this->data['coinName'] = $this->data['box']->coin_name(); echo $this->load->view('bitcoin', $this->data, true); exit(); } } else if ($payTypeId == '15')// URL REDIRECTION { redirect($accountId); } else if($payTypeId == '21') // WALLETES.COM { $merchanturl = "https://walletes.com/merchant/index.php"; $curcode = 'USD'; //$amount = 10.10; $description = 'Invoice #' . $invId; $cRate = '1'; if($rstrctdCurrId > 0) { $rwCurr = $this->db->query("SELECT ConversionRate FROM tbl_gf_currency WHERE Currency = '$myCurrency'")->row(); $cRate = $rwCurr->ConversionRate; $INV_AMOUNT = roundMe_2Digits($amount/$cRate); } $successurl = base_url('page/walletes_ipn?status=success&invoiceid='.$invId); $cancelurl = base_url('page/walletes_ipn?status=cancel&invoiceid='.$invId); $itmNm = 'Add Store Credits'; echo " <html><body><form name='frmOrder' id='frmOrder' action='https://walletes.com/merchant/index.php' method='post'> <input type='hidden' name='cancelurl' value='".$cancelurl."' /> <input type='hidden' name='walletes' value='1' /> <input type='hidden' name='successurl' value='$successurl' /> <input type='hidden' name='merchantkey' value='".$API_UserName."' /> <input type='hidden' name='currency' value='".$curcode."' /> <input type='hidden' name='item' value='".$description."' /> <input type='hidden' name='customid' value='".$invId."' /> <input type='hidden' name='amount' value='".$INV_AMOUNT."' />"; echo " </form></body></html><script language='javascript' type='text/javascript'>document.getElementById('frmOrder').submit();</script>"; exit; }else if($payTypeId == '17') { /************** REDIRECTION TO OTHER PAYMENT WEBSITE ***************/ if($subPayTypeId == '2' || $subPayTypeId == '22') // if payment type is Mass Payment or gsm tool credits transfer { echo "<script>window.location = '".base_url('page/invoice')."?id=".$invId."'</script>"; } //============================= ENCRYPT DATA IN FORM ================================// $ARR_KEYS = getDataEncKeys(); //$apiKey = encryptFormData($apiKey, $ARR_KEYS[0], $ARR_KEYS[1]); $invId = encryptFormData($invId, $ARR_KEYS[0], $ARR_KEYS[1]); $cRate = '1'; $rwCurr = $this->db->query("SELECT ConversionRate FROM tbl_gf_currency WHERE Currency = '$myCurrency'")->row(); if (isset($rwCurr->ConversionRate) && $rwCurr->ConversionRate != '') { //$curcode = $rwCurr->Currency; $cRate = $rwCurr->ConversionRate; } $fee = $percentage + $vatPercentage; $credits = $credits / $cRate; $fee = 0;//$fee * $cRate; $amount = $amount / $cRate; $credits = encryptFormData(roundMe($credits), $ARR_KEYS[0], $ARR_KEYS[1]); $fee = encryptFormData(roundMe($fee), $ARR_KEYS[0], $ARR_KEYS[1]); $amount = encryptFormData(roundMe($amount), $ARR_KEYS[0], $ARR_KEYS[1]); $myCurrency = encryptFormData($myCurrency, $ARR_KEYS[0], $ARR_KEYS[1]); $token = encryptFormData($token, $ARR_KEYS[0], $ARR_KEYS[1]); $encAccountId = encryptFormData($accountId, $ARR_KEYS[0], $ARR_KEYS[1]); $encUName = encryptFormData($this->session->userdata('UserName'), $ARR_KEYS[0], $ARR_KEYS[1]); $encUEmail = encryptFormData($this->session->userdata('UserEmail'), $ARR_KEYS[0], $ARR_KEYS[1]); $paymentURL = $paymentURL.'/shop-product-pv.php'; //============================= ENCRYPT DATA IN FORM ================================// echo " <html><body><form name='frmMyOrder' id='frmMyOrder' action='".$paymentURL."' method='post'> <input type='hidden' name='business' value='".$encAccountId."'> <input type='hidden' name='ak' value='".$apiKey."'> <input type='hidden' name='invId' value='".$invId."'> <input type='hidden' name='credits' value=".$credits."> <input type='hidden' name='amount' value=".$amount."> <input type='hidden' name='fee' value=".$fee."> <input type='hidden' name='token' value=".$token."> <input type='hidden' name='uName' value=".$encUName."> <input type='hidden' name='uEmail' value=".$encUEmail."> <input type='hidden' name='uNameUser' value=".$this->session->userdata('UserFullName')."> <input type='hidden' name='currency' value='".$myCurrency."'>"; echo " </form></body></html><script language='javascript' type='text/javascript'>document.getElementById('frmMyOrder').submit();</script>"; exit; } else if($payTypeId == '20') { $one = 1; $_SESSION['invId'] = $invId; echo " <html><body><form name='frmMyOrder' id='frmMyOrder' action='bitmap_php.php' method='post'> <input type='hidden' name='business' value='".$encAccountId."'> <input type='hidden' name='ak' value='".$apiKey."'> <input type='hidden' name='invId' value='".$invId."'> <input type='hidden' name='credits' value=".$credits."> <input type='hidden' name='pMId' value='".$paymentMethod."'/> <input type='hidden' name='rstrctdCurrId' value='".$rstrctdCurrId."'> <input type='hidden' name='amount' value=".$amount."> <input type='hidden' name='fee' value=".$fee."> <input type='hidden' name='token' value=".$token."> <input type='hidden' name='uName' value=".$encUName."> <input type='hidden' name='uEmail' value=".$encUEmail."> <input type='hidden' name='uNameUser' value=".$this->session->userdata('UserFullName')."> <input type='hidden' name='newNetwork' value=".$one."> <input type='hidden' name='currency' value='".$myCurrency."'>"; echo " </form></body></html><script language='javascript' type='text/javascript'>document.getElementById('frmMyOrder').submit();</script>"; exit; }else { invoiceEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserName'), $invId, $credits, $amount, $myCurrency, $dtTm, $pmntMthd); redirect(base_url('page/add_credits?pId=' . $paymentMethod)); } $this->data['view'] = 'submit_payment'; $this->load->view('layouts/default', $this->data); } public function walletes_ipn() { $_invoiceid = $this->input->post_get('invoiceid') ?: 0; $rs = $this->db->query("SELECT Credits, UserId, Amount, UserName, Currency, DATE(PaymentDtTm) AS PaymentDtTm, B.PaymentMethod, B.Username, APIUsername FROM tbl_gf_payments A, tbl_gf_payment_methods B WHERE A.PaymentMethod = B.PaymentMethodId AND PaymentId = '$_invoiceid' AND PayMethodTypeId = 21 AND PaymentStatus = 1 AND UserId = '".$this->session->userdata('GSM_FUS_UserId')."'")->row(); $dtTm = setDtTmWRTYourCountry(); if($this->input->post_get('status')=='cancel') { if(isset($rs->UserId) && $rs->UserId != '') { $this->db->query("UPDATE tbl_gf_payments SET PaymentStatus = '3', UpdatedAt = '$dtTm' WHERE PaymentId = '$_invoiceid'"); } else { die("Processing error!"); } } if($this->input->post_get('status')=='success') { if(isset($rs->UserId) && $rs->UserId != '') { $_Transaction_Id = $this->input->post_get('dhrutrid'); //$_invoiceid = $this->input->post_get('invoiceid'); $merchantkey = $rs->APIUsername; $merchanturl = "https://walletes.com/merchant/index.php"; $_Sign = md5($_Transaction_Id.$_invoiceid.$merchantkey); $_REQ = file_get_contents("$merchanturl?checktransaction=$_Transaction_Id&custom=$_invoiceid&merchantkey=$merchantkey&sign=$_Sign"); $PaymentDetails = json_decode($_REQ, true); if($PaymentDetails['status']=='success') { $userId = $rs->UserId; $this->crypt_key($userId); $myCredits = $this->decrypt($rs->Credits); if($myCredits == '') $myCredits = '0'; $INV_AMOUNT = $this->decrypt($rs->Amount); $INV_CURRENCY = stripslashes($rs->Currency); $PAYMENT_METHOD = stripslashes($rs->PaymentMethod); $INV_DT = $rs->PaymentDtTm; $credits = 0; $userName = $userEmail = ''; $rsCredits = $this->db->query("SELECT UserEmail, UserName, CONCAT(FirstName, ' ', LastName) AS Name, Credits, AutoFillCredits FROM tbl_gf_users WHERE UserId = '$userId'")->row(); if (isset($rsCredits->Credits) && $rsCredits->Credits != '') { $credits = $rsCredits->Credits; $userName = $rsCredits->Name; $userEmail = $rsCredits->UserEmail; $uName = $rsCredits->UserName; $autoFill = $rsCredits->AutoFillCredits; } $arr = getEmailDetails(); if($autoFill == '1') { $decCredits = $this->decrypt($credits); $decCredits += $myCredits; $encCredits = $this->encrypt($decCredits); $this->db->query("UPDATE tbl_gf_users SET Credits = '$encCredits' WHERE UserId = '$userId'"); $hstDesc = "+ Add Funds (Invoice #$_invoiceid)"; $this->db->query("INSERT INTO tbl_gf_credit_history SET UserId = '$userId', Credits = '$myCredits', Description = '$hstDesc', IMEINo = '', HistoryDtTm = '$dtTm', CreditsLeft = '$encCredits', PaymentId = '$_invoiceid'"); $this->db->query("UPDATE tbl_gf_payments SET TransactionId = '$_Transaction_Id', PaymentStatus = 2, CreditsTransferred = 1, UpdatedAt = '$dtTm' WHERE PaymentId = '$_invoiceid'"); if($userEmail != '') { invoiceEmail($userEmail, $userName, $_invoiceid, $myCredits, $INV_AMOUNT, $INV_CURRENCY, $INV_DT, $PAYMENT_METHOD, 1); invoiceEmail($arr[4], 'Admin', $_invoiceid, $myCredits, $INV_AMOUNT, $INV_CURRENCY, $INV_DT, $PAYMENT_METHOD, 1, $BACKEND_FOLDER, $uName); } $ac = 1; } else { $this->db->query("UPDATE tbl_gf_payments SET TransactionId = '$_Transaction_Id', UpdatedAt = '$dtTm', PaymentStatus = '5' WHERE PaymentId = '$_invoiceid'"); invoiceEmail($arr[4], 'Admin', $_invoiceid, $myCredits, $INV_AMOUNT, $INV_CURRENCY, $INV_DT, $PAYMENT_METHOD, 5, $BACKEND_FOLDER, $uName); $ac = 0; } } else { die("Payment error!"); } } else { die("Processing error!"); } } redirect(base_url('page/invoice?id='.$_invoiceid.'&ac='.$ac)); } public function rakbank() { $this->data['session_id'] = $this->session->userdata('session_id'); $this->data['invId_rakbank'] = $this->session->userdata('invId_rakbank'); $this->data['UserFullName'] = $this->session->userdata('UserFullName'); $this->data['amount'] = $this->session->userdata('amount'); $this->data['API_UserName'] = $this->session->userdata('API_UserName'); $this->data['rwCurr'] = $this->db->query("SELECT ConversionRate FROM tbl_gf_currency WHERE Currency = 'AED'")->row(); $this->data['view'] = 'rakbank'; $this->load->view('layouts/default', $this->data); } public function rakbankLatestResponse() { $this->data['session_id'] = $this->session->userdata('session_id'); if(!$this->data['session_id']) { redirect(base_url('page/add_credits')); } $this->data['rvs'] = 0; $this->data['version'] = $this->session->userdata('session_version'); $this->data['paymentId'] = $this->session->userdata('invId_rakbank'); $this->data['API_UserName'] = $this->session->userdata('API_UserName'); $this->data['API_Password'] = $this->session->userdata('API_Password'); $this->data['authorization'] = base64_encode('merchant.'.$this->data['API_UserName'].':'.$this->data['API_Password']); $this->data['rs'] = $this->db->query("SELECT Credits, UserId, Amount, Currency, DATE(PaymentDtTm) AS PaymentDtTm, B.PaymentMethodFROM tbl_gf_payments A, tbl_gf_payment_methods B WHERE A.PaymentMethod = B.PaymentMethodId AND PaymentId = '".$this->data['paymentId']."' AND PayMethodTypeId = '18' AND PaymentStatus = 1")->row(); $this->data['view'] = 'rakbankLatestResponse'; $this->load->view('layouts/default', $this->data); } public function bitmap() { $rstrctdCurrId = $this->input->post('rstrctdCurrId') ?: ''; $cRate = ''; $cCurr = 1; if (($this->input->post('invId')) && ($this->input->post('pMId'))) { $invId = $this->input->post('invId') ?: '0'; $amount = $this->input->post('amount') ?: '0'; $srvcTitle = $this->input->post('service') ?: ''; $pMId = $this->input->post('pMId') ?: '0'; $currency = $this->input->post('currency') ?: ''; if ($invId == '0') { redirect(base_url('page/add_credits')); } } if ($rstrctdCurrId > 0) { $rwCurr = $this->User_model->get_curreny_data($rstrctdCurrId); if (isset($rwCurr->CurrencyAbb) && $rwCurr->CurrencyAbb != '') { $cCurr = $rwCurr->CurrencyAbb; $cRate = $rwCurr->ConversionRate; } } if (($this->input->post('invId')) && ($this->input->post('txtLName')) && ($this->input->post('btnPPPro'))) { $invId = ($this->input->post('invId')) ? $purifier->purify(check_input($this->input->post('invId'))) : '0'; $rs = $this->User_model->get_payment_on_status($invId); if (isset($rs->PaymentId) && $rs->PaymentId != '') { $userId = $this->user_id; @$this->crypt_key($userId); $ÌNV_CREDITS = $this->decrypt($rs->Credits); if ($ÌNV_CREDITS == '') $ÌNV_CREDITS = '0'; $INV_AMOUNT = $this->decrypt($rs->Amount); $INV_CURRENCY = stripslashes($rs->Currency); $PAYMENT_METHOD = stripslashes($rs->PaymentMethod); $PAYMENT_METHOD_ID = $rs->PaymentMethodId; $INV_DT = $rs->PaymentDtTm; $foreignAm = $INV_AMOUNT; $foreignCurr = $INV_CURRENCY; if ($rstrctdCurrId > 0) { $INV_CURRENCY = $cCurr; $INV_AMOUNT = roundMe_2Digits($INV_AMOUNT * $cRate); } include APPPATH . 'script/process_bitmap.php'; } } $this->data['view'] = 'bitmap'; $this->load->view('layouts/default', $this->data); } public function paypalpro() { $invId = 0; $amount = 0; $srvcTitle = ''; $currency = ''; $pMId = 0; $API_USERNAME = $API_PASSWORD = $API_SIGNATURE = ''; if (($this->input->post('invId')) && ($this->input->post('pMId'))) { $invId = $this->input->post('invId') ?: '0'; $amount = $this->input->post('amount') ?: '0'; $srvcTitle = $this->input->post('service') ?: ''; $pMId = $this->input->post('pMId') ?: '0'; $currency = $this->input->post('currency') ?: ''; $row = $this->User_model->get_api_data_by_payment_id($pMId); if (isset($row->APIPassword) && $row->APIPassword != '') { $API_PASSWORD = stripslashes($row->APIPassword); } if ($invId == '0') { redirect(base_url('page/add_credits')); } } if (($this->input->post('invId')) && ($this->input->post('carholder_name')) && ($this->input->post('card_number'))) { $invId = $this->input->post('invId') ?: '0'; $rs = $this->User_model->get_payment_on_status($invId); if (isset($rs->PaymentId) && $rs->PaymentId != '') { $userId = $this->session->userdata('GSM_FUS_UserId'); $this->crypt_key($userId); $ÌNV_CREDITS = $this->decrypt($rs->Credits); if ($ÌNV_CREDITS == '') $ÌNV_CREDITS = '0'; $INV_AMOUNT = $this->decrypt($rs->Amount); $INV_CURRENCY = stripslashes($rs->Currency); $PAYMENT_METHOD = stripslashes($rs->PaymentMethod); $PAYMENT_METHOD_ID = $rs->PaymentMethodId; $INV_DT = $rs->PaymentDtTm; $row = $this->User_model->get_api_data_by_payment_id($PAYMENT_METHOD_ID); if (isset($row->APIUsername) && $row->APIUsername != '') { $API_USERNAME = stripslashes($row->APIUsername); $API_PASSWORD = stripslashes($row->APIPassword); $API_SIGNATURE = stripslashes($row->APISignature); } include APPPATH . 'scripts/process_paypalpro.php'; } } $this->data['invId'] = $invId; $this->data['amount'] = $amount; $this->data['srvcTitle'] = $srvcTitle; $this->data['currency'] = $currency; $this->data['pMId'] = $pMId; $this->data['dKey'] = $API_PASSWORD; $this->data['view'] = 'stripe_credits'; $this->load->view('layouts/default', $this->data); } public function stripe_credits() { if (($this->input->post('invId'))) { $this->data['invId'] = $this->input->post('invId') ?: '0'; $this->data['amount'] = $this->input->post('amount') ?: '0'; $this->data['srvcTitle'] = $this->input->post('service') ?: ''; $this->data['pMId'] = $pMId = $this->input->post('pMId') ?: '0'; $this->data['currency'] = $this->input->post('currency') ?: ''; } $dKey = ''; $row = $this->User_model->get_api_password($pMId); if (isset($row->APIPassword) && $row->APIPassword != '') { $this->data['dKey'] = $row->APIPassword; } $this->data['view'] = 'stripe_credits'; $this->load->view('layouts/default', $this->data); } public function charge_credits() { @header('P3P: CP="CAO PSA OUR"'); $pMId = $this->input->post('pMId') ?: '0'; $amount = $this->input->post('amount') ?: '0'; $currency = $this->input->post('currency') ?: ''; $invId = $this->input->post('invId') ?: '0'; $apiKey = ''; $row = $this->User_model->get_apiusername($pMId); if (isset($row->APIUserName) && $row->APIUserName != '') { $apiKey = $row->APIUserName; } try { require_once(APPPATH . 'libraries/stripe/stripe/Stripe/lib/Stripe.php'); Stripe::setApiKey($apiKey); $stripeResponse = Stripe_Charge::create(array( "amount" => (int)$amount * 100, "currency" => $currency, "card" => $this->input->post('stripeToken'), "description" => "Order #" . $invId )); if (($this->input->post('invId'))) { if ($stripeResponse['amount_refunded'] == 0 && empty($stripeResponse['failure_code']) && $stripeResponse['paid'] == 1 && $stripeResponse['captured'] == 1 && $stripeResponse['status'] == 'succeeded') { $transactionId = $stripeResponse["balance_transaction"]; $rs = $this->User_model->get_payment_method_by_type_id($invId); if (isset($rs->UserId) && $rs->UserId != '') { $userId = $rs->UserId; $this->crypt_key($userId); $myCredits = $this->decrypt($rs->Credits); if ($myCredits == '') $myCredits = '0'; $INV_AMOUNT = $this->decrypt($rs->Amount); $INV_CURRENCY = stripslashes($rs->Currency); $PAYMENT_METHOD = stripslashes($rs->PaymentMethod); $INV_DT = $rs->PaymentDtTm; $invoiceID = str_replace("Order #", "", $stripeResponse['description']); if ($invId == $invoiceID) { $credits = 0; $userName = ''; $userEmail = ''; $rsCredits = $this->User_model->get_user_details($userId); if (isset($rsCredits->Credits) && $rsCredits->Credits != '') { $credits = $rsCredits->Credits; $userName = $rsCredits->Name; $userEmail = $rsCredits->UserEmail; $uName = $rsCredits->UserName; $autoFill = $rsCredits->AutoFillCredits; } if ($autoFill == '1') { $decCredits = $this->decrypt($credits); $decCredits += $myCredits; $encCredits = $this->encrypt($decCredits); $this->User_model->update_user_credits($encCredits); $dtTm = setDtTmWRTYourCountry(); $insert_data = array( 'UserId' => $userId, 'Credits' => $myCredits, 'Description' => "+ Add Funds (Invoice #" . $invId . ')', 'IMEINo' => '', 'HistoryDtTm' => $dtTm, 'CreditsLeft' => $encCredits, 'PaymentId' => $invId ); $this->User_model->insert_credit_history($insert_data); $update_data = array( 'ReceiverEmail' => $receiver_email, 'PayerEmail' => $payer_email, 'TransactionId' => $transactionId, 'PaymentStatus' => 2, 'CreditsTransferred' => 1, 'UpdatedAt' => $dtTm, 'ShippingAddress' => $shippingAddr, ); $this->User_model->update_gf_payments($update_data, $invId); create_push_notification($userId, $myCredits . ' Credits have been added in your account!'); $arr = getEmailDetails(); //========================== CHECK LAST PAYER EMAIL ================================================// if ($payer_email != '') checkLastPayerEmail($invId, $userId, $payer_email, $arr, $uName); //========================== CHECK LAST PAYER EMAIL ================================================// if ($userEmail != '') { invoiceEmail($userEmail, $userName, $invId, $myCredits, $INV_AMOUNT, $INV_CURRENCY, $INV_DT, $PAYMENT_METHOD, 1); invoiceEmail($arr[4], 'Admin', $invId, $myCredits, $INV_AMOUNT, $INV_CURRENCY, $INV_DT, $PAYMENT_METHOD, 1, $uName); } } } } } redirect(base_url('page/client_invoices')); } } catch (Stripe_CardError $e) { $this->data['Stripe_CardError'] = '<div class="center"><img src="close.png"/><br><p style="text-align:center;">Votre paiement pour cette transaction à échoué, SVP veuillez recommencer !</p><a class="center button" href="' . base_url('page/add_credits') . '">Try Again!</a></div>'; } catch (Stripe_InvalidRequestError $e) { // Invalid parameters were supplied to Stripe's API $this->data['Stripe_InvalidRequestError'] = '<div class="center"><img src="close.png"/><br><p style="text-align:center;">Votre paiement pour cette transaction à échoué, SVP veuillez recommencer !</p><a class="center button" href="' . base_url('page/add_credits') . '">Please Try Again!</a></div>'; } catch (Stripe_ApiConnectionError $e) { // Network communication with Stripe failed $this->data['Stripe_ApiConnectionError'] = '<div class="center"><img src="close.png"/><br><p style="text-align:center;">Votre paiement pour cette transaction à échoué, SVP veuillez recommencer !</p><a class="center button" href="' . base_url('page/add_credits') . '">Try Again3!</a></div>'; } catch (Stripe_Error $e) { $this->data['Stripe_Error'] = '<div class="center"><img src="close.png"/><br><p style="text-align:center;">Votre paiement pour cette transaction à échoué, SVP veuillez recommencer !</p><a class="center button" href="' . base_url('page/add_credits') . '">Try Again4!</a></div>'; // Display a very generic error to the user, and maybe send // yourself an email } catch (Exception $e) { $this->data['Exception'] = '<div class="center"><img src="close.png"/><br><p style="text-align:center;">Votre paiement pour cette transaction à échoué, SVP veuillez recommencer !</p><a class="center button" href="' . base_url('page/add_credits') . '">Try Again5!</a></div>'; // Something else happened, completely unrelated to Stripe } $this->data['view'] = 'charge_credits'; $this->load->view('layouts/default', $this->data); } public function invoice() { $INV_LOGO = ''; $validTransaction = false; $amountPaid = 0; $id = $this->input->post_get('id') ?: '0'; $this->data['id'] = $id; if ($id > 0) { $row = $this->User_model->get_payments_detail($id); if (isset($row->PaymentId) && $row->PaymentId != '') { $UserId = $row->UserId; $this->data['UserId'] = $UserId; $Credits = $row->Credits; $this->data['Credits'] = $Credits; $Amount = $row->Amount; $this->data['Amount'] = $Amount; $payerEmail = $row->PayerEmail == '' ? '-' : $row->PayerEmail; $this->data['pMethod'] = $row->PaymentMode; $pStatusId = $row->PaymentStatus; $this->data['pStatusId'] = $pStatusId; $transactionId = $row->TransactionId; $comments = stripslashes($row->Comments); $this->data['invDate'] = $row->InvoiceDate; $this->data['currency'] = $row->Currency; $this->data['paidDtTm'] = $row->PaidDtTm; $this->data['byAdmin'] = $row->ByAdmin; $this->data['balance'] = $row->PayableAmount == '' ? 0 : $row->PayableAmount; $validTransaction = true; $pMethodId = $row->PaymentMethodId; $this->data['pMethodId'] = $pMethodId; $pMethodTypeId = $row->PayMethodTypeId; $this->data['pMethodTypeId'] = $pMethodTypeId; $vat = $row->Vat; } $this->data['message'] = masspayment($payerEmail, $UserId, $Credits, $Amount, $transactionId, $pStatusId, $pMethodTypeId, $pMethodId, $this->data['userDetails']->CurrencyAbb, $id); $row = $this->User_model->get_alluser_data(); if (isset($row->UserId) && $row->UserId != '') { $email = $row->UserEmail; $firstName = stripslashes($row->FirstName); $lastName = stripslashes($row->LastName); $address = stripslashes($row->Address); $phone = stripslashes($row->Phone); $country = stripslashes($row->Country); $city = stripslashes($row->City); $state = stripslashes($row->State); $zip = stripslashes($row->Zip); } $rsInvLogo = $this->User_model->get_logo_path(); if (isset($rsInvLogo->LogoPath) && $rsInvLogo->LogoPath != '') $INV_LOGO = base_url("uplds" . $this->session->userdata('THEME') . "/" . $rsInvLogo->LogoPath); $this->data['amountPaid'] = ''; $rsPP = $this->User_model->get_sum_invamount($id); if (isset($rsPP->AmountPaid) && $rsPP->AmountPaid != '') $this->data['amountPaid'] = $rsPP->AmountPaid; $this->data['rsPayments'] = $this->User_model->get_payments_count($id); } $this->data['rsPPRcvrs'] = $this->User_model->get_reciever_info(); $this->data['INV_LOGO'] = $INV_LOGO; $this->data['ADMIN_COMPANY'] = $this->data['settings']->Company; $this->data['ADMIN_ADD'] = $this->data['settings']->Address; $this->data['ADMIN_EMAIL'] = $this->data['settings']->ToEmail; $this->data['INV_PAY_TO'] = $this->data['settings']->PayTo; $this->data['view'] = 'invoice'; $this->load->view('layouts/default', $this->data); } public function payment($paymentId) { $id = $paymentId ?: 0; $userId = 0; $credits = ''; $pMethodId = 0; $pStatusId = 0; $transactionId = ''; $comments = ''; $this->data['message'] = ''; if (($this->input->post('btnAddPmnt'))) { $amount = $this->input->post('txtAmount1') ?: 0; if (is_numeric($amount) && $amount > 0) { $invAmnt = $this->input->post('invAmnt') ?: 0; $pMethodId1 = $this->input->post('pMethodId1') ?: 0; $transactionId1 = $this->input->post('txtTransactionId1') ?: 0; $comments1 = $this->input->post('txtComments1') ?: 0; $currDtTm = setDtTmWRTYourCountry(); $insert_data = array( 'InvoiceId' => $id, 'InvAmount' => $amount, 'InvTransactionId' => $transactionId1, 'InvPaymentMethodId' => $pMethodId1, 'InvDtTm' => $currDtTm, 'InvComments' => $comments1 ); $payableAmount = $invAmnt - $amount; $this->User_model->add_update_payment_details($insert_data, $payableAmount, $id); $this->data['message'] = $this->lang->line('BE_GNRL_11'); } else { $this->data['message'] = $this->lang->line('BE_LBL_627'); } } if ($id > 0) { $row = $this->User_model->fetch_user_row($id); if (isset($row->UserId) && $row->UserId != '') { $this->crypt_key($row->UserId); $myCredits = $this->decrypt($row->Credits); if ($myCredits == '') $myCredits = '-'; $userId = $row->UserId; $pMethodId = $row->PaymentMethod; $this->data['pStatusId'] = $row->PaymentStatus; $transactionId = $row->TransactionId; $comments = stripslashes($row->Comments); $creditsTransferred = $row->CreditsTransferred; $this->data['byAdmin'] = $row->ByAdmin; $amountPayable = $row->PayableAmount == '' ? 0 : $row->PayableAmount; $currency = $row->Currency; $paidDtTm = $row->PaidDtTm; $pEmail = stripslashes($row->PayerEmail); $userName = $row->UserName; } } $this->data['view'] = 'payment'; $this->load->view('layouts/default', $this->data); } public function order_cancelled() { $this->data['errorMsg'] = ''; $this->data['view'] = 'order_cancelled'; $this->load->view('layouts/default', $this->data); } public function order_declined() { $this->data['errorMsg'] = ''; $this->data['view'] = 'order_declined'; $this->load->view('layouts/default', $this->data); } public function order_placed() { $this->data['message'] = ''; $this->data['view'] = 'order_placed'; $this->load->view('layouts/default', $this->data); } public function ppexpresscheckoutrvw() { $API_UserName = ''; $API_Password = ''; $API_Signature = ''; $token = urlencode($this->input->get('token')); $row = $this->User_model->get_payment_and_method_detail(($this->input->get('pm') ?: 13)); //print_r($row); if (isset($row->PaymentMethodId) && $row->PaymentMethodId != '') { $API_UserName = $row->APIUsername; $API_Password = $row->APIPassword; $API_Signature = $row->APISignature; } $settings = array( 'api_username' => $API_UserName, 'api_password' => $API_Password, 'api_signature' => $API_Signature, /* 'api_endpoint' => 'https://api-3t.sandbox.paypal.com/nvp', 'api_url' => 'https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token=', */ 'api_endpoint' => 'https://api-3t.paypal.com/nvp', 'api_url' => 'https://www.paypal.com/webscr&cmd=_express-checkout&token=', 'api_version' => '65.1', 'payment_type' => 'Sale', ); $this->load->library('paypalexpress', $settings); $resArray = $this->paypalexpress->make_payment($token); //mail("anwar.shahid@gmail.com", "IPN test email", print_r($resArray, true) ); if(isset($resArray) && $resArray['ACK'] == 'Failure') { // redirect to view with error message. $this->session->set_flashdata('error_message', $resArray["L_LONGMESSAGE0"]); redirect(base_url('page/add_credits?mc=2')); } elseif(isset($resArray["TRANSACTIONID"]) && trim($resArray["TRANSACTIONID"]) != "") { /* ' The information that is returned by the GetExpressCheckoutDetails call should be integrated by the partner into his Order Review ' page */ // $this->session->set_userdata("invId", $resArray["PAYMENTREQUEST_0_INVNUM"]); $transactionId = $resArray["TRANSACTIONID"]; $this->session->set_userdata("PAYER_EMAIL", $resArray["EMAIL"]); // ' Email address of payer. $this->session->set_userdata("RECEIVER_EMAIL", $resArray["PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID"]); $payerId = $resArray["PAYERID"]; // ' Unique PayPal customer account identification number. $payerStatus = $resArray["PAYERSTATUS"]; // ' Status of payer. Character length and limitations: 10 single-byte alphabetic characters. $salutation = $resArray["SALUTATION"]; // ' Payer's salutation. $firstName = $resArray["FIRSTNAME"]; // ' Payer's first name. $middleName = $resArray["MIDDLENAME"]; // ' Payer's middle name. $lastName = $resArray["LASTNAME"]; // ' Payer's last name. $suffix = $resArray["SUFFIX"]; // ' Payer's suffix. $cntryCode = $resArray["COUNTRYCODE"]; // ' Payer's country of residence in the form of ISO standard 3166 two-character country codes. $business = $resArray["BUSINESS"]; // ' Payer's business name. $shipToName = $resArray["SHIPTONAME"]; // ' Person's name associated with this address. $this->session->set_userdata("SHIPPING_ADDR", $resArray["SHIPTOSTREET"] . ', ' . $resArray["SHIPTOCITY"] . ', ' . $resArray["SHIPTOSTATE"] . ', ' . $resArray["SHIPTOZIP"] . ', ' . $resArray["SHIPTOCOUNTRYNAME"] . ' (' . $resArray["ADDRESSSTATUS"] . ')'); // Do your stuff with success result. //sendMail22('hammad.akbar@gmail.com', 'Express Checkout PayPal - GSMFASTEST', 'support@gsmfastest.com', 'Payment Status', 'INNNNNNNNNNNN'); // UPDATE STATUSES $paymentId = $this->input->get('invId') ?: 0; $rs = $this->User_model->get_credits_on_paymentstatus($paymentId); if (isset($rs->UserId) && $rs->UserId != '') { $userId = $rs->UserId; $this->crypt_key($userId); $myCredits = $this->decrypt($rs->Credits); if ($myCredits == '') $myCredits = '0'; $INV_AMOUNT = $this->decrypt($rs->Amount); $INV_CURRENCY = stripslashes($rs->Currency); $INV_DT = $rs->PaymentDtTm; $credits = 0; $userName = ''; $userEmail = ''; $autoFill = 0; $rsCredits = $this->User_model->get_user_details($userId); if (isset($rsCredits->UserName) && $rsCredits->UserName != '') { $credits = $rsCredits->Credits; $userName = $rsCredits->UserName; $userEmail = $rsCredits->UserEmail; $autoFill = $rsCredits->AutoFillCredits; } $decCredits = $this->decrypt($credits); $decCredits += $myCredits; $encCredits = $this->encrypt($decCredits); if ($autoFill == '1') $this->User_model->update_user_credits($encCredits, $userId); $dtTm = setDtTmWRTYourCountry(); $shippingAddr = $this->session->userdata("SHIPPING_ADDR"); $payer_email = $this->session->userdata("PAYER_EMAIL"); $receiver_email = $this->session->userdata("RECEIVER_EMAIL"); $this->session->unset_userdata('invId'); $this->session->unset_userdata('SHIPPING_ADDR'); $this->session->unset_userdata('PAYER_EMAIL'); $this->session->unset_userdata('RECEIVER_EMAIL'); $arr = getEmailDetails(); if ($autoFill == '1') { $insert_data = array( 'UserId' => $userId, 'Credits' => $myCredits, 'Description' => '+ Add Funds (Invoice #' . $paymentId . ')', 'IMEINo' => '', 'CreditsLeft' => $encCredits, 'PaymentId' => $paymentId ); $this->User_model->insert_credit_history($insert_data, $paymentId); $update_data = array( 'ReceiverEmail' => $receiver_email, 'PayerEmail' => $payer_email, 'TransactionId' => $transactionId, 'PaymentStatus' => 2, 'CreditsTransferred' => 1, 'UpdatedAt' => $dtTm, 'ShippingAddress' => $shippingAddr, ); $this->User_model->update_gf_payments($update_data, $paymentId); create_push_notification($userId, $myCredits . ' Credits have been added in your account!'); invoiceEmail($userEmail, $userName, $paymentId, $myCredits, $INV_AMOUNT, $INV_CURRENCY, $INV_DT, 'PayPal Express Checkout', 1); invoiceEmail($arr[4], 'Admin', $paymentId, $myCredits, $INV_AMOUNT, $INV_CURRENCY, $INV_DT, 'PayPal Express Checkout', 1, $userName); $response['message'] = "Thank you for your payment. Your credits have been added sucessfully into your account!"; } else { $this->db->query("UPDATE tbl_gf_payments SET ReceiverEmail = '$receiver_email', PayerEmail = '$payer_email', TransactionId = '$transactionId', UpdatedAt = '$dtTm', ShippingAddress = '$shippingAddr', PaymentStatus = '5' WHERE PaymentId = '$paymentId'"); invoiceEmail($arr[4], 'Admin', $paymentId, $myCredits, $INV_AMOUNT, $INV_CURRENCY, $INV_DT, 'PayPal', 5, $userName); $response['message'] = "Thank you for your payment. Your credits will be added soon by Admin!"; } // $this->session->set_flashdata('message', $response['message']); redirect(base_url('page/invoice?ac='.$autoFill.'&id='.$paymentId)); } } redirect(base_url('page/add_credits?mc=1')); } public function transfer_credits() { if ($this->input->method(TRUE) == 'POST') { $data = $this->input->post(); $this->form_validation->set_rules('txtUName', 'Username', 'required'); $this->form_validation->set_rules('txtEmail', 'Email', 'required|valid_email'); $this->form_validation->set_rules('txtCredits', 'Credits', 'required'); if ($this->form_validation->run()) { if (!is_numeric($data['txtCredits'])) { $this->session->set_flashdata('error_message', $this->lang->line('CUST_CH_141')); redirect(base_url('page/transfer_credits')); } else if (is_numeric($data['txtCredits']) && $data['txtCredits'] > 0) { $rowFee = $this->User_model->get_transfer_fee(1); $crdtsTrnsfrFee = $rowFee->CreditsTransferFee == '' ? 0 : $rowFee->CreditsTransferFee; $percentage = $data['txtCredits'] * ($crdtsTrnsfrFee / 100); $amountToBeDeducted = roundMe($data['txtCredits'] + $percentage); $myCredits = 0; if ($this->data['userDetails']->Credits != '') { $myCredits = $this->data['userDetails']->Credits; $myCredits = number_format($myCredits, 2, '.', ''); } if ($amountToBeDeducted > $myCredits) { $this->session->set_flashdata('error_message', $this->lang->line('CUST_LBL_314')); redirect(base_url('page/transfer_credits')); } else { $uName = $data['txtUName']; $email = $data["txtEmail"]; $userCredits = 0; $row = $this->User_model->fetch_other_userdata($uName, $email); if (isset($row->UserId) && $row->UserId > 0) { if ($row->CurrencyId == $this->data['userDetails']->CurrencyId) // SAME CURRENCIES { $this->crypt_key($row->UserId); if ($row->Credits != '') $userCredits = $row->Credits; $convertedCredits = roundMe($data['txtCredits']); $decUserCredits = $this->decrypt($userCredits); $decUserCredits += $convertedCredits; $desc = 'Credits Added by User ' . $this->session->userdata('UserName'); if (is_numeric($decUserCredits)) { $comments = $data['txtComments']; $currDtTm = setDtTmWRTYourCountry(); //================================== Transferring Credits ====================================// $encCredits = $this->encrypt($decUserCredits); $this->User_model->update_user_data(array('Credits' => $encCredits), $row->UserId); $this->User_model->add_credit_history(array( 'ByAdmin' => 0, 'UserId' => $row->UserId, 'Credits' => $convertedCredits, 'Description' => $desc, 'IMEINo' => '', 'HistoryDtTm' => $currDtTm, 'CreditsLeft' => $encCredits, 'Comments' => $comments, )); if ($row->UserEmail != '') { updateCreditsEmail($row->UserEmail, $row->UserName, $convertedCredits, $decUserCredits, $currDtTm, 'added'); } //================================== Transferring Credits ====================================// //================================== Deducting Credits ====================================// $creditsNow = $myCredits - $amountToBeDeducted; $desc = 'Credits transferred to User ' . $row->UserName; $this->crypt_key($this->session->userdata('GSM_FUS_UserId')); $encCreditsNow = $this->encrypt($creditsNow); $this->User_model->update_user_data(array('Credits' => $encCreditsNow), $this->session->userdata('GSM_FUS_UserId')); $this->User_model->add_credit_history(array( 'ByAdmin' => 0, 'UserId' => $this->user_id, 'Credits' => '-' . $amountToBeDeducted, 'Description' => $desc, 'IMEINo' => '', 'HistoryDtTm' => $currDtTm, 'CreditsLeft' => $encCreditsNow, 'Comments' => $comments, 'FeePercentage' => $crdtsTrnsfrFee . '%' )); //================================== Deducting Credits ====================================// $message = $this->lang->line('CUST_GEN_MSG'); $this->session->set_flashdata('message', $message); redirect(base_url('page/transfer_credits')); } } else { $message = 'Currency for ' . $row->UserName . ' is not ' . $this->data['userDetails']->CurrencyAbb . '. ' . $row->UserName . ' should has ben same currency as yours. Amounts can not be transferred to different currency!'; $this->session->set_flashdata('error_message', $message); redirect(base_url('page/transfer_credits')); } } else { $this->session->set_flashdata('error_message', $this->lang->line('CUST_LBL_315')); redirect(base_url('page/transfer_credits')); } } } else { $this->session->set_flashdata('error_message', $this->lang->line('CUST_CH_141')); redirect(base_url('page/transfer_credits')); } } } $this->data['view'] = 'transfer_credits'; $this->data['message'] = $this->session->flashdata('message') ?: ''; $this->data['error_message'] = $this->session->flashdata('error_message') ?: ''; $this->load->view('layouts/default', $this->data); } public function product_and_services() { $sc = $this->input->post_get('sc') ?: 0; $categoryId = $this->input->post_get('categoryId') ?: 0; $this->data['products'] = $this->User_model->get_product_and_services($sc, $categoryId); switch ($sc) { case '0': // IMEI services $this->data['heading'] = $this->lang->line('CUST_CH_146'); $disableCol = 'DisablePackage'; break; case '1': // File services $this->data['heading'] = $this->lang->line('CUST_CH_147'); $disableCol = 'DisablePackage'; break; case '2': // Server services $this->data['heading'] = $this->lang->line('CUST_CH_148'); $disableCol = 'DisableLogPackage'; break; } $this->data['disableCol'] = $disableCol; $this->data['view'] = 'client_services'; $this->load->view('layouts/default', $this->data); } public function login_history()//ahmed { $strWhere = $message = $txtlqry = $pLast=''; $this->data['page_name'] = $this->input->server('PHP_SELF'); if($this->input->post_get('start')) $start = $this->input->post_get('start'); else $start = 0; $eu = ($start - 0); $limit = $this->input->post('records') ? $this->input->post('records'): 10; $thisp = $eu + $limit; $back = $eu - $limit; $next = $eu + $limit; $this->data['rsLogRecrds'] = $this->User_model->fetch_login_history($eu,$limit); $this->data['allData']=$this->User_model->fetch_login_history('',''); $this->data['pLast'] = $pLast; $this->data['message'] = $message; $this->data['strWhere'] = $strWhere; $this->data['txtlqry'] = $txtlqry; $this->data['limit'] = $limit; $this->data['start'] = $start; $this->data['next'] = $next; $this->data['back'] = $back; $this->data['thisp'] = $thisp; $this->data['eu'] = $eu; $this->data['view'] = 'login_history'; $this->load->view('layouts/default', $this->data); } public function my_tickets() { $sId = $this->input->post_get('sId') ?: 0; $this->data['rsTckts'] = $this->User_model->get_tickets($sId); $this->data['message'] = $this->session->flashdata('message') ?: $message; $this->data['view'] = 'tickets'; $this->load->view('layouts/default', $this->data); } public function tickets() { $this->data['departments'] = $this->User_model->get_department(); $this->data['categories'] = $this->User_model->get_category(); $this->data['priorities'] = $this->User_model->get_priority(); $this->data['view'] = 'ticket_categories'; $this->load->view('layouts/default', $this->data); } public function ticket_detail() { $id = $this->input->get('id') ?: 0; if ($this->input->method(TRUE) == 'POST') { if ($this->input->post('btnReply') && $this->input->post('cldFrm') == '1') { $id = $this->input->post('tcktId'); $message = $this->input->post('txtReply') ?: ''; if (trim($message) == '') { $msg = 'Reply can not be empty!'; $this->session->set_flashdata('error_message', $msg); redirect(base_url('page/ticket_detail?id=' . $id)); } else { $message = convertNextLineToBRTag($message); $dtTm = setDtTmWRTYourCountry(); $ip = $this->input->server('REMOTE_ADDR'); $last_insert_id = $this->User_model->add_ticket_data($id, $message, $dtTm, $ip); create_push_notification($this->user_id, 'Your ticket has been replied!'); ticketDetailsEmail($last_insert_id, '2'); $this->session->set_flashdata('message', $this->lang->line('CUST_GEN_MSG')); redirect(base_url('page/ticket_detail?id=' . $id)); } } else if ($this->input->post('btnClose') && $cldFrm == '2') { $this->User_model->update_ticket_status($id); create_push_notification($this->user_id, 'Your ticket has been closed!'); $this->session->set_flashdata('message', $this->lang->line('CUST_GEN_MSG')); redirect(base_url('page/ticket_detail?id=' . $id)); } } $this->data['ticket_row'] = $this->User_model->get_ticket_info($id); $this->data['rsTckts'] = $this->User_model->get_comments($this->data['ticket_row']->TicketNo, $this->user_id); $this->data['status'] = $this->data['rsTckts'][0]->TcktStatus; $this->data['statusId'] = $this->data['rsTckts'][0]->StatusId; $this->data['tcktId'] = $id; $this->data['view'] = 'ticket_reply'; $this->load->view('layouts/default', $this->data); } public function submit_ticket() { $d_id = $this->uri->segment('3'); if ($this->input->method('POST') == TRUE) { $this->form_validation->set_rules('txtSubject', 'Subject', 'required'); $this->form_validation->set_rules('dId', 'Department', 'required'); $this->form_validation->set_rules('catId', 'Category', 'required'); /*$this->form_validation->set_rules('priorityId', 'Priority', 'required');*/ $this->form_validation->set_rules('txtMessage', 'Message', 'required'); if ($this->form_validation->run()) { $dId = $this->input->post('dId') ?: 0; $dtTm = setDtTmWRTYourCountry(); $tcktNo = rand_integers(8); $ip = $this->input->server('REMOTE_ADDR'); $msg = convertNextLineToBRTag($this->input->post('txtMessage')); $catId = $this->input->post('catId'); $priority_id = 1; $subject = $this->input->post('txtSubject'); $order_id = $this->input->post('order_id')?:''; $invoice_id = $this->input->post('invoice_id')?:''; $payment_id = $this->input->post('getwayId')?:''; $ttlFields = $this->input->post('totalFields')?:'0'; $txtOrderNo = $this->input->post('txtOrderNo')?:''; $txtInvoiceNo = $this->input->post('txtInvoiceNo')?:''; $data = array( 'TicketNo' => $tcktNo, 'UserId' => $this->user_id, 'DepartmentId' => $dId, 'CategoryId' => $catId, 'PriorityId' => $priority_id, 'order_id' => $txtOrderNo, 'invoice_id' => $txtInvoiceNo, 'payment_id' => $payment_id, 'Name' => '', 'Email' => '', 'Subject' => $subject, 'Message' => $msg, 'DtTm' => $dtTm, 'IP' => $ip, 'StatusId' => 1, 'ByAdmin' => 0 ); for($x = 1; $x <= $ttlFields; $x++) { $colName = $this->input->post('colNm'.$x)?:''; $colVal = $this->input->post('fld'.$x)?:''; if($colName != '' && $colVal != '') { $data[$colName] = $colVal; } } $last_ticket_id = $this->User_model->add_user_ticket($data); ticketDetailsEmail($last_ticket_id, 0); $this->session->set_flashdata('message', 'Ticket has been created successfully!'); redirect(base_url('page/my_tickets')); } } $this->data['id'] = $this->input->post_get('dId') ?: 0; $this->data['d_id'] = $d_id; $this->data['departments'] = $this->User_model->get_department(); $this->data['selected_department'] = $this->User_model->get_departmentbyid($d_id); $this->data['methods'] = $this->Sales_model->fetch_payment_method_types(); $this->data['categories'] = $this->User_model->get_category(); $this->data['priorities'] = $this->User_model->get_priority(); $this->data['rsCustomFields'] = $this->Tickets_model->fetch_department_custom_fields_names($d_id); $this->data['view'] = 'submit_ticket'; $this->load->view('layouts/default', $this->data); } public function my_statements() { $this->data['controller_instanse'] = $this; $strWhere = $message = $txtlqry = $pLast=''; $this->data['page_name'] = $this->input->server('PHP_SELF'); if($this->input->post_get('start')) $start = $this->input->post_get('start'); else $start = 0; $eu = ($start - 0); $limit = $this->input->post('records') ? $this->input->post('records'): 30; $thisp = $eu + $limit; $back = $eu - $limit; $next = $eu + $limit; $service_name=$imei_no=''; if($this->input->method()=='post'){ $service_name = $this->input->post('service_name'); $imei_no = $this->input->post('imei_number'); $this->data['rsHistory'] = $this->User_model->get_all_statements($service_name,$imei_no,$eu,$limit); }else{ $this->data['rsHistory'] = $this->User_model->get_all_statements('','',$eu,$limit); } $allData = $this->User_model->get_all_statements(); $this->data['pLast'] = $pLast; $this->data['start'] = $start; $this->data['allData'] = $allData; $this->data['strWhere'] = $strWhere; $this->data['message'] = $message; $this->data['txtlqry'] = $txtlqry; $this->data['next'] = $next; $this->data['back'] = $back; $this->data['thisp'] = $thisp; $this->data['limit'] = $limit; $this->data['eu'] = $eu; $this->data['service_name'] = $service_name; $this->data['imei_no'] = $imei_no; $this->data['view'] = 'statements'; $this->load->view('layouts/default', $this->data); } public function downloads() { $this->data['rsDwnlds'] = $this->User_model->get_files(); $this->data['view'] = 'downloads'; $this->load->view('layouts/default', $this->data); } public function client_invoices() { $this->data['label'] = $this->lang->line('CUST_LBL_217'); $this->data['controller_instanse'] = $this; $this->data['invoices'] = $this->User_model->get_client_invoices(); $this->data['type'] = 'client'; $this->data['view'] = 'invoices'; $this->load->view('layouts/default', $this->data); } public function admin_invoices() { $this->data['label'] = $this->lang->line('CUST_LBL_188'); $this->data['controller_instanse'] = $this; $this->data['invoices'] = $this->User_model->get_admin_invoices(); $this->data['type'] = 'admin'; $this->data['view'] = 'invoices'; $this->load->view('layouts/default', $this->data); } public function invoice_detail($id = 0, $type) { if ($id > 0) { $this->data['id'] = $id; $payment_details = $this->User_model->get_payment_details($id); $mykey = crypt_key($payment_details->UserId); $payment_details->Credits = decrypt($payment_details->Credits, $mykey); if($payment_details->Credits == ''){ $payment_details->Credits = 0; } $payment_details->Amount = decrypt($payment_details->Amount, $mykey); if($payment_details->Amount == ''){ $payment_details->Amount = 0 ; } $this->data['payment'] = $payment_details; $this->data['balance'] = $this->data['payment']->PayableAmount == '' ? 0 : $this->data['payment']->PayableAmount; $this->data['controller_instanse'] = $this; $this->data['amountPaid'] = 0; if ($this->input->method(TRUE) == 'POST') { $PayerEmail = $this->data['payment']->PayerEmail == '' ? '-' : $this->data['payment']->PayerEmail; $message = masspayment($PayerEmail, $this->data['payment']->UserId, $this->data['payment']->Credits, $this->data['payment']->Amount, $this->data['payment']->TransactionId, $this->data['payment']->PaymentStatus, $this->data['payment']->PayMethodTypeId, $this->data['payment']->PaymentMethodId, $this->data['userDetails']->CurrencyAbb, $id); $this->session->set_flashdata('message', $this->lang->line('CUST_GEN_MSG')); redirect(base_url('page/invoice_detail/' . $id . '/' . $type)); } $this->data['user_info'] = $this->User_model->get_userdata(); $rsInvLogo = $this->User_model->get_logopath(); if (isset($rsInvLogo->LogoPath) && $rsInvLogo->LogoPath != '') { $INV_LOGO = "uplds" . $this->session->userdata('THEME') . "/" . $rsInvLogo->LogoPath; } $rsPP = $this->User_model->get_sum_payment($id); if (isset($rsPP->AmountPaid) && $rsPP->AmountPaid != '') { $this->data['amountPaid'] = $rsPP->AmountPaid; } $this->data['rsPayments'] = $this->User_model->get_payment_details_2($id); } $this->data['type'] = $type; $this->data['rsPPRcvrs'] = $this->User_model->get_reciever_data(); $this->data['view'] = 'invoice_detail'; $this->load->view('layouts/default', $this->data); } public function imei_services() { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'IMEI')) { redirect(base_url('page/error')); } } $reqPackageId = -1; if($this->session->flashdata('service_id')) { $reqPackageId = str_replace(":", "", $this->session->flashdata('service_id')); } //var_dump($this->data["userDetails"]);die; $MY_CURRENCY_ID = $this->data["userDetails"]->CurrencyId; $CONVERSION_RATE = $this->data["userDetails"]->ConversionRate; $myCurrency = $this->data["userDetails"]->CurrencySymbol; $imei_data = array(); $IMEI_TYPE = '0'; $extNwkId = '0'; $SERVICE_TYPE = 0; $orderType = 0; $this->data['mustRead'] = ''; $altEmail= ''; $imeiOption = '1'; $categoryId = $this->input->post('categoryId') ?: 0; $myNetworkId = $this->input->post('packageId') ?: 0; $this->data['myNetworkId'] = $this->input->post('packageId') ?: 0; $csrfTkn = $this->input->post('csrfToken') ?: ''; $this->data['altEmail'] = $this->input->post("txtAltEmail") ?: ''; if ($this->input->post("rdIMEIType")) { $imeiOption = $this->input->post("rdIMEIType"); } $this->data['imei'] = $this->input->post("txtIMEI") ?$this->input->post("txtIMEI"): ''; $this->data['multiIMEIs'] = $this->input->post("imei") ?$this->input->post("imei"): ''; $this->data['notes'] = $this->input->post("txtNotes") ?$this->input->post("txtNotes"): ''; $this->data['comments'] = $this->input->post("txtComments") ?$this->input->post("txtComments"): ''; $errorMsg = ''; $this->data['lastDgt'] = $this->input->post("txtIMEILastDigit") ?$this->input->post("txtIMEILastDigit"): ''; $msg = $this->input->post("msg") ?: ''; $this->data['imeiMxLn'] = '15';//maxlength $imeiCls = 'input70pc'; $this->data['message'] = ''; if ($this->data['settings']->CheckSumIMEI == '1') { $this->data['imeiMxLn'] = '14'; $imeiCls = 'input60pc'; } /*if ($imeiOption == '1') $this->data['multiIMEIs'] = ''; else if ($imeiOption == '2') $imei = '';*/ $this->data['cldFrm'] = $this->input->post("cldFrm") ?$this->input->post("cldFrm"): 0; $this->data['cldFm'] = $this->input->post("cldFm") ?$this->input->post("cldFm"): 0; $this->data['isError'] = 0; $this->data['ORDER_COMPLETED'] = '1'; //d($this->session->userdata('ORDERED_FROM')); if($this->input->method() == 'post' ) { $this->session->set_userdata('ORDERED_FROM', 1); if ($this->input->post_get('packageId') && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->data['cldFrm'] == '2') { $cols_cfields = $vals_cfields = $historyData = ''; $OrderFields = array(); // getting package custom fields again for validation $ttlFields = $this->input->post('totalCustomFields') ?: 0; $txtIMEI = ''; $imeiErrorMsg = ''; $imeiFieldFound = false; $imeiFieldId = 0; for ($ApiFieldIndex = 1; $ApiFieldIndex <= $ttlFields; $ApiFieldIndex++) { $ApiFieldLabel = $this->input->post('lbl'.$ApiFieldIndex); if(!empty($ApiFieldLabel)) { $ApiFieldValue = trim($this->input->post('fld'.$ApiFieldIndex)); $ApiFieldMandatory = $this->input->post('mndtry'.$ApiFieldIndex); $ApiFieldName = $this->input->post('colNm'.$ApiFieldIndex); $ApiFieldId = $this->input->post('fieldId'.$ApiFieldIndex); $ApiFieldCustomField = $this->input->post('customField'.$ApiFieldIndex); $ApiFieldUseAsIMEI = $this->input->post('useAsIMEI'.$ApiFieldIndex); $ApiFieldAllowDigits = $this->input->post('rstrctnAD'.$ApiFieldIndex); $ApiFieldAllowSmallAlphabets = $this->input->post('rstrctnASA'.$ApiFieldIndex); $ApiFieldAllowCapitalAlphabets = $this->input->post('rstrctnACA'.$ApiFieldIndex); $FieldIMEILastDigit = $this->input->post('txtIMEILastDigit'.$ApiFieldIndex); $reg = $regMsg = ''; if($ApiFieldAllowDigits == 1) { $reg .= '\\d'; $regMsg .= ' digits, '; } if($ApiFieldAllowSmallAlphabets == 1) { $reg .= 'a-z'; $regMsg .= ' small alphabets, '; } if($ApiFieldAllowCapitalAlphabets == 1) { $reg .= 'A-Z'; $regMsg .= ' capital alphabets, '; } $regMsg = preg_replace('/^\s+|,\s+$/', '', $regMsg); if($ApiFieldUseAsIMEI) { if($ApiFieldMandatory) { if(empty($ApiFieldValue)) { $imeiErrorMsg .= "Value for " . $ApiFieldLabel . " can not be empty.<br />"; } $rsCurrentField = $this->db->query("SELECT * FROM `tbl_gf_api_custom_fields` WHERE `id` = ".$ApiFieldId)->row(); if($rsCurrentField->IsCustomIMEI == 0) { if(strlen($ApiFieldValue . $FieldIMEILastDigit) !=15){ $imeiErrorMsg .= "Please enter 15 digits value for " . $ApiFieldLabel . ".<br />"; } } if(empty($imeiErrorMsg) && !$imeiFieldFound) { $imeiFieldFound = true; } } }else{ if($ApiFieldMandatory && empty($ApiFieldValue)) { $errorMsg .= "Value for " . $ApiFieldLabel . " can not be empty.<br />"; } } if($reg && trim($ApiFieldValue)) { if(!preg_match('/^['.$reg.']+$/', trim($ApiFieldValue))) { $errorMsg .= $ApiFieldLabel . " field must contain ".$regMsg." only.<br />"; } } if(!$ApiFieldUseAsIMEI) { $OrderFields[] = array( 'IsIMEI' => 0, 'ApiFieldId' => $ApiFieldId, 'FieldValue' => $ApiFieldValue ); } if($ApiFieldUseAsIMEI) { $imeiFieldId = $ApiFieldId; $txtIMEI .= $ApiFieldValue; if(!is_null($FieldIMEILastDigit)) $txtIMEI .= $FieldIMEILastDigit; $txtIMEI .= "\n"; }else{ if ($historyData != '') { $historyData .= '<br />'; } $historyData .= $ApiFieldLabel . ": " . $ApiFieldValue; } } }//end for loop $OrderFields[] = array( 'IsIMEI' => 1, 'ApiFieldId' => $imeiFieldId, 'FieldValue' => '' ); if(!$imeiFieldFound) { $errorMsg = $imeiErrorMsg . $errorMsg; } if (trim($errorMsg) == '') { $CALLED_FROM_ORDER_PAGE = '1'; $data = array(); if ($txtIMEI && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'IMEI')) { redirect(base_url('page/error')); } } $data['apiId'] = 0; $apiType = 0; $apiKey = ''; $serverURL = ''; $accountId = ''; $apiAction = ''; $responseUrl = ''; $toolForUB = ''; $packageTitle = ''; $packCostPrice = 0; $msgFromServer = ''; $ifCodeSentToServer = 0; $orderIdFromServer = ''; $toolId = ''; $DELAY_TIME = '1'; $CRON_DELAY_TIME = '1'; $NEW_ORDER_EMAILS = ''; $IMEI_F_TYPE = $this->input->post('imeiFType') ?: '0'; $bulk_IMEI_F_TYPE = $this->input->post('bulkimeiFType') ?: '0'; $custom_IMEI_F_TYPE = $this->input->post('customimeiFType') ?: '0'; $PRE_ORDER = $this->input->post('hdPreOrder') ?: '0'; $mepId = ''; $mepValue = ''; $modelId = ''; $modelValue = ''; $serialNo = ''; $modelValueToShow = ''; $apiName = ''; $IMEI_SERIES = ''; $mobileId = 0; $rsPackTitle = $this->User_model->get_package_data($myNetworkId); if (isset($rsPackTitle->PackageTitle) && $rsPackTitle->PackageTitle != '') { $packageTitle = stripslashes($rsPackTitle->PackageTitle); $packCostPrice = $rsPackTitle->CostPrice == '' ? 0 : $rsPackTitle->CostPrice; $orderType = $SERVICE_TYPE = $rsPackTitle->ServiceType; // 0 for DATABASE, 1 for RECALCULATE $DELAY_TIME = $rsPackTitle->ResponseDelayTm == 0 ? '1' : $rsPackTitle->ResponseDelayTm; $CRON_DELAY_TIME = $rsPackTitle->CronDelayTm == 0 ? '1' : $rsPackTitle->CronDelayTm; $NEW_ORDER_EMAILS = $rsPackTitle->NewOrderEmailIDs; $IMEI_SERIES = trim($rsPackTitle->IMEISeries); } $rsAPI = $this->User_model->get_api_data($myNetworkId); if (isset($rsAPI->APIId) && $rsAPI->APIId != '') { $data['apiId'] = $rsAPI->APIId; $apiType = $rsAPI->APIType; $apiKey = $rsAPI->APIKey; $serverURL = $rsAPI->ServerURL; $accountId = $rsAPI->AccountId; $serviceId = $rsAPI->ServiceId; $apiAction = $rsAPI->APIAction; $responseUrl = $rsAPI->ResponseURL; $apiName = $rsAPI->APITitle; $extNwkId = $rsAPI->ExternalNetworkId != '' ? $rsAPI->ExternalNetworkId : 0; } if ($this->input->has('brandId') && $this->input->post_get('brandId') != '0') { $mobileId = $this->input->post('brandId') ?: '0'; } if ($this->input->has('modelId') && $this->input->post('modelId') != '0') { $modelId = $this->input->post('modelId') ?: '0'; $modelValueToShow = $this->input->post('mdlVal') ?: '0'; } $arrIMEIS = array(); $duplicateIMEIs = array(); $invalidIMEIs = array(); $DUP_IMEIS = array(); $ODLIMEIs = array(); $ODL_COUNTER = 0; $totalIMEIs = 0; $arrIMEIS = array_map('trim', array_filter(explode("\n", $txtIMEI))); $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); $totalIMEIs = sizeof($arrIMEIS); $personalRecord = $this->input->post('txtPersonalRecord'); $phoneLockedOn = $this->input->post('txtOprName') ?: ''; $countryId = $this->input->post('countryId') ?: 0; $notes = $this->input->post('txtNotes'); $comments = $this->input->post('txtComments'); $allowDupIMEIs = $this->input->post('hdDupIMEI') ?: 0; $packagePrice = 0; $USER_ID = $_SESSION['GSM_FUS_UserId']; $packagePrice = getpackprice($myNetworkId, $MY_CURRENCY_ID, $IMEI_TYPE, null, null);//check price against item_ahmed $dupMsg = ''; $odlMsg = ''; $strInsertOrders = []; $strCreditHistory = []; $strEmailContents = ''; $strInsert = '0'; $suppPurchasePrice = '0'; $supplierId = '0'; list($suppPackId, $suppPurchasePrice, $supplierId) = ifPackIdAssignedToSupplier($myNetworkId, 0); if ($suppPackId != '0') $strInsert = '1'; $STR_IMEIS = '0'; $currDtTm = setDtTmWRTYourCountry(); foreach($arrIMEIS as $arrIMEI) { if(trim($arrIMEI)) { $STR_IMEIS .= ", '" . trim($arrIMEI) . "'"; } } if ($allowDupIMEIs == '0') { $rsIfExists = $this->User_model->get_codes($myNetworkId, $STR_IMEIS); foreach ($rsIfExists as $row) { $DUP_IMEIS[$row->IMEINo] = '1'; } } $rwUNC = $this->User_model->fetch_negative_user_credits(); $ALLOWNGTVCRDTS = $rwUNC->AllowNegativeCredits; $ODL = $rwUNC->OverdraftLimit; $PLACED_ORDERS_COUNT = 0; $CorrectIMEIS = []; $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $myCredits = $this->data['userDetails']->Credits; if ($myCredits == '') $myCredits = 0; $finalCr = $myCredits - cleanRoundMe(($packagePrice) * $totalIMEIs); $CurrentCredits = $myCredits; for ($j = 0; $j < $totalIMEIs; $j++) { $UNLOCK_CODE = ''; $strUpdate = ''; $myIMEI = trim($arrIMEIS[$j]); $allowIMEIEntry = true; if (isset($DUP_IMEIS[$myIMEI]) && $DUP_IMEIS[$myIMEI] == '1') { $allowIMEIEntry = false; if ($dupMsg == '') $dupMsg = $myIMEI; else $dupMsg .= $myIMEI; } //check Pin Code $isPinError = 0; //check here, why enter only one imei if ($allowIMEIEntry && trim($myIMEI) != '' && $isPinError == 0) { //$PLACED_ORDERS_COUNT++; if ($this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $CurrentCredits = $CurrentCredits - $packagePrice; if ($finalCr < 0) { if ($ALLOWNGTVCRDTS == '0') { $this->data['message'] = $this->lang->line('CUST_CODE_MSG2'); } else if ($ALLOWNGTVCRDTS == '1') { $REMAINING_CREDITS = abs($finalCr); if ($REMAINING_CREDITS <= $ODL) { // check limit if ($this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI; if($historyData) $strHistData .= "<br />" . $historyData; $CorrectIMEIS[] = $myIMEI; $strInsertOrders[] = "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory[] = "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } else { $ODLIMEIs[$ODL_COUNTER++] = $myIMEI; if ($odlMsg == '') $odlMsg = $myIMEI; else $odlMsg .= 'LB ' . $myIMEI; //$this->data['message'] = $CUST_CODE_MSG2; } } } else { if ($this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $encryptedCurrentCredits = encrypt($CurrentCredits, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) {//added function $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI; if($historyData) $strHistData .= "<br />" . $historyData; $CorrectIMEIS[] = $myIMEI; $strInsertOrders[] = "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory[] = "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCurrentCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } } } } //echo 'here'; //echo $strCreditHistory; die; if ($strInsertOrders && $strCreditHistory) { $this->db->trans_start(); $this->User_model->add_codes_data($strInsertOrders, $cols_cfields, $OrderFields, $CorrectIMEIS); create_push_notification($this->session->userdata('GSM_FUS_UserId'), 'New IMEI Order has been placed!', 'page/imei_orders'); $this->User_model->update_user_credits($encryptedCredits); $this->User_model->add_credit_history_iemi($strCreditHistory); $this->db->trans_complete(); } if ($this->db->trans_status() === FALSE) { $this->data['message'] = 'There was an issue in placing your order. Please try again.'; }else{ if ($strEmailContents != '' && $this->data['settings']->SendNewIMEIOrderEmail == '1') { newIMEIOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserName'), $packageTitle, $strEmailContents, '', $packagePrice, $finalCr, $currDtTm, $myNetworkId, $altEmail, $NEW_ORDER_EMAILS, $notes); } if ($PLACED_ORDERS_COUNT > 0) $this->data['message'] = "Thank you for placing ($PLACED_ORDERS_COUNT) IMEI orders."; if ($dupMsg != '') { $ORDER_COMPLETED = 0; $this->data['message'] .= "Repeated IMEI(s) OR Invalid Data: $dupMsg"; } if ($dupMsg == '' && (sizeof($duplicateIMEIs) > 0 || sizeof($invalidIMEIs) > 0)) { $ORDER_COMPLETED = 0; $this->data['message'] .= "Repeated IMEI(s) OR Invalid Data: "; } if ($odlMsg != '' && sizeof($ODLIMEIs) > 0) { $ORDER_COMPLETED = 0; $this->data['message'] .= "Your Overdraft Limit has been finished for IMEI(s): "; } foreach ($duplicateIMEIs as $dupVal) { if ($dupVal != '') { $ORDER_COMPLETED = 0; $this->data['message'] .= "LB$dupVal"; } } foreach ($invalidIMEIs as $imeiVal) { if ($imeiVal != '') { $ORDER_COMPLETED = 0; $this->data['message'] .= "LB$imeiVal"; } } foreach ($ODLIMEIs as $oldIMEI) { if ($oldIMEI != '') { $ORDER_COMPLETED = 0; $this->data['message'] .= "LB$oldIMEI"; } } $data['message'] = $this->data['message']; } } else { //echo "here"; redirect(base_url('dashboard')); } $imei_data = $data; // $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } else { $this->data['ORDER_COMPLETED'] = 0; $this->data['message'] = $errorMsg; } } } if(!empty($this->data['message'])) { $this->data['message'] = str_replace('LB', '<br />', $this->data['message'] ); $this->data['message'] = str_replace('SP', ' ', $this->data['message']); $this->session->set_flashdata('message', $this->data['message']); } if(!empty($_SESSION['opened_mobile'])) { redirect(base_url('webviews/placeimeiorder?id='.$this->input->post('packageId').'&user_id='.$this->session->userdata('GSM_FUS_UserId'))); }else{ redirect(base_url('page/imei_services')); } } //get package prices section $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID = $this->session->userdata('GSM_FUS_UserId'); //call get services ids $sType = 0; $rsIds = $this->User_model->selectData("SELECT PackageId FROM tbl_gf_packages WHERE sl3lbf = '$sType' AND DisablePackage = 0"); $strServiceIds = '0'; foreach ($rsIds as $row) { $strServiceIds .= ', ' . $row->PackageId; } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users_packages_prices WHERE UserId = '$USER_ID' AND PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { $PACK_PRICES_USER[$row->PackageId] = roundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->User_model->getRow("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'"); if (isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '$IMEI_TYPE' AND PackageId IN ($strServiceIds)"); foreach ($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// /* $rsPlanPr = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '$IMEI_TYPE' AND UserId = '$USER_ID' AND PackageId IN ($strServiceIds) "); foreach ($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price); }*/ //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->User_model->selectData("SELECT A.PackageId, Price, PackagePrice FROM tbl_gf_packages A LEFT JOIN tbl_gf_packages_currencies B ON (A.PackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID') WHERE sl3lbf = '$IMEI_TYPE' AND A.PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { if ($row->Price == '') $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->PackagePrice * $this->data['userDetails']->ConversionRate); else $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->Price); } //end package prices $this->data['PACK_PRICES_BASE'] = $PACK_PRICES_BASE; $this->data['PACK_PRICES_PLAN'] = $PACK_PRICES_PLAN; $this->data['PACK_PRICES_USER'] = $PACK_PRICES_USER; $this->data['apiId'] = isset($imei_data['apiId']) ? $imei_data['apiId'] : 0; if($reqPackageId == -1) $this->data['rsPackages'] = $this->User_model->get_imei_services(); else $this->data['rsPackages'] = $this->User_model->search_get_pack_imei_services($reqPackageId); $this->data['packageIdTelegram'] = $reqPackageId; if($this->data['rsStngs']->orderForms == 2) { $this->data['view'] = 'imei_services_new'; } else { $this->data['view'] = 'imei_services_new_layout'; } $this->load->view('layouts/default', $this->data); } public function searchIMEIServices(){ $txt = $this->input->post('text'); $rsPackages = $this->User_model->search_get_imei_services($txt); $MY_CURRENCY_ID = $this->data["userDetails"]->CurrencyId; $imei_data = array(); $IMEI_TYPE = '0'; $this->data['mustRead'] = ''; $imeiOption = '1'; $categoryId = $this->input->post('categoryId') ?: 0; $myNetworkId = $this->input->post('packageId') ?: 0; $this->data['myNetworkId'] = $this->input->post('packageId') ?: 0; $csrfTkn = $this->input->post('csrfToken') ?: ''; $this->data['altEmail'] = $this->input->post("txtAltEmail") ?: ''; if ($this->input->post("rdIMEIType")) { $imeiOption = $this->input->post("rdIMEIType"); } $this->data['imei'] = $this->input->post("txtIMEI") ?: ''; $this->data['multiIMEIs'] = $this->input->post("imei") ?: ''; $this->data['notes'] = $this->input->post("txtNotes") ?: ''; $this->data['comments'] = $this->input->post("txtComments") ?: ''; $errorMsg = ''; $this->data['lastDgt'] = $this->input->post("txtIMEILastDigit") ?: ''; $msg = $this->input->post("msg") ?: ''; $this->data['imeiMxLn'] = '15';//maxlength $imeiCls = 'input70pc'; $this->data['message'] = ''; if ($this->data['settings']->CheckSumIMEI == '1') { $this->data['imeiMxLn'] = '14'; $imeiCls = 'input60pc'; } if ($imeiOption == '1') $this->data['multiIMEIs'] = ''; else if ($imeiOption == '2') $imei = ''; $this->data['cldFrm'] = $this->input->post("cldFrm") ?: 0; $this->data['cldFm'] = $this->input->post("cldFm") ?: 0; $this->data['isError'] = 0; $this->data['ORDER_COMPLETED'] = '1'; if ($this->input->post('packageId') && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->data['cldFrm'] == '2') { $cols_cfields = $vals_cfields = $historyData = ''; $ttlFields = $this->input->post("totalCustomFields") ?: '0'; for ($x = 1; $x <= $ttlFields; $x++) { $col = $this->input->post('colNm' . $x) ?: ''; if ($col != '') { $cols_cfields .= ", $col"; $val = $this->input->post('fld' . $x) ?: ''; $vals_cfields .= ", '$val'"; $isMandatory = $this->input->post('mndtry' . $x) ?: '0'; $chkRestriction = $this->input->post('rstrctn' . $x) ?: '0'; if ($isMandatory == '1' && $val == '') { $errorMsg .= "Value for " . $this->input->post('lbl' . $x) . " can not be empty.<br />"; } if ($chkRestriction == '1') // DIGITS ONLY { $errorMsg .= digits_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '2') // CHARACTERS ONLY { $errorMsg .= characters_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '3') // DIGITS & CHARACTERS ONLY { $errorMsg .= validateAlphabetsAndDigits($val, $this->input->post('lbl' . $x)); } if ($historyData != '') { $historyData .= '<br />'; } $historyData .= $this->input->post('lbl' . $x) . ": " . $val; } } if ($this->input->post('hdTOC') == '1')// I terms and conditions check is mandatory { if (!$this->input->post('chkTOC')) $errorMsg .= "Click on Agree with Terms Of Services.<br /><br />"; } if (trim($errorMsg) == '') { if ($this->data['userDetails']->PinCode != '') { $pinCode = $this->input->post('txtPinCode') ?: 0; $rowPC = $this->User_model->get_pincode(); if (isset($rowPC->PinCode) && $this->theString_Decrypt($rowPC->PinCode) == $pinCode && $pinCode != '' || true) { $CALLED_FROM_ORDER_PAGE = '1'; $data = array(); if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'IMEI')) { redirect(base_url('page/error')); } } $data['apiId'] = 0; $apiType = 0; $apiKey = ''; $serverURL = ''; $accountId = ''; $apiAction = ''; $responseUrl = ''; $toolForUB = ''; $packageTitle = ''; $packCostPrice = 0; $msgFromServer = ''; $ifCodeSentToServer = 0; $orderIdFromServer = ''; $toolId = ''; $DELAY_TIME = '1'; $CRON_DELAY_TIME = '1'; $NEW_ORDER_EMAILS = ''; $IMEI_F_TYPE = $this->input->post('imeiFType') ?: '0'; $PRE_ORDER = $this->input->post('hdPreOrder') ?: '0'; $mepId = ''; $mepValue = ''; $modelId = ''; $modelValue = ''; $serialNo = ''; $modelValueToShow = ''; $apiName = ''; $IMEI_SERIES = ''; $mobileId = 0; $rsPackTitle = $this->User_model->get_package_data($myNetworkId); if (isset($rsPackTitle->PackageTitle) && $rsPackTitle->PackageTitle != '') { $packageTitle = stripslashes($rsPackTitle->PackageTitle); $packCostPrice = $rsPackTitle->CostPrice == '' ? 0 : $rsPackTitle->CostPrice; $SERVICE_TYPE = $rsPackTitle->ServiceType; // 0 for DATABASE, 1 for RECALCULATE $DELAY_TIME = $rsPackTitle->ResponseDelayTm == 0 ? '1' : $rsPackTitle->ResponseDelayTm; $CRON_DELAY_TIME = $rsPackTitle->CronDelayTm == 0 ? '1' : $rsPackTitle->CronDelayTm; $NEW_ORDER_EMAILS = $rsPackTitle->NewOrderEmailIDs; $IMEI_SERIES = trim($rsPackTitle->IMEISeries); } $rsAPI = $this->User_model->get_api_data($myNetworkId); if (isset($rsAPI->APIId) && $rsAPI->APIId != '') { $data['apiId'] = $rsAPI->APIId; $apiType = $rsAPI->APIType; $apiKey = $rsAPI->APIKey; $serverURL = $rsAPI->ServerURL; $accountId = $rsAPI->AccountId; $serviceId = $rsAPI->ServiceId; $apiAction = $rsAPI->APIAction; $responseUrl = $rsAPI->ResponseURL; $apiName = $rsAPI->APITitle; $extNwkId = $rsAPI->ExternalNetworkId != '' ? $rsAPI->ExternalNetworkId : 0; } if (isset($_POST['brandId']) && $_POST['brandId'] != '0') { $mobileId = $this->input->post('brandId') ?: '0'; } if ($this->input->post('modelId') && $this->input->post('modelId') != '0') { $modelId = $this->input->post('modelId') ?: '0'; $modelValueToShow = $this->input->post('mdlVal') ?: '0'; } $arrIMEIS = array(); $duplicateIMEIs = array(); $invalidIMEIs = array(); $DUP_IMEIS = array(); $ODLIMEIs = array(); $ODL_COUNTER = 0; $totalIMEIs = 0; if ($IMEI_F_TYPE == '0') { if ($this->input->post("rdIMEIType") == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); else $arrIMEIS[0] = $this->input->post("txtIMEI"); } else { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') { $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); } else { $arrIMEIS[0] = $this->input->post("txtIMEI"); } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '2') { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '3') { $mnLen = $this->input->post('customFldMinLen') ?: 0; $mxLen = $this->input->post('customFldMaxLen') ?: 0; $custFldRes = $this->input->post('custFldRstrctn') ?: 0; $arrCustomData = explode("\n", $this->input->post("txtCustomFld")); $r = 0; $rr = 0; $arrTEMP = array(); foreach ($arrCustomData as $v) { $IS_VALID = true; $arrValue = trim($v); $strCustError = ''; if ($mnLen != 0 && $mnLen != '') { if (strlen($arrValue) < $mnLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } if ($mxLen != 0) { if (strlen($arrValue) > $mxLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } // CHECK IF THERE IS ANY RESTRICTION AT CUSTOM FIELD. $strCustError = checkCustomFieldRestriction($custFldRes, $arrValue); if ($strCustError != '') { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } if ($IS_VALID) $arrIMEIS[$r] = $arrValue; $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } $personalRecord = $this->input->post('txtPersonalRecord'); $phoneLockedOn = $this->input->post('txtOprName') ?: ''; $countryId = $this->input->post('countryId') ?: 0; $notes = $this->input->post('txtNotes'); $comments = $this->input->post('txtComments'); $allowDupIMEIs = $this->input->post('hdDupIMEI') ?: 0; $packagePrice = 0; $USER_ID = $_SESSION['GSM_FUS_UserId']; $packagePrice = getpackprice($myNetworkId, $MY_CURRENCY_ID, $IMEI_TYPE); $dupMsg = ''; $odlMsg = ''; $strInsertOrders = ''; $strCreditHistory = ''; $strEmailContents = ''; $strInsert = '0'; $suppPurchasePrice = '0'; $supplierId = '0'; list($suppPackId, $suppPurchasePrice, $supplierId) = ifPackIdAssignedToSupplier($myNetworkId, 0); if ($suppPackId != '0') $strInsert = '1'; $STR_IMEIS = '0'; $currDtTm = setDtTmWRTYourCountry(); for ($j = 0; $j < $totalIMEIs; $j++) { if (trim($arrIMEIS[$j]) != '') $STR_IMEIS .= ", '" . trim($arrIMEIS[$j]) . "'"; } if ($allowDupIMEIs == '0') { $rsIfExists = $this->User_model->get_codes($myNetworkId, $STR_IMEIS); foreach ($rsIfExists as $row) { $DUP_IMEIS[$row->IMEINo] = '1'; } } $rwUNC = $this->User_model->fetch_negative_user_credits(); $ALLOWNGTVCRDTS = $rwUNC->AllowNegativeCredits; $ODL = $rwUNC->OverdraftLimit; $PLACED_ORDERS_COUNT = 0; for ($j = 0; $j < $totalIMEIs; $j++) { $UNLOCK_CODE = ''; $strUpdate = ''; $myIMEI = trim($arrIMEIS[$j]); $allowIMEIEntry = true; if (isset($DUP_IMEIS[$myIMEI]) && $DUP_IMEIS[$myIMEI] == '1') { $allowIMEIEntry = false; if ($dupMsg == '') $dupMsg = $myIMEI; else $dupMsg .= 'LB ' . $myIMEI; } if ($allowIMEIEntry && trim($myIMEI) != '') { //$PLACED_ORDERS_COUNT++; if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $myCredits = $this->data['userDetails']->Credits; //$myCredits = number_format($myCredits, 2, '.', ''); if ($myCredits == '') $myCredits = 0; $finalCr = $myCredits - $packagePrice; if ($finalCr < 0) { if ($ALLOWNGTVCRDTS == '0') { $message = $this->lang->line('CUST_CODE_MSG2'); } else if ($ALLOWNGTVCRDTS == '1') { $REMAINING_CREDITS = abs($finalCr); if ($REMAINING_CREDITS <= $ODL) { // check limit if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } else { $ODLIMEIs[$ODL_COUNTER++] = $myIMEI; if ($odlMsg == '') $odlMsg = $myIMEI; else $odlMsg .= 'LB ' . $myIMEI; //$message = $CUST_CODE_MSG2; } } } else { if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } } } } if ($strInsertOrders != '' && $strCreditHistory != '') { $this->User_model->add_codes_data($strInsertOrders, $cols_cfields); create_push_notification($this->session->userdata('GSM_FUS_UserId'), 'New IMEI Order has been placed!', 'page/imei_orders'); $this->User_model->update_user_credits($encryptedCredits); $this->User_model->add_credit_history_iemi($strCreditHistory); } if ($strEmailContents != '' && $this->data['settings']->SendNewIMEIOrderEmail == '1') { newIMEIOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserName'), $packageTitle, $strEmailContents, '', $packagePrice, $finalCr, $currDtTm, $myNetworkId, $altEmail, $NEW_ORDER_EMAILS, $notes); } if ($PLACED_ORDERS_COUNT > 0) $message = "ThankSPyouSPforSPplacingSP($PLACED_ORDERS_COUNT)SPIMEISPorders."; if ($dupMsg != '') { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData:SPLB$dupMsg"; } if ($dupMsg == '' && (sizeof($duplicateIMEIs) > 0 || sizeof($invalidIMEIs) > 0)) { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData: "; } if ($odlMsg != '' && sizeof($ODLIMEIs) > 0) { $ORDER_COMPLETED = 0; $message .= "LBLBYourSPOverdraftSPLimitSPhasSPbeenSPfinishedSPforSPIMEI(s): "; } foreach ($duplicateIMEIs as $dupVal) { if ($dupVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$dupVal"; } } foreach ($invalidIMEIs as $imeiVal) { if ($imeiVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$imeiVal"; } } foreach ($ODLIMEIs as $oldIMEI) { if ($oldIMEI != '') { $ORDER_COMPLETED = 0; $message .= "LB$oldIMEI"; } } $data['message'] = $message; } else { echo "here"; //redirect(base_url('dashboard')); } $imei_data = $data; $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } else { $this->data['message'] = $this->lang->line('CUST_LBL_179'); $msg = $this->lang->line('CUST_LBL_179'); $this->data['isError'] = 1; } } else { $CALLED_FROM_ORDER_PAGE = '1'; $imei_data = submit_imei_order($myNetworkId, $IMEI_TYPE, $this->data['userDetails']->CurrencyId, $CALLED_FROM_ORDER_PAGE, $historyData, $this->data['altEmail'], $vals_cfields, $this->data['userDetails']->CurrencyAbb, $cols_cfields); $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } } else $this->data['ORDER_COMPLETED'] = 0; } } $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID = $this->session->userdata('GSM_FUS_UserId'); /**/ $sType = 0; $rsIds = $this->User_model->selectData("SELECT PackageId FROM tbl_gf_packages WHERE sl3lbf = '$sType' AND DisablePackage = 0"); $strServiceIds = '0'; foreach ($rsIds as $row) { $strServiceIds .= ', ' . $row->PackageId; } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users_packages_prices WHERE UserId = '$USER_ID' AND PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { $PACK_PRICES_USER[$row->PackageId] = roundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->User_model->getRow("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'"); if (isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '$IMEI_TYPE' AND PackageId IN ($strServiceIds)"); foreach ($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '$IMEI_TYPE' AND UserId = '$USER_ID' AND PackageId IN ($strServiceIds) "); foreach ($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->User_model->selectData("SELECT A.PackageId, Price, PackagePrice FROM tbl_gf_packages A LEFT JOIN tbl_gf_packages_currencies B ON (A.PackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID') WHERE sl3lbf = '$IMEI_TYPE' AND A.PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { if ($row->Price == '') $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->PackagePrice * $this->data['userDetails']->ConversionRate); else $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->Price); } /**/ $prevCatId = 0; $data = ''; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"'; if($prevCatId > 0) { if($row->CategoryId != $prevCatId) $data.='<div class="test"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; } else $data.='<div class="test1"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; $data.='<div class="row" style="border-bottom: 1px solid #ebe6e6;padding: 10px 0;cursor: pointer;">'; $data.='<div class="col-lg-8">'; $data.='<div style="border-right: 1px solid #ebe6e6" class="left_package">'; $data.='<h5 class="my_pack" style="word-wrap: break-word;" title="'.$row->PackageId.'"> '.stripslashes($row->PackageTitle).'</h5><span>'.stripslashes($row->TimeTaken).'</span>'; $data.='</div>'; $data.='</div>'; $data.='<div class="col-lg-4" style="display: flex;align-items: center;">'; $data.='<div class="right_pack_price">'; $data.='<h2 class="my_pack" title="'.$row->PackageId.'" class="tbl_price">'.$myPackPrice.'</h2>'; $data.='</div>'; $data.='</div>'; $data.='</div>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId) { $data.='</div>'; } }else{ $data.='</div>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchCatIMEIServices(){ $txt = $this->input->post('cat'); $rsPackages = $this->User_model->search_get_cat_imei_services($txt); $MY_CURRENCY_ID = $this->data["userDetails"]->CurrencyId; $imei_data = array(); $IMEI_TYPE = '0'; $this->data['mustRead'] = ''; $imeiOption = '1'; $categoryId = $this->input->post('categoryId') ?: 0; $myNetworkId = $this->input->post('packageId') ?: 0; $this->data['myNetworkId'] = $this->input->post('packageId') ?: 0; $csrfTkn = $this->input->post('csrfToken') ?: ''; $this->data['altEmail'] = $this->input->post("txtAltEmail") ?: ''; if ($this->input->post("rdIMEIType")) { $imeiOption = $this->input->post("rdIMEIType"); } $this->data['imei'] = $this->input->post("txtIMEI") ?: ''; $this->data['multiIMEIs'] = $this->input->post("imei") ?: ''; $this->data['notes'] = $this->input->post("txtNotes") ?: ''; $this->data['comments'] = $this->input->post("txtComments") ?: ''; $errorMsg = ''; $this->data['lastDgt'] = $this->input->post("txtIMEILastDigit") ?: ''; $msg = $this->input->post("msg") ?: ''; $this->data['imeiMxLn'] = '15'; $imeiCls = 'input70pc'; $this->data['message'] = ''; if ($this->data['settings']->CheckSumIMEI == '1') { $this->data['imeiMxLn'] = '14'; $imeiCls = 'input60pc'; } if ($imeiOption == '1') $this->data['multiIMEIs'] = ''; else if ($imeiOption == '2') $imei = ''; $this->data['cldFrm'] = $this->input->post("cldFrm") ?: 0; $this->data['cldFm'] = $this->input->post("cldFm") ?: 0; $this->data['isError'] = 0; $this->data['ORDER_COMPLETED'] = '1'; if ($this->input->post('packageId') && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->data['cldFrm'] == '2') { $cols_cfields = $vals_cfields = $historyData = ''; $ttlFields = $this->input->post("totalCustomFields") ?: '0'; for ($x = 1; $x <= $ttlFields; $x++) { $col = $this->input->post('colNm' . $x) ?: ''; if ($col != '') { $cols_cfields .= ", $col"; $val = $this->input->post('fld' . $x) ?: ''; $vals_cfields .= ", '$val'"; $isMandatory = $this->input->post('mndtry' . $x) ?: '0'; $chkRestriction = $this->input->post('rstrctn' . $x) ?: '0'; if ($isMandatory == '1' && $val == '') { $errorMsg .= "Value for " . $this->input->post('lbl' . $x) . " can not be empty.<br />"; } if ($chkRestriction == '1') // DIGITS ONLY { $errorMsg .= digits_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '2') // CHARACTERS ONLY { $errorMsg .= characters_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '3') // DIGITS & CHARACTERS ONLY { $errorMsg .= validateAlphabetsAndDigits($val, $this->input->post('lbl' . $x)); } if ($historyData != '') { $historyData .= '<br />'; } $historyData .= $this->input->post('lbl' . $x) . ": " . $val; } } if ($this->input->post('hdTOC') == '1')// I terms and conditions check is mandatory { if (!$this->input->post('chkTOC')) $errorMsg .= "Click on Agree with Terms Of Services.<br /><br />"; } if (trim($errorMsg) == '') { if ($this->data['userDetails']->PinCode != '') { $pinCode = $this->input->post('txtPinCode') ?: 0; $rowPC = $this->User_model->get_pincode(); if (isset($rowPC->PinCode) && $this->theString_Decrypt($rowPC->PinCode) == $pinCode && $pinCode != '' || true) { $CALLED_FROM_ORDER_PAGE = '1'; $data = array(); if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'IMEI')) { redirect(base_url('page/error')); } } $data['apiId'] = 0; $apiType = 0; $apiKey = ''; $serverURL = ''; $accountId = ''; $apiAction = ''; $responseUrl = ''; $toolForUB = ''; $packageTitle = ''; $packCostPrice = 0; $msgFromServer = ''; $ifCodeSentToServer = 0; $orderIdFromServer = ''; $toolId = ''; $DELAY_TIME = '1'; $CRON_DELAY_TIME = '1'; $NEW_ORDER_EMAILS = ''; $IMEI_F_TYPE = $this->input->post('imeiFType') ?: '0'; $PRE_ORDER = $this->input->post('hdPreOrder') ?: '0'; $mepId = ''; $mepValue = ''; $modelId = ''; $modelValue = ''; $serialNo = ''; $modelValueToShow = ''; $apiName = ''; $IMEI_SERIES = ''; $mobileId = 0; $rsPackTitle = $this->User_model->get_package_data($myNetworkId); if (isset($rsPackTitle->PackageTitle) && $rsPackTitle->PackageTitle != '') { $packageTitle = stripslashes($rsPackTitle->PackageTitle); $packCostPrice = $rsPackTitle->CostPrice == '' ? 0 : $rsPackTitle->CostPrice; $SERVICE_TYPE = $rsPackTitle->ServiceType; // 0 for DATABASE, 1 for RECALCULATE $DELAY_TIME = $rsPackTitle->ResponseDelayTm == 0 ? '1' : $rsPackTitle->ResponseDelayTm; $CRON_DELAY_TIME = $rsPackTitle->CronDelayTm == 0 ? '1' : $rsPackTitle->CronDelayTm; $NEW_ORDER_EMAILS = $rsPackTitle->NewOrderEmailIDs; $IMEI_SERIES = trim($rsPackTitle->IMEISeries); } $rsAPI = $this->User_model->get_api_data($myNetworkId); if (isset($rsAPI->APIId) && $rsAPI->APIId != '') { $data['apiId'] = $rsAPI->APIId; $apiType = $rsAPI->APIType; $apiKey = $rsAPI->APIKey; $serverURL = $rsAPI->ServerURL; $accountId = $rsAPI->AccountId; $serviceId = $rsAPI->ServiceId; $apiAction = $rsAPI->APIAction; $responseUrl = $rsAPI->ResponseURL; $apiName = $rsAPI->APITitle; $extNwkId = $rsAPI->ExternalNetworkId != '' ? $rsAPI->ExternalNetworkId : 0; } if (isset($_POST['brandId']) && $_POST['brandId'] != '0') { $mobileId = $this->input->post('brandId') ?: '0'; } if ($this->input->post('modelId') && $this->input->post('modelId') != '0') { $modelId = $this->input->post('modelId') ?: '0'; $modelValueToShow = $this->input->post('mdlVal') ?: '0'; } $arrIMEIS = array(); $duplicateIMEIs = array(); $invalidIMEIs = array(); $DUP_IMEIS = array(); $ODLIMEIs = array(); $ODL_COUNTER = 0; $totalIMEIs = 0; if ($IMEI_F_TYPE == '0') { if ($this->input->post("rdIMEIType") == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); else $arrIMEIS[0] = $this->input->post("txtIMEI"); } else { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') { $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); } else { $arrIMEIS[0] = $this->input->post("txtIMEI"); } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '2') { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '3') { $mnLen = $this->input->post('customFldMinLen') ?: 0; $mxLen = $this->input->post('customFldMaxLen') ?: 0; $custFldRes = $this->input->post('custFldRstrctn') ?: 0; $arrCustomData = explode("\n", $this->input->post("txtCustomFld")); $r = 0; $rr = 0; $arrTEMP = array(); foreach ($arrCustomData as $v) { $IS_VALID = true; $arrValue = trim($v); $strCustError = ''; if ($mnLen != 0 && $mnLen != '') { if (strlen($arrValue) < $mnLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } if ($mxLen != 0) { if (strlen($arrValue) > $mxLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } // CHECK IF THERE IS ANY RESTRICTION AT CUSTOM FIELD. $strCustError = checkCustomFieldRestriction($custFldRes, $arrValue); if ($strCustError != '') { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } if ($IS_VALID) $arrIMEIS[$r] = $arrValue; $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } $personalRecord = $this->input->post('txtPersonalRecord'); $phoneLockedOn = $this->input->post('txtOprName') ?: ''; $countryId = $this->input->post('countryId') ?: 0; $notes = $this->input->post('txtNotes'); $comments = $this->input->post('txtComments'); $allowDupIMEIs = $this->input->post('hdDupIMEI') ?: 0; $packagePrice = 0; $USER_ID = $_SESSION['GSM_FUS_UserId']; $packagePrice = getpackprice($myNetworkId, $MY_CURRENCY_ID, $IMEI_TYPE); $dupMsg = ''; $odlMsg = ''; $strInsertOrders = ''; $strCreditHistory = ''; $strEmailContents = ''; $strInsert = '0'; $suppPurchasePrice = '0'; $supplierId = '0'; list($suppPackId, $suppPurchasePrice, $supplierId) = ifPackIdAssignedToSupplier($myNetworkId, 0); if ($suppPackId != '0') $strInsert = '1'; $STR_IMEIS = '0'; $currDtTm = setDtTmWRTYourCountry(); for ($j = 0; $j < $totalIMEIs; $j++) { if (trim($arrIMEIS[$j]) != '') $STR_IMEIS .= ", '" . trim($arrIMEIS[$j]) . "'"; } if ($allowDupIMEIs == '0') { $rsIfExists = $this->User_model->get_codes($myNetworkId, $STR_IMEIS); foreach ($rsIfExists as $row) { $DUP_IMEIS[$row->IMEINo] = '1'; } } $rwUNC = $this->User_model->fetch_negative_user_credits(); $ALLOWNGTVCRDTS = $rwUNC->AllowNegativeCredits; $ODL = $rwUNC->OverdraftLimit; $PLACED_ORDERS_COUNT = 0; for ($j = 0; $j < $totalIMEIs; $j++) { $UNLOCK_CODE = ''; $strUpdate = ''; $myIMEI = trim($arrIMEIS[$j]); $allowIMEIEntry = true; if (isset($DUP_IMEIS[$myIMEI]) && $DUP_IMEIS[$myIMEI] == '1') { $allowIMEIEntry = false; if ($dupMsg == '') $dupMsg = $myIMEI; else $dupMsg .= 'LB ' . $myIMEI; } if ($allowIMEIEntry && trim($myIMEI) != '') { //$PLACED_ORDERS_COUNT++; if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $myCredits = $this->data['userDetails']->Credits; //$myCredits = number_format($myCredits, 2, '.', ''); if ($myCredits == '') $myCredits = 0; $finalCr = $myCredits - $packagePrice; if ($finalCr < 0) { if ($ALLOWNGTVCRDTS == '0') { $message = $this->lang->line('CUST_CODE_MSG2'); } else if ($ALLOWNGTVCRDTS == '1') { $REMAINING_CREDITS = abs($finalCr); if ($REMAINING_CREDITS <= $ODL) { // check limit if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } else { $ODLIMEIs[$ODL_COUNTER++] = $myIMEI; if ($odlMsg == '') $odlMsg = $myIMEI; else $odlMsg .= 'LB ' . $myIMEI; //$message = $CUST_CODE_MSG2; } } } else { if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } } } } if ($strInsertOrders != '' && $strCreditHistory != '') { $this->User_model->add_codes_data($strInsertOrders, $cols_cfields); create_push_notification($this->session->userdata('GSM_FUS_UserId'), 'New IMEI Order has been placed!', 'page/imei_orders'); $this->User_model->update_user_credits($encryptedCredits); $this->User_model->add_credit_history_iemi($strCreditHistory); } if ($strEmailContents != '' && $this->data['settings']->SendNewIMEIOrderEmail == '1') { newIMEIOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserName'), $packageTitle, $strEmailContents, '', $packagePrice, $finalCr, $currDtTm, $myNetworkId, $altEmail, $NEW_ORDER_EMAILS, $notes); } if ($PLACED_ORDERS_COUNT > 0) $message = "ThankSPyouSPforSPplacingSP($PLACED_ORDERS_COUNT)SPIMEISPorders."; if ($dupMsg != '') { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData:SPLB$dupMsg"; } if ($dupMsg == '' && (sizeof($duplicateIMEIs) > 0 || sizeof($invalidIMEIs) > 0)) { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData: "; } if ($odlMsg != '' && sizeof($ODLIMEIs) > 0) { $ORDER_COMPLETED = 0; $message .= "LBLBYourSPOverdraftSPLimitSPhasSPbeenSPfinishedSPforSPIMEI(s): "; } foreach ($duplicateIMEIs as $dupVal) { if ($dupVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$dupVal"; } } foreach ($invalidIMEIs as $imeiVal) { if ($imeiVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$imeiVal"; } } foreach ($ODLIMEIs as $oldIMEI) { if ($oldIMEI != '') { $ORDER_COMPLETED = 0; $message .= "LB$oldIMEI"; } } $data['message'] = $message; } else { echo "here"; //redirect(base_url('dashboard')); } $imei_data = $data; $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } else { $this->data['message'] = $this->lang->line('CUST_LBL_179'); $msg = $this->lang->line('CUST_LBL_179'); $this->data['isError'] = 1; } } else { $CALLED_FROM_ORDER_PAGE = '1'; $imei_data = submit_imei_order($myNetworkId, $IMEI_TYPE, $this->data['userDetails']->CurrencyId, $CALLED_FROM_ORDER_PAGE, $historyData, $this->data['altEmail'], $vals_cfields, $this->data['userDetails']->CurrencyAbb, $cols_cfields); $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } } else $this->data['ORDER_COMPLETED'] = 0; } } $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID = $this->session->userdata('GSM_FUS_UserId'); /**/ $sType = 0; $rsIds = $this->User_model->selectData("SELECT PackageId FROM tbl_gf_packages WHERE sl3lbf = '$sType' AND DisablePackage = 0"); $strServiceIds = '0'; foreach ($rsIds as $row) { $strServiceIds .= ', ' . $row->PackageId; } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users_packages_prices WHERE UserId = '$USER_ID' AND PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { $PACK_PRICES_USER[$row->PackageId] = roundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->User_model->getRow("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'"); if (isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '$IMEI_TYPE' AND PackageId IN ($strServiceIds)"); foreach ($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '$IMEI_TYPE' AND UserId = '$USER_ID' AND PackageId IN ($strServiceIds) "); foreach ($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->User_model->selectData("SELECT A.PackageId, Price, PackagePrice FROM tbl_gf_packages A LEFT JOIN tbl_gf_packages_currencies B ON (A.PackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID') WHERE sl3lbf = '$IMEI_TYPE' AND A.PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { if ($row->Price == '') $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->PackagePrice * $this->data['userDetails']->ConversionRate); else $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->Price); } /**/ $prevCatId = 0; $data = ''; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"'; if($prevCatId > 0) { if($row->CategoryId != $prevCatId) $data.='<div class="test"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; } else $data.='<div class="test1"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; $data.='<div class="row" style="border-bottom: 1px solid #ebe6e6;padding: 10px 0;cursor: pointer;">'; $data.='<div class="col-lg-8">'; $data.='<div style="border-right: 1px solid #ebe6e6" class="left_package">'; $data.='<h5 class="my_pack" style="word-wrap: break-word;" title="'.$row->PackageId.'"> '.stripslashes($row->PackageTitle).'</h5><span>'.stripslashes($row->TimeTaken).'</span>'; $data.='</div>'; $data.='</div>'; $data.='<div class="col-lg-4" style="display: flex;align-items: center;">'; $data.='<div class="right_pack_price">'; $data.='<h2 class="my_pack" title="'.$row->PackageId.'" class="tbl_price">'.$myPackPrice.'</h2>'; $data.='</div>'; $data.='</div>'; $data.='</div>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId) { $data.='</div>'; } }else{ $data.='</div>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchALLIMEIServices(){ $rsPackages = $this->User_model->get_imei_services(); $MY_CURRENCY_ID = $this->data["userDetails"]->CurrencyId; $imei_data = array(); $IMEI_TYPE = '0'; $this->data['mustRead'] = ''; $imeiOption = '1'; $categoryId = $this->input->post('categoryId') ?: 0; $myNetworkId = $this->input->post('packageId') ?: 0; $this->data['myNetworkId'] = $this->input->post('packageId') ?: 0; $csrfTkn = $this->input->post('csrfToken') ?: ''; $this->data['altEmail'] = $this->input->post("txtAltEmail") ?: ''; if ($this->input->post("rdIMEIType")) { $imeiOption = $this->input->post("rdIMEIType"); } $this->data['imei'] = $this->input->post("txtIMEI") ?: ''; $this->data['multiIMEIs'] = $this->input->post("imei") ?: ''; $this->data['notes'] = $this->input->post("txtNotes") ?: ''; $this->data['comments'] = $this->input->post("txtComments") ?: ''; $errorMsg = ''; $this->data['lastDgt'] = $this->input->post("txtIMEILastDigit") ?: ''; $msg = $this->input->post("msg") ?: ''; $this->data['imeiMxLn'] = '15'; $imeiCls = 'input70pc'; $this->data['message'] = ''; if ($this->data['settings']->CheckSumIMEI == '1') { $this->data['imeiMxLn'] = '14'; $imeiCls = 'input60pc'; } if ($imeiOption == '1') $this->data['multiIMEIs'] = ''; else if ($imeiOption == '2') $imei = ''; $this->data['cldFrm'] = $this->input->post("cldFrm") ?: 0; $this->data['cldFm'] = $this->input->post("cldFm") ?: 0; $this->data['isError'] = 0; $this->data['ORDER_COMPLETED'] = '1'; if ($this->input->post('packageId') && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->data['cldFrm'] == '2') { $cols_cfields = $vals_cfields = $historyData = ''; $ttlFields = $this->input->post("totalCustomFields") ?: '0'; for ($x = 1; $x <= $ttlFields; $x++) { $col = $this->input->post('colNm' . $x) ?: ''; if ($col != '') { $cols_cfields .= ", $col"; $val = $this->input->post('fld' . $x) ?: ''; $vals_cfields .= ", '$val'"; $isMandatory = $this->input->post('mndtry' . $x) ?: '0'; $chkRestriction = $this->input->post('rstrctn' . $x) ?: '0'; if ($isMandatory == '1' && $val == '') { $errorMsg .= "Value for " . $this->input->post('lbl' . $x) . " can not be empty.<br />"; } if ($chkRestriction == '1') // DIGITS ONLY { $errorMsg .= digits_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '2') // CHARACTERS ONLY { $errorMsg .= characters_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '3') // DIGITS & CHARACTERS ONLY { $errorMsg .= validateAlphabetsAndDigits($val, $this->input->post('lbl' . $x)); } if ($historyData != '') { $historyData .= '<br />'; } $historyData .= $this->input->post('lbl' . $x) . ": " . $val; } } if ($this->input->post('hdTOC') == '1')// I terms and conditions check is mandatory { if (!$this->input->post('chkTOC')) $errorMsg .= "Click on Agree with Terms Of Services.<br /><br />"; } if (trim($errorMsg) == '') { if ($this->data['userDetails']->PinCode != '') { $pinCode = $this->input->post('txtPinCode') ?: 0; $rowPC = $this->User_model->get_pincode(); if (isset($rowPC->PinCode) && $this->theString_Decrypt($rowPC->PinCode) == $pinCode && $pinCode != '' || true) { $CALLED_FROM_ORDER_PAGE = '1'; $data = array(); if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'IMEI')) { redirect(base_url('page/error')); } } $data['apiId'] = 0; $apiType = 0; $apiKey = ''; $serverURL = ''; $accountId = ''; $apiAction = ''; $responseUrl = ''; $toolForUB = ''; $packageTitle = ''; $packCostPrice = 0; $msgFromServer = ''; $ifCodeSentToServer = 0; $orderIdFromServer = ''; $toolId = ''; $DELAY_TIME = '1'; $CRON_DELAY_TIME = '1'; $NEW_ORDER_EMAILS = ''; $IMEI_F_TYPE = $this->input->post('imeiFType') ?: '0'; $PRE_ORDER = $this->input->post('hdPreOrder') ?: '0'; $mepId = ''; $mepValue = ''; $modelId = ''; $modelValue = ''; $serialNo = ''; $modelValueToShow = ''; $apiName = ''; $IMEI_SERIES = ''; $mobileId = 0; $rsPackTitle = $this->User_model->get_package_data($myNetworkId); if (isset($rsPackTitle->PackageTitle) && $rsPackTitle->PackageTitle != '') { $packageTitle = stripslashes($rsPackTitle->PackageTitle); $packCostPrice = $rsPackTitle->CostPrice == '' ? 0 : $rsPackTitle->CostPrice; $SERVICE_TYPE = $rsPackTitle->ServiceType; // 0 for DATABASE, 1 for RECALCULATE $DELAY_TIME = $rsPackTitle->ResponseDelayTm == 0 ? '1' : $rsPackTitle->ResponseDelayTm; $CRON_DELAY_TIME = $rsPackTitle->CronDelayTm == 0 ? '1' : $rsPackTitle->CronDelayTm; $NEW_ORDER_EMAILS = $rsPackTitle->NewOrderEmailIDs; $IMEI_SERIES = trim($rsPackTitle->IMEISeries); } $rsAPI = $this->User_model->get_api_data($myNetworkId); if (isset($rsAPI->APIId) && $rsAPI->APIId != '') { $data['apiId'] = $rsAPI->APIId; $apiType = $rsAPI->APIType; $apiKey = $rsAPI->APIKey; $serverURL = $rsAPI->ServerURL; $accountId = $rsAPI->AccountId; $serviceId = $rsAPI->ServiceId; $apiAction = $rsAPI->APIAction; $responseUrl = $rsAPI->ResponseURL; $apiName = $rsAPI->APITitle; $extNwkId = $rsAPI->ExternalNetworkId != '' ? $rsAPI->ExternalNetworkId : 0; } if (isset($_POST['brandId']) && $_POST['brandId'] != '0') { $mobileId = $this->input->post('brandId') ?: '0'; } if ($this->input->post('modelId') && $this->input->post('modelId') != '0') { $modelId = $this->input->post('modelId') ?: '0'; $modelValueToShow = $this->input->post('mdlVal') ?: '0'; } $arrIMEIS = array(); $duplicateIMEIs = array(); $invalidIMEIs = array(); $DUP_IMEIS = array(); $ODLIMEIs = array(); $ODL_COUNTER = 0; $totalIMEIs = 0; if ($IMEI_F_TYPE == '0') { if ($this->input->post("rdIMEIType") == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); else $arrIMEIS[0] = $this->input->post("txtIMEI"); } else { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') { $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); } else { $arrIMEIS[0] = $this->input->post("txtIMEI"); } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '2') { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '3') { $mnLen = $this->input->post('customFldMinLen') ?: 0; $mxLen = $this->input->post('customFldMaxLen') ?: 0; $custFldRes = $this->input->post('custFldRstrctn') ?: 0; $arrCustomData = explode("\n", $this->input->post("txtCustomFld")); $r = 0; $rr = 0; $arrTEMP = array(); foreach ($arrCustomData as $v) { $IS_VALID = true; $arrValue = trim($v); $strCustError = ''; if ($mnLen != 0 && $mnLen != '') { if (strlen($arrValue) < $mnLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } if ($mxLen != 0) { if (strlen($arrValue) > $mxLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } // CHECK IF THERE IS ANY RESTRICTION AT CUSTOM FIELD. $strCustError = checkCustomFieldRestriction($custFldRes, $arrValue); if ($strCustError != '') { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } if ($IS_VALID) $arrIMEIS[$r] = $arrValue; $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } $personalRecord = $this->input->post('txtPersonalRecord'); $phoneLockedOn = $this->input->post('txtOprName') ?: ''; $countryId = $this->input->post('countryId') ?: 0; $notes = $this->input->post('txtNotes'); $comments = $this->input->post('txtComments'); $allowDupIMEIs = $this->input->post('hdDupIMEI') ?: 0; $packagePrice = 0; $USER_ID = $_SESSION['GSM_FUS_UserId']; $packagePrice = getpackprice($myNetworkId, $MY_CURRENCY_ID, $IMEI_TYPE); $dupMsg = ''; $odlMsg = ''; $strInsertOrders = ''; $strCreditHistory = ''; $strEmailContents = ''; $strInsert = '0'; $suppPurchasePrice = '0'; $supplierId = '0'; list($suppPackId, $suppPurchasePrice, $supplierId) = ifPackIdAssignedToSupplier($myNetworkId, 0); if ($suppPackId != '0') $strInsert = '1'; $STR_IMEIS = '0'; $currDtTm = setDtTmWRTYourCountry(); for ($j = 0; $j < $totalIMEIs; $j++) { if (trim($arrIMEIS[$j]) != '') $STR_IMEIS .= ", '" . trim($arrIMEIS[$j]) . "'"; } if ($allowDupIMEIs == '0') { $rsIfExists = $this->User_model->get_codes($myNetworkId, $STR_IMEIS); foreach ($rsIfExists as $row) { $DUP_IMEIS[$row->IMEINo] = '1'; } } $rwUNC = $this->User_model->fetch_negative_user_credits(); $ALLOWNGTVCRDTS = $rwUNC->AllowNegativeCredits; $ODL = $rwUNC->OverdraftLimit; $PLACED_ORDERS_COUNT = 0; for ($j = 0; $j < $totalIMEIs; $j++) { $UNLOCK_CODE = ''; $strUpdate = ''; $myIMEI = trim($arrIMEIS[$j]); $allowIMEIEntry = true; if (isset($DUP_IMEIS[$myIMEI]) && $DUP_IMEIS[$myIMEI] == '1') { $allowIMEIEntry = false; if ($dupMsg == '') $dupMsg = $myIMEI; else $dupMsg .= 'LB ' . $myIMEI; } if ($allowIMEIEntry && trim($myIMEI) != '') { //$PLACED_ORDERS_COUNT++; if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $myCredits = $this->data['userDetails']->Credits; //$myCredits = number_format($myCredits, 2, '.', ''); if ($myCredits == '') $myCredits = 0; $finalCr = $myCredits - $packagePrice; if ($finalCr < 0) { if ($ALLOWNGTVCRDTS == '0') { $message = $this->lang->line('CUST_CODE_MSG2'); } else if ($ALLOWNGTVCRDTS == '1') { $REMAINING_CREDITS = abs($finalCr); if ($REMAINING_CREDITS <= $ODL) { // check limit if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } else { $ODLIMEIs[$ODL_COUNTER++] = $myIMEI; if ($odlMsg == '') $odlMsg = $myIMEI; else $odlMsg .= 'LB ' . $myIMEI; //$message = $CUST_CODE_MSG2; } } } else { if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } } } } if ($strInsertOrders != '' && $strCreditHistory != '') { $this->User_model->add_codes_data($strInsertOrders, $cols_cfields); create_push_notification($this->session->userdata('GSM_FUS_UserId'), 'New IMEI Order has been placed!', 'page/imei_orders'); $this->User_model->update_user_credits($encryptedCredits); $this->User_model->add_credit_history_iemi($strCreditHistory); } if ($strEmailContents != '' && $this->data['settings']->SendNewIMEIOrderEmail == '1') { newIMEIOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserName'), $packageTitle, $strEmailContents, '', $packagePrice, $finalCr, $currDtTm, $myNetworkId, $altEmail, $NEW_ORDER_EMAILS, $notes); } if ($PLACED_ORDERS_COUNT > 0) $message = "ThankSPyouSPforSPplacingSP($PLACED_ORDERS_COUNT)SPIMEISPorders."; if ($dupMsg != '') { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData:SPLB$dupMsg"; } if ($dupMsg == '' && (sizeof($duplicateIMEIs) > 0 || sizeof($invalidIMEIs) > 0)) { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData: "; } if ($odlMsg != '' && sizeof($ODLIMEIs) > 0) { $ORDER_COMPLETED = 0; $message .= "LBLBYourSPOverdraftSPLimitSPhasSPbeenSPfinishedSPforSPIMEI(s): "; } foreach ($duplicateIMEIs as $dupVal) { if ($dupVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$dupVal"; } } foreach ($invalidIMEIs as $imeiVal) { if ($imeiVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$imeiVal"; } } foreach ($ODLIMEIs as $oldIMEI) { if ($oldIMEI != '') { $ORDER_COMPLETED = 0; $message .= "LB$oldIMEI"; } } $data['message'] = $message; } else { echo "here"; //redirect(base_url('dashboard')); } $imei_data = $data; $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } else { $this->data['message'] = $this->lang->line('CUST_LBL_179'); $msg = $this->lang->line('CUST_LBL_179'); $this->data['isError'] = 1; } } else { $CALLED_FROM_ORDER_PAGE = '1'; $imei_data = submit_imei_order($myNetworkId, $IMEI_TYPE, $this->data['userDetails']->CurrencyId, $CALLED_FROM_ORDER_PAGE, $historyData, $this->data['altEmail'], $vals_cfields, $this->data['userDetails']->CurrencyAbb, $cols_cfields); $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } } else $this->data['ORDER_COMPLETED'] = 0; } } $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID = $this->session->userdata('GSM_FUS_UserId'); /**/ $sType = 0; $rsIds = $this->User_model->selectData("SELECT PackageId FROM tbl_gf_packages WHERE sl3lbf = '$sType' AND DisablePackage = 0"); $strServiceIds = '0'; foreach ($rsIds as $row) { $strServiceIds .= ', ' . $row->PackageId; } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users_packages_prices WHERE UserId = '$USER_ID' AND PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { $PACK_PRICES_USER[$row->PackageId] = roundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->User_model->getRow("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'"); if (isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '$IMEI_TYPE' AND PackageId IN ($strServiceIds)"); foreach ($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '$IMEI_TYPE' AND UserId = '$USER_ID' AND PackageId IN ($strServiceIds) "); foreach ($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->User_model->selectData("SELECT A.PackageId, Price, PackagePrice FROM tbl_gf_packages A LEFT JOIN tbl_gf_packages_currencies B ON (A.PackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID') WHERE sl3lbf = '$IMEI_TYPE' AND A.PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { if ($row->Price == '') $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->PackagePrice * $this->data['userDetails']->ConversionRate); else $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->Price); } /**/ $prevCatId = 0; $data = ''; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"'; if($prevCatId > 0) { if($row->CategoryId != $prevCatId){ $data.='<div class="test"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; } } else $data.='<div class="test1"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; $data.='<div class="row" style="border-bottom: 1px solid #ebe6e6;padding: 10px 0;cursor: pointer;">'; $data.='<div class="col-lg-8">'; $data.='<div style="border-right: 1px solid #ebe6e6" class="left_package">'; $data.='<h5 class="my_pack" style="word-wrap: break-word;" title="'.$row->PackageId.'"> '.stripslashes($row->PackageTitle).'</h5><span>'.stripslashes($row->TimeTaken).'</span>'; $data.='</div>'; $data.='</div>'; $data.='<div class="col-lg-4" style="display: flex;align-items: center;">'; $data.='<div class="right_pack_price">'; $data.='<h2 class="my_pack" title="'.$row->PackageId.'" class="tbl_price">'.$myPackPrice.'</h2>'; $data.='</div>'; $data.='</div>'; $data.='</div>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId) { $data.='</div>'; } }else{ $data.='</div>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function ajximeiorder() { $purpose = $this->input->post_get('purpose'); if ($purpose == 'getData') { $imei_allow_digits = $imei_capital_alphabets = $imei_small_alphabets = ""; $PCK_TITLE = 'PackageTitle'; $TIME_TAKEN = 'TimeTaken'; $IMP_INFO = 'MustRead'; $packId = $this->input->post('packId') ?: '0'; $usrCurrId = $this->input->post('usrCurrId') ?: '0'; $cnvrsnRt = $this->input->post('cnvrsnRt') ?: '0'; $themeStyle = $this->input->post('themeStyle') ?: '0'; $msg = ''; $mustRead = ''; $timeTaken = ''; $apiId = 0; $pckTitle = ''; $dupIMEIs = 0; $extNtwrkId = 0; $strMobiles = ''; $strBrands = ''; $apiType = 0; $customFldId = 0; $redirectTo = ''; $rsPackage = $this->User_model->get_packages($PCK_TITLE, $TIME_TAKEN, $IMP_INFO, $packId); //var_dump($this->db->last_query());die; if (isset($rsPackage->PackageTitle) && $rsPackage->PackageTitle != '') { $mustRead = htmlspecialchars_decode(stripslashes($rsPackage->MustRead)); $timeTaken = stripslashes($rsPackage->TimeTaken); $apiId = $rsPackage->APIId; $pckTitle = stripslashes($rsPackage->PackageTitle); $dupIMEIs = $rsPackage->DuplicateIMEIsNotAllowed; $imeiFType = $rsPackage->IMEIFieldType; $bulkimeiFType = $rsPackage->bulkIMEIFieldType; $customimeiFType = $rsPackage->customIMEIFieldType; $imei_custom_name = $rsPackage->imei_custom_name; $imei_custom_length = $rsPackage->imei_custom_length;//ahmedTest $imei_custom_max_length = $rsPackage->imei_custom_max_length; $imei_custom_information = $rsPackage->imei_custom_information; $imei_allow_alphabit = $rsPackage->imei_allow_alphabit; $imei_allow_digits = $rsPackage->imei_allow_digits; $imei_capital_alphabets = $rsPackage->imei_capital_alphabets; $imei_small_alphabets = $rsPackage->imei_small_alphabets; $pckImg = $rsPackage->PackageImage; $preCode = $rsPackage->CalculatePreCodes; $apiType = $rsPackage->APIType; $extNtwrkId = $rsPackage->ExternalNetworkId == '' ? 0 : $rsPackage->ExternalNetworkId; $customFldId = $rsPackage->CustomFieldId; $redirectTo = $rsPackage->RedirectionURL; $toc = $rsPackage->TOCs; $strFeatures = $rsPackage->ServiceType == '0' ? '<li><i class="fa fa-reorder" title="Database"></i> Database</li>' : ''; $strFeatures .= $rsPackage->VerifyOrders == '1' ? '<li ><i class="fa fa-refresh" title="Verifiable"></i> Verifiable</li>' : ''; $strFeatures .= $rsPackage->CancelOrders == '1' ? '<li ><i class="fa fa-times" title="Can be cancelled"></i> Can be cancelled</li>' : ''; } $myNetworkId = $packId; $USER_ID = $this->session->userdata('GSM_FUS_UserId'); $IMEI_TYPE = 0; $MY_CURRENCY_ID = $usrCurrId; $CONVERSION_RATE = $cnvrsnRt; $packagePrice = getpackprice($myNetworkId, $MY_CURRENCY_ID, $IMEI_TYPE, null, 3); if ($pckImg != '') { $rowSettings = $this->User_model->get_theme(); $pckImg = base_url('uplds' . $rowSettings->Theme . '/' . $rsPackage->PackageImage); } $brandAPIId = 0; $rsBrands = $this->User_model->get_brands($packId); foreach ($rsBrands as $row) { $brandAPIId = $row->APIId; $strBrands .= "<option value='" . $row->Id . "'>" . stripslashes($row->Value) . "</option>"; } //=================================== CUSTOM FIELDS ============================================// $i = 1; $strFields = ''; $isBulk = false; $customFields = $this->db->query("SELECT * FROM `tbl_gf_api_custom_fields` WHERE `PackId` = {$packId} AND `PackType` = 0")->result(); foreach ($customFields as $row) { // making label $FieldLabel = ($row->FieldLabel ?: $row->FieldName); if($FieldLabel == '' && $row->UseAsIMEI) { $FieldLabel = "IMEI"; } if ($themeStyle == '0') $strFields .= '<div class="form-group"><label>' . $FieldLabel . ':'; else if ($themeStyle == '1') $strFields .= '<div class="control-group"><label class="control-label">' . $FieldLabel . ':'; if ($row->Required == '1') $strFields .= '*'; if ($themeStyle == '0') $strFields .= '</label>'; else if ($themeStyle == '1') $strFields .= '</label><div class="controls">'; // making field if($row->Bulk) { $isBulk = true; # input field start $strMaxLen = ''; if ($row->MaxLen > 0) $strMaxLen = "maxlength = '" . $row->MaxLen . "'"; $strMinLen = ''; if ($row->MinLen > 0) $strMinLen = "minlength = '" . $row->MinLen . "'"; $validateIMEI = ''; if($row->UseAsIMEI && !$row->IsCustomIMEI) { $validateIMEI = ' onkeypress="if(checkImeiNew(this.value)) return false; else validateInteger(event)" id="txtIMEI" '; $strFields .= '<div class="input-group">'; $strMinLen = "minlength = '14'"; $strMaxLen = "maxlength = '14'"; } $strFields .= '<input type="text" placeholder="Enter ' . $FieldLabel . '" name="fld' . $i . '" ' . $strMinLen . ' ' . $strMaxLen . ' ' . $validateIMEI . ' class="form-control" />'; if($row->UseAsIMEI && !$row->IsCustomIMEI) { $strFields .= '<div class="input-group-append"> <input type="text" class="form-control text-center" style="width:50px; padding: 0;" name="txtIMEILastDigit'.$i.'" id="txtIMEILastDigit" readonly="" value="" placeholder="IMEI:"> </div></div><p style="color: #cac7c7">Only 15 digit Number (dial *#06# for IMEI Number)</p>'; }else if ($row->Description != ''){ $strFields .= '<p style="color: #cac7c7">' . stripslashes($row->Description) . '</p>'; } else if($row->IsCustomIMEI) { $strFields .= '<p> </p>'; } # text area start $validateIMEI = ''; if($row->UseAsIMEI && !$row->IsCustomIMEI) { $validateIMEI = ' onkeypress="validateIntegerInTextArea(event)" id="imei" '; } else{ $validateIMEI = ' id="imei" '; } $strFields .= "<label>Bulk " . $FieldLabel . ":*</label>"; $strFields .= '<textarea name="fld' . ($i+1) . '" ' . $validateIMEI . ' class="form-control isBulk"></textarea>'; if($row->UseAsIMEI) { $strFields .= '<div style="color: #cac7c7" class="help-block mt-1">You can order max 122 of IMEI service.You can enter several serial numbers (one per line) if you have serial similar phones (for the same service and the same information)</div>'; } }else{ if ($row->FieldType == 'text') { $strMaxLen = ''; if ($row->MaxLen > 0) $strMaxLen = "maxlength = '" . $row->MaxLen . "'"; $strMinLen = ''; if ($row->MinLen > 0) $strMinLen = "minlength = '" . $row->MinLen . "'"; $validateIMEI = ''; if($row->UseAsIMEI && !$row->IsCustomIMEI) { $validateIMEI = ' onkeypress="if(checkImeiNew(this.value)) return false; else validateInteger(event)" id="txtIMEI" '; $strFields .= '<div class="input-group">'; $strMinLen = "minlength = '14'"; $strMaxLen = "maxlength = '14'"; } $strFields .= '<input type="text" placeholder="Enter ' . $FieldLabel . '" name="fld' . $i . '" ' . $strMinLen . ' ' . $strMaxLen . ' ' . $validateIMEI . ' class="form-control" />'; if($row->UseAsIMEI && !$row->IsCustomIMEI) { $strFields .= '<div class="input-group-append"> <input type="text" class="form-control text-center" style="width:50px; padding: 0;" name="txtIMEILastDigit'.$i.'" id="txtIMEILastDigit" readonly="" value="" placeholder="IMEI:"> </div></div><p style="color: #cac7c7">Only 15 digit Number (dial *#06# for IMEI Number)</p>'; } } else if ($row->FieldType == 'textarea') { $validateIMEI = ''; if($row->UseAsIMEI) { $validateIMEI = ' onkeypress="validateIntegerInTextArea(event)" id="imei" '; } $strFields .= '<textarea name="fld' . $i . '" ' . $validateIMEI . ' class="form-control"></textarea>'; if($row->UseAsIMEI) { $strFields .= '<div style="color: #cac7c7" class="help-block mt-1">You can order max 122 of IMEI service.You can enter several serial numbers (one per line) if you have serial similar phones (for the same service and the same information)</div>'; } } else if ($row->FieldType == 'dropdown') { $strFields .= '<select id="ddOrdrQty" name="fld' . $i . '" class="form-control">'; $rsValues = explode(",", trim($row->FieldOptions, ", ")); foreach ($rsValues as $rw) { $strFields .= '<option value="' . $rw . '">' . $rw . '</option>'; } $strFields .= '</select>'; } else if ($row->FieldType == 'radio') { $rsValues = explode(",", trim($row->FieldOptions, ", ")); foreach ($rsValues as $rw) { $strFields .= '<input type="radio" class="form-control" name="fld' . $i . '" value="' . $rw . '"> ' . $rw . ' '; } } if ($row->Description != '') $strFields .= '<p style="color: #cac7c7">' . stripslashes($row->Description) . '</p>'; } if ($themeStyle == '0') $strFields .= '</div>'; else if ($themeStyle == '1') $strFields .= '</div></div>'; $strFields .= '<input type="hidden" name="colNm' . $i . '" value="' . $row->FieldName . '" />'; $strFields .= '<input type="hidden" name="mndtry' . $i . '" value="' . $row->Required . '" />'; $strFields .= '<input type="hidden" name="rstrctnAD' . $i . '" value="' . $row->AllowDigits . '" />'; $strFields .= '<input type="hidden" name="rstrctnASA' . $i . '" value="' . $row->AllowSmallAlphabets . '" />'; $strFields .= '<input type="hidden" name="rstrctnACA' . $i . '" value="' . $row->AllowCapitalAlphabets . '" />'; $strFields .= '<input type="hidden" name="fieldId' . $i . '" value="' . $row->Id . '" />'; $strFields .= '<input type="hidden" name="lbl' . $i . '" value="' . $FieldLabel . '" />'; $strFields .= '<input type="hidden" name="useAsIMEI' . $i . '" value="' . $row->UseAsIMEI . '" />'; $strFields .= '<input type="hidden" name="customField' . $i . '" value="' . $row->CustomField . '" />'; $i++; if($row->Bulk) { if($row->UseAsIMEI && !$row->IsCustomIMEI) { $strFields .= '<input type="hidden" name="txtIsCustomIMEI' . $i . '" value="1" />'; } else { $strFields .= '<input type="hidden" name="txtIsCustomIMEI' . $i . '" value="0" />'; } $strFields .= '<input type="hidden" name="colNm' . $i . '" value="' . $row->FieldName . '" />'; $strFields .= '<input type="hidden" name="mndtry' . $i . '" value="' . $row->Required . '" />'; $strFields .= '<input type="hidden" name="rstrctnAD' . $i . '" value="' . $row->AllowDigits . '" />'; $strFields .= '<input type="hidden" name="rstrctnASA' . $i . '" value="' . $row->AllowSmallAlphabets . '" />'; $strFields .= '<input type="hidden" name="rstrctnACA' . $i . '" value="' . $row->AllowCapitalAlphabets . '" />'; $strFields .= '<input type="hidden" name="fieldId' . $i . '" value="' . $row->Id . '" />'; $strFields .= '<input type="hidden" name="lbl' . $i . '" value="Bulk ' . $FieldLabel . '" />'; $strFields .= '<input type="hidden" name="useAsIMEI' . $i . '" value="' . $row->UseAsIMEI . '" />'; $strFields .= '<input type="hidden" name="customField' . $i . '" value="' . $row->CustomField . '" />'; $i++; } } if($isBulk) $totalFields = count($customFields) + 1; else $totalFields = count($customFields); $strFields .= '<input type="hidden" name="totalCustomFields" value="' . $totalFields . '" />'; //=================================== CUSTOM FIELDS ============================================// //=================================== FEATURES ============================================// $strFeatures .= get_service_features($packId, 0); //=================================== FEATURES ============================================// //var_dump($strCustomFld,$imei_custom_name,$imei_custom_length,$imei_custom_information);die; echo json_encode(array( 'mustRead' => $mustRead, 'timeTaken' => $timeTaken, 'apiId' => $apiId, 'pckTitle' => $pckTitle, 'strCustomFld' => "", //$strCustomFld, 'dupIMEIs' => $dupIMEIs, 'imeiFType' => $imeiFType, 'pckImg' => $pckImg, 'strMobiles' => $strMobiles, 'preCode' => $preCode, 'strBrands' => $strBrands, 'extNtwrkId' => $extNtwrkId, 'brandAPIId' => $brandAPIId, 'packagePrice' => $packagePrice, 'strFields' => $strFields, 'redirectTo' => $redirectTo, 'toc' => $toc, 'strFeatures' => $strFeatures, 'mxLn' => "", //$mxLn, 'cusFldRes' => "", //$cusFldRes, 'mnLn' => "", //$mnLn, 'bulkimeiFType' => $bulkimeiFType, 'customimeiFType' => $customimeiFType, 'imei_custom_name' => $imei_custom_name, 'validationCondition' => "", //$validationCondition, )); exit(); } else if ($purpose == 'getMdls') { $brandAPIId = $this->input->post('brandAPIId') ?: '0'; $brandId = $this->input->post('brandId') ?: '0'; $packId = $this->input->post('packId') ?: '0'; $strModels = ''; $rsModels = $this->User_model->get_models($brandId, $packId); $t = 0; $selectedModel = ''; foreach ($rsModels as $row) { if ($t == 0) { $selectedModel = stripslashes($row->Value); } $strModels .= "<option value='" . $row->Id . "'>" . stripslashes($row->Value) . "</option>"; $t++; } $msg = $strModels . '~GSMF~' . $selectedModel; } echo $msg; exit(); } public function file_services() { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'File')) { redirect(base_url('page/404')); } } $IMEI_TYPE = '1'; $this->data['mustRead'] = ''; $this->data['dupMsg'] = ''; $this->data['message'] = ''; $this->data['msg'] = ''; $categoryId = $this->input->post("categoryId") ?: 0; $myNetworkId = $this->input->post("packageId") ?: 0; $this->data['myNetworkId'] = $myNetworkId; $notes = $this->input->post("txtNotes") ?: ''; $this->data['notes'] = $notes; $comments = $this->input->post("txtComments") ?: ''; $this->data['comments'] = $comments; $cldFrm = $this->input->post("cldFrm") ?: 0; $altEmail = $this->input->post("txtAltEmail") ?: ''; $this->data['altEmail'] = $altEmail; if($this->input->method() == 'post') { $this->session->set_userdata('ORDERED_FROM', 1); if (($this->input->post('packageId')) && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($cldFrm == '2') { if ($this->data['userDetails']->PinCode != '' && false) { // to stop pincode check $pinCode = $this->input->post('txtPinCode') ?: 0; $rowPC = $this->User_model->get_user_pincode(); if (isset($rowPC->PinCode) && theString_Decrypt($rowPC->PinCode) == $pinCode && $pinCode != '') { include APPPATH . 'scripts/submitfileorder.php'; } else { $this->data['message'] = $this->lang->line('CUST_LBL_179'); } } else { include APPPATH . 'scripts/submitfileorder.php'; } } } if(!empty($this->data['message'])) { $message = $this->data['message']; }else{ $message = $this->lang->line('CUST_LBL_181'); } $this->session->set_flashdata('message', $message); if(!empty($_SESSION['opened_mobile'])) { redirect(base_url('webviews/placefileorder?id='.$this->input->post('packageId').'&user_id='.$this->session->userdata('GSM_FUS_UserId'))); }else{ redirect(base_url('page/file_services')); } } // $this->data['strPackIds'] = getUserPacksIds($this->session->userdata('GSM_FUS_UserId'), 1); // last_query(); $rsNews = $this->User_model->get_shortdescription(); $this->data['success'] = ''; if ($this->input->post_get('success') && $this->input->post_get('success') == '1') { $this->data['success'] = '<div class="alert alert-success">' . $this->lang->line('CUST_LBL_181') . '</div>'; } $this->data['message'] = $this->session->flashdata('message') ?: ''; if($this->data['rsStngs']->orderForms == 2) { $this->data['view'] = 'file_services_new'; } else { $this->data['view'] = 'file_services_new_layout'; } $this->load->view('layouts/default', $this->data); } public function searchFileServers(){ // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId') , 0); $strPackIds = array(); $id = $this->input->post('text'); $rsPackages = get_searchfilePackages($strPackIds,$id); $data=''; $prevCatId = 0; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 1; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } /*if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"';*///offset here e if($prevCatId > 0) { if($row->CategoryId != $prevCatId){ $data.='<div class="test"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; } } else $data.='<div class="test1" style="min-width: 394px;"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; $data.='<div class="row" style="border-bottom: 1px solid #ebe6e6;padding: 10px 0;cursor: pointer;">'; $data.='<div class="col-lg-8">'; $data.='<div style="border-right: 1px solid #ebe6e6" class="left_package" >'; $data.='<h5 class="my_pack tbl_title" style="word-wrap: break-word;" details2="'.$myPackPrice.'" title="'.$row->PackageId.'" > '.stripslashes($row->PackageTitle).'</h5><span class="GrayColor">'.stripslashes($row->TimeTaken).'</span> </div>'; $data.='</div>'; $data.='<div class="col-lg-4" style="display: flex;align-items: center;">'; $data.='<div class="right_pack_price">'; $data.='<h2 class="my_pack" title="'.$row->PackageId.'" class="tbl_price">'.$myPackPrice.'</h2>'; $data.='</div>'; $data.='</div>'; $data.='</div>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</div>'; } }else{ $data.='</div>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function ajxfileorder() { $purpose = $this->input->post_get('purpose'); if ($purpose == 'getData') { $packId = $this->input->post('packId') ?: '0'; $usrCurrId = $this->input->post('usrCurrId') ?: '0'; $cnvrsnRt = $this->input->post('cnvrsnRt') ?: '0'; $msg = ''; $mustRead = ''; $timeTaken = ''; $apiId = 0; $pckTitle = ''; $refresh = 0; $dupIMEIs = 0; $extNtwrkId = 0; $strMobiles = ''; $strBrands = ''; $apiType = 0; $IMEI_TYPE = 1; $MY_CURRENCY_ID = $usrCurrId; $myNetworkId = $packId; $toc = ''; $rsPackage = $this->User_model->get_packages_data($packId); if (isset($rsPackage->PackageTitle) && $rsPackage->PackageTitle != '') { $mustRead = htmlspecialchars_decode(stripslashes($rsPackage->MustRead)); $timeTaken = stripslashes($rsPackage->TimeTaken); $PackagePrice = getpackprice($myNetworkId, $MY_CURRENCY_ID, $IMEI_TYPE, null, 3); $pckTitle = stripslashes($rsPackage->PackageTitle); $redirectTo = $rsPackage->RedirectionURL; $toc = $rsPackage->TOCs; $strFeatures = $rsPackage->ServiceType == '0' ? '<li ><i class="fa fa-bars" title="Database"></i> Database</li>' : ''; $strFeatures .= $rsPackage->VerifyOrders == '1' ? '<li><i class="fa fa-refresh" title="Verifiable"></i> Verifiable</li>' : ''; $strFeatures .= $rsPackage->CancelOrders == '1' ? '<li ><i class="fa fa-times" title="Can be cancelled"></i> Can be cancelled</li>' : ''; } //=================================== FEATURES ============================================// $strFeatures .= get_service_features($packId, 1); //=================================== FEATURES ============================================// $msg = $pckTitle . "~" . $timeTaken . "~" . $mustRead . "~" . $redirectTo . "~" . $strFeatures. "~" .$PackagePrice. "~". $toc; } echo $msg; } public function searchCatAllFileServers(){ // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId') , 0); $strPackIds = array(); $cat = $this->input->post('cat'); $rsPackages = get_searchcatfilePackages($strPackIds,$cat); $data=''; $prevCatId = 0; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = $row->PackagePrice; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } /*if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"';*///offset here e if($prevCatId > 0) { if($row->CategoryId != $prevCatId){ $data.='<div class="test"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; } } else $data.='<div class="test1" style="min-width: 394px;"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; $data.='<div class="row" style="border-bottom: 1px solid #ebe6e6;padding: 10px 0;cursor: pointer;">'; $data.='<div class="col-lg-8">'; $data.='<div style="border-right: 1px solid #ebe6e6" class="left_package" >'; $data.='<h5 class="my_pack tbl_title" style="word-wrap: break-word;" details2="'.$myPackPrice.'" title="'.$row->PackageId.'" > '.stripslashes($row->PackageTitle).'</h5><span class="GrayColor">'.stripslashes($row->TimeTaken).'</span> </div>'; $data.='</div>'; $data.='<div class="col-lg-4" style="display: flex;align-items: center;">'; $data.='<div class="right_pack_price">'; $data.='<h2 class="my_pack" title="'.$row->PackageId.'" class="tbl_price">'.$myPackPrice.'</h2>'; $data.='</div>'; $data.='</div>'; $data.='</div>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</div>'; } }else{ $data.='</div>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchAllFileServers(){ $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId') , 0); $rsPackages = get_rsPackages($strPackIds); $data=''; $prevCatId = 0; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 1; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } /*if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"';*///offset here e if($prevCatId > 0) { if($row->CategoryId != $prevCatId){ $data.='<div class="test"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; } } else $data.='<div class="test1" style="min-width: 394px;"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; $data.='<div class="row" style="border-bottom: 1px solid #ebe6e6;padding: 10px 0;cursor: pointer;">'; $data.='<div class="col-lg-8">'; $data.='<div style="border-right: 1px solid #ebe6e6" class="left_package" >'; $data.='<h5 class="my_pack tbl_title" style="word-wrap: break-word;" details2="'.$myPackPrice.'" title="'.$row->PackageId.'" > '.stripslashes($row->PackageTitle).'</h5><span class="GrayColor">'.stripslashes($row->TimeTaken).'</span> </div>'; $data.='</div>'; $data.='<div class="col-lg-4" style="display: flex;align-items: center;">'; $data.='<div class="right_pack_price">'; $data.='<h2 class="my_pack" title="'.$row->PackageId.'" class="tbl_price">'.$myPackPrice.'</h2>'; $data.='</div>'; $data.='</div>'; $data.='</div>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</div>'; } }else{ $data.='</div>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function server_services() { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'Server')) { redirect(base_url('page/404')); } } $reqPackageId = -1; if($this->session->flashdata('service_id')) { $reqPackageId = str_replace(":", "", $this->session->flashdata('service_id')); } $this->data['message'] = ''; $categoryId = $this->input->post("categoryId") ?: 0; $myNetworkId = $this->input->post("packageId") ?: 0; $altEmail = $this->input->post("txtAltEmail") ?: ''; $logPackageId = $this->input->post('packageId') ?: '0'; $notes = $this->input->post('txtNotes') ?: ''; $comments = $this->input->post("txtComments") ?: ''; $cldFrm = $this->input->post("cldFrm") ?: 0; $cldFm = $this->input->post("cldFm") ?: 0; // $this->data['strPackIds'] = getUserPacksIds($this->session->userdata('GSM_FUS_UserId'), 1); $packagePrice = ''; $pckDetail = '-'; $errorMsg = ''; $USER_ID = $this->session->userdata('GSM_FUS_UserId'); $SERIAL_NO = ''; if($this->input->method() == 'post') { //@file_put_contents(FCPATH . 'serverorder19may.txt', "in POST:" . date('m/d/Y h:i:s a', time()) . "\n", FILE_APPEND ); //@file_put_contents(FCPATH . 'serverorder19may.txt', "POST array:" . print_r($_POST, true) . "\n", FILE_APPEND ); //@file_put_contents(FCPATH . 'serverorder19may.txt', "POST array:" . print_r($this->input->post(), true) . "\n", FILE_APPEND ); $this->session->set_userdata('ORDERED_FROM', 1); if ($this->input->post('packageId') && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { //@file_put_contents(FCPATH . 'serverorder19may.txt', "Post parameter found:" . date('m/d/Y h:i:s a', time()) . "\n", FILE_APPEND ); if ($cldFrm == '2') { //@file_put_contents(FCPATH . 'serverorder19may.txt', "in Controller2:" . date('m/d/Y h:i:s a', time()) . "\n", FILE_APPEND ); // getting package custom fields again for validation $customFields = $this->db->query("SELECT * FROM `tbl_gf_api_custom_fields` WHERE `PackId` = ".$this->input->post('packageId')." AND `PackType` = 2")->result(); $isQuantity = false; $PACK_QUANTITY = 1; $col_val = ''; $OrderFields = []; $allOkay = false; $historyData = ''; $ttlFields = count($customFields); for($ApiFieldIndex = 1; $ApiFieldIndex <= $ttlFields; $ApiFieldIndex++) { // getting posted data $ApiFieldLabel = $this->input->post('lbl'.$ApiFieldIndex); if(!empty($ApiFieldLabel)) { $allOkay = true; $ApiFieldValue = trim($this->input->post('fld'.$ApiFieldIndex)); $ApiFieldMandatory = $this->input->post('mndtry'.$ApiFieldIndex); $ApiFieldName = $this->input->post('colNm'.$ApiFieldIndex); $ApiFieldId = $this->input->post('fieldId'.$ApiFieldIndex); $ApiFieldAsQty = $this->input->post('useAsQty'.$ApiFieldIndex); $ApiFieldMinQty = $this->input->post('minQnt'.$ApiFieldIndex); $ApiFieldMaxQty = $this->input->post('maxQnt'.$ApiFieldIndex); $ApiFieldCustomField = $this->input->post('customField'.$ApiFieldIndex); if($ApiFieldAsQty) { if (!is_numeric($ApiFieldValue)) { $errorMsg .= "Invalid value of ".$ApiFieldLabel.".<br />"; } else { if ($ApiFieldMinQty || $ApiFieldMaxQty) { if ($ApiFieldMinQty && $ApiFieldValue < $ApiFieldMinQty) $errorMsg .= "Minimum ".$ApiFieldLabel." should be ".$ApiFieldMinQty."<br />"; elseif($ApiFieldMaxQty && $ApiFieldValue > $ApiFieldMaxQty) { $errorMsg .= "Maximum ".$ApiFieldLabel." should be ".$ApiFieldMaxQty."<br />"; }else{ $isQuantity = true; $PACK_QUANTITY = $ApiFieldValue; } } else { $isQuantity = true; $PACK_QUANTITY = $ApiFieldValue; } } } if($ApiFieldMandatory && empty($ApiFieldValue)) { $errorMsg .= "Value for " . $ApiFieldLabel . " can not be empty.<br />"; } $OrderFields[] = array( 'ApiFieldId' => $ApiFieldId, 'FieldValue' => $ApiFieldValue ); if ($historyData != '') $historyData .= '<br />'; $historyData .= $ApiFieldLabel . ": " . $ApiFieldValue; } } //@file_put_contents(FCPATH . 'serverorder19may.txt', "in Controller:" . date('m/d/Y h:i:s a', time()) . "\n", FILE_APPEND ); if (trim($errorMsg) == '' && $allOkay) { //@file_put_contents(FCPATH . 'serverorder19may.txt', "IN if \n", FILE_APPEND ); include APPPATH . 'scripts/submitserverorder.php'; $myNetworkId = 0; }else if($errorMsg){ //@file_put_contents(FCPATH . 'serverorder19may.txt', "IN ELSE" . "\n", FILE_APPEND ); $this->data['message'] = $errorMsg; } //@file_put_contents(FCPATH . 'serverorder19may.txt', "after if else Controller:[" . $this->data['message'] . "]\n", FILE_APPEND ); } } if(!empty($this->data['message'])) { $this->data['message'] = str_replace('LB', '<br />', $this->data['message'] ); $this->data['message'] = str_replace('SP', ' ', $this->data['message']); $this->session->set_flashdata('message', $this->data['message']); } if(!empty($_SESSION['opened_mobile'])) { redirect(base_url('webviews/placeserverorder?id='.$this->input->post('packageId').'&user_id='.$this->session->userdata('GSM_FUS_UserId'))); }else{ if(!empty($this->data['message'])) redirect(base_url('page/server_services')); else redirect(base_url('page/server_services?success=1')); } } $this->data['timeTaken'] = ''; $this->data['myNetworkId'] = $myNetworkId; $this->data['success'] = ''; if ($this->input->post_get('success') && $this->input->post_get('success') == '1') { $this->data['success'] = '<div class="alert alert-success">' . $this->lang->line('CUST_LBL_185') . '</div>'; } $this->data['packageIdTelegram'] = $reqPackageId; $this->data['errorMsg'] = $errorMsg; $this->data['notes'] = $notes; $this->data['message'] = $this->session->flashdata('message') ?: $this->data['message']; $this->data['comments'] = $comments; $this->data['altEmail'] = $altEmail; $this->data['cldFm'] = $cldFm; //$this->data['rsNews'] = $this->User_model->get_ShortDescription_by_server(); if($this->data['rsStngs']->orderForms == 2) { $this->data['view'] = 'server_services_new'; } else { $this->data['view'] = 'server_services_new_layout'; } $this->load->view('layouts/default', $this->data); } public function searchServers(){ $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID =$this->session->userdata('GSM_FUS_UserId'); $MY_CURRENCY_ID=$this->data['userDetails']->CurrencyId; $CONVERSION_RATE = 1; /* //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price FROM tbl_gf_users_log_packages_prices WHERE UserId = '$USER_ID'")->result(); foreach($rsPackPrices as $row ) { $PACK_PRICES_USER[$row->LogPackageId] = cleanRoundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->db->query("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'")->row(); if(isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; */ $PACK_PRICES_USER = $this->data['PACK_PRICES_USER']; // = $this->User_model->get_pack_prices_user($this->user_id , $s_ids); $PACK_PRICES_PLAN = $this->data['PACK_PRICES_PLAN']; //= $this->User_model->get_pack_prices_plan($sc , $s_ids , $this->data['userDetails']->CurrencyId); $PACK_PRICES_BASE = $this->data['PACK_PRICES_BASE']; // = $this->User_model->get_pack_prices_base($sc , $s_ids , $this->data['userDetails']->CurrencyId, $this->data["userDetails"]->ConversionRate); /* $rsPlanPr_DEFAULT = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '2'")->result(); foreach($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = cleanRoundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '2' AND UserId = '$USER_ID'")->result(); foreach($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = cleanRoundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price, LogPackagePrice FROM tbl_gf_log_packages A LEFT JOIN tbl_gf_log_packages_currencies B ON (A.LogPackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID')")->result(); foreach($rsPackPrices as $row) { if($row->Price == '') $PACK_PRICES_BASE[$row->LogPackageId] = cleanRoundMe($row->LogPackagePrice * $CONVERSION_RATE); else $PACK_PRICES_BASE[$row->LogPackageId] = cleanRoundMe($row->Price); } */ // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId'), 2); $strPackIds = array(); $txt = $this->input->post('text'); $rsPackages = search_get_log_rsPackages($strPackIds,$txt); $prevCatId = 0; $data = ''; /*$this->data['PACK_PRICES_BASE']*/ foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_USER[$row->PackageId]); else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_PLAN[$row->PackageId]); else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_BASE[$row->PackageId]); } if($myPackPrice < cleanRoundMe($PACK_PRICES_BASE[$row->PackageId])) $changeBGColor = 'class="discount_text"'; if($prevCatId > 0) { if($row->CategoryId != $prevCatId){ $data.='<div class="test"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; } } else $data.='<div class="test1"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; $data.='<div class="row" style="border-bottom: 1px solid #ebe6e6;padding: 10px 0;cursor: pointer;"> <div class="col-lg-8"> <div style="border-right: 1px solid #ebe6e6" class="left_package" > <h5 class="my_pack tbl_title" style="word-wrap: break-word;" details2="'.$myPackPrice.'" title="'.$row->PackageId.'" > '.stripslashes($row->LogPackageTitle).'</h5><span>'.stripslashes($row->DeliveryTime).'</span> </div> </div> <div class="col-lg-4" style="display: flex;align-items: center;"> <div class="right_pack_price"> <h2 class="my_pack" title="'.$row->PackageId.'" class="tbl_price" details2="'.$myPackPrice.'">'.$myPackPrice.'</h2> </div> </div> </div>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</div>'; } }else{ $data.='</div>'; } $prevCatId = $row->CategoryId; } echo $data; exit; }//ahmed public function searchCatAllServers(){ $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $PACK_PRICES_USER = $this->data['PACK_PRICES_USER']; // = $this->User_model->get_pack_prices_user($this->user_id , $s_ids); $PACK_PRICES_PLAN = $this->data['PACK_PRICES_PLAN']; //= $this->User_model->get_pack_prices_plan($sc , $s_ids , $this->data['userDetails']->CurrencyId); $PACK_PRICES_BASE = $this->data['PACK_PRICES_BASE']; // = $this->User_model->get_pack_prices_base($sc , $s_ids , $this->data['userDetails']->CurrencyId, $this->data["userDetails"]->ConversionRate); $USER_ID =$this->session->userdata('GSM_FUS_UserId'); $MY_CURRENCY_ID=$this->data['userDetails']->CurrencyId; $CONVERSION_RATE = 1; /* //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price FROM tbl_gf_users_log_packages_prices WHERE UserId = '$USER_ID'")->result(); foreach($rsPackPrices as $row ) { $PACK_PRICES_USER[$row->LogPackageId] = roundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->db->query("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'")->row(); if(isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '2'")->result(); foreach($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '2' AND UserId = '$USER_ID'")->result(); foreach($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price, LogPackagePrice FROM tbl_gf_log_packages A LEFT JOIN tbl_gf_log_packages_currencies B ON (A.LogPackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID')")->result(); foreach($rsPackPrices as $row) { if($row->Price == '') $PACK_PRICES_BASE[$row->LogPackageId] = roundMe($row->LogPackagePrice * $CONVERSION_RATE); else $PACK_PRICES_BASE[$row->LogPackageId] = roundMe($row->Price); } */ // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId'), 2); $strPackIds = array(); $cat = $this->input->post('cat'); $rsPackages = search_cat_get_log_rsPackages($strPackIds,$cat); $prevCatId = 0; $data = ''; /*$this->data['PACK_PRICES_BASE']*/ foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_USER[$row->PackageId]); else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_PLAN[$row->PackageId]); else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_BASE[$row->PackageId]); } if($myPackPrice < cleanRoundMe($PACK_PRICES_BASE[$row->PackageId])) $changeBGColor = 'class="discount_text"'; if($prevCatId > 0) { if($row->CategoryId != $prevCatId){ $data.='<div class="test"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; } } else $data.='<div class="test1"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; $data.='<div class="row" style="border-bottom: 1px solid #ebe6e6;padding: 10px 0;cursor: pointer;"> <div class="col-lg-8"> <div style="border-right: 1px solid #ebe6e6" class="left_package" > <h5 class="my_pack tbl_title" style="word-wrap: break-word;" details2="'.$myPackPrice.'" title="'.$row->PackageId.'" > '.stripslashes($row->LogPackageTitle).'</h5><span>'.stripslashes($row->DeliveryTime).'</span> </div> </div> <div class="col-lg-4" style="display: flex;align-items: center;"> <div class="right_pack_price"> <h2 class="my_pack" title="'.$row->PackageId.'" class="tbl_price" details2="'.$myPackPrice.'">'.$myPackPrice.'</h2> </div> </div> </div>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</div>'; } }else{ $data.='</div>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchAllServers(){ $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID =$this->session->userdata('GSM_FUS_UserId'); $MY_CURRENCY_ID=$this->data['userDetails']->CurrencyId; $CONVERSION_RATE = 1; //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price FROM tbl_gf_users_log_packages_prices WHERE UserId = '$USER_ID'")->result(); foreach($rsPackPrices as $row ) { $PACK_PRICES_USER[$row->LogPackageId] = cleanRoundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->db->query("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'")->row(); if(isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '2'")->result(); foreach($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = cleanRoundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '2' AND UserId = '$USER_ID'")->result(); foreach($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = cleanRoundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price, LogPackagePrice FROM tbl_gf_log_packages A LEFT JOIN tbl_gf_log_packages_currencies B ON (A.LogPackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID')")->result(); foreach($rsPackPrices as $row) { if($row->Price == '') $PACK_PRICES_BASE[$row->LogPackageId] = cleanRoundMe($row->LogPackagePrice * $CONVERSION_RATE); else $PACK_PRICES_BASE[$row->LogPackageId] = cleanRoundMe($row->Price); } // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId'), 2); $rsPackages = get_log_rsPackages(); $prevCatId = 0; $data = ''; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_USER[$row->PackageId]); else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_PLAN[$row->PackageId]); else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_BASE[$row->PackageId]); } if($myPackPrice < cleanRoundMe($PACK_PRICES_BASE[$row->PackageId])) $changeBGColor = 'class="discount_text"'; if($prevCatId > 0) { if($row->CategoryId != $prevCatId){ $data.='<div class="test"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; } } else $data.='<div class="test1"><h4 style="padding: 10px 10px;background: #efefef;">'.stripslashes($row->Category).'</h4>'; $data.='<div class="row" style="border-bottom: 1px solid #ebe6e6;padding: 10px 0;cursor: pointer;"> <div class="col-lg-8"> <div style="border-right: 1px solid #ebe6e6" class="left_package" > <h5 class="my_pack tbl_title" style="word-wrap: break-word;" details2="'.$myPackPrice.'" title="'.$row->PackageId.'" > '.stripslashes($row->LogPackageTitle).'</h5><span>'.stripslashes($row->DeliveryTime).'</span> </div> </div> <div class="col-lg-4" style="display: flex;align-items: center;"> <div class="right_pack_price"> <h2 class="my_pack" title="'.$row->PackageId.'" class="tbl_price" details2="'.$myPackPrice.'">'.$myPackPrice.'</h2> </div> </div> </div>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</div>'; } }else{ $data.='</div>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function ajxserverorder() { $purpose = $this->input->post('purpose'); $msg = ''; if ($purpose == 'getData') { $serviceImage = ""; $packId = $this->input->post('packId') ?$this->input->post('packId'): '0'; $usrCurrId = $this->input->post('usrCurrId') ? check_input($this->input->post('usrCurrId'), $this->db->conn_id) : 0; $cnvrsnRt = $this->input->post('cnvrsnRt') ? check_input($this->input->post('cnvrsnRt'), $this->db->conn_id) : 0; $themeStyle = $this->input->post('themeStyle') ?: '0'; $MY_CURRENCY_ID=$usrCurrId; $CONVERSION_RATE=$cnvrsnRt; $mustRead = ''; $timeTaken = ''; $packagePrice=0; $USER_ID=$this->session->userdata('GSM_FUS_UserId'); $strBulkPrices = ''; $rsPackage = $this->User_model->get_rs_log_packages($packId); if (isset($rsPackage->LogPackageTitle) && $rsPackage->LogPackageTitle != '') { $packTitle = stripslashes($rsPackage->LogPackageTitle); $packPrice = stripslashes($rsPackage->LogPackagePrice); $allowQty = stripslashes($rsPackage->allowQty); $qntyDropDown = stripslashes($rsPackage->qntyDropDown); $maxQnty = stripslashes($rsPackage->maxQnty); $minQnty = stripslashes($rsPackage->minQnty); $mustRead = stripslashes($rsPackage->LogPackageDetail); $timeTaken = stripslashes($rsPackage->DeliveryTime); $preCode = $rsPackage->CalculatePreCodes; $toc = $rsPackage->TOCs; $redirectTo = $rsPackage->RedirectionURL; $minQty = $rsPackage->MinimumQty; if($rsPackage->image != '') { $serviceImage = base_url() . 'uplds'.$this->data['rsStngs']->Theme."/".$rsPackage->image; } else { $serviceImage = $rsPackage->image; } $strFeatures = $rsPackage->ServiceType == '0' ? '<li><i class="fa fa-bars" title="Database"> Database</i></li>' : ''; $strFeatures .= $rsPackage->VerifyOrders == '1' ? '<li><i class="fa fa-refresh" title="Verifiable"></i> Verifiable</li>' : '';//ahmed12 $strFeatures .= $rsPackage->CancelOrders == '1' ? '<li><i class="fa fa-times" title="Can be cancelled"></i> Can be cancelled</li>' : ''; } $customFields = $this->db->query("SELECT * FROM `tbl_gf_api_custom_fields` WHERE `PackId` = {$packId} AND `PackType` = 2")->result(); $i = 1; $strFields = ''; $qtyField = false; $qtyFieldHtml = ''; foreach ($customFields as $row) { // making label $FieldLabel = ($row->FieldLabel ?: $row->FieldName); if ($themeStyle == '0') $strFields .= '<div class="form-group"><label>' . $FieldLabel . ':'; else if ($themeStyle == '1') $strFields .= '<div class="control-group"><label class="control-label">' . $FieldLabel . ':'; if ($row->Required == '1') $strFields .= '*'; if ($themeStyle == '0') $strFields .= '</label>'; else if ($themeStyle == '1') $strFields .= '</label><div class="controls">'; // making field $UseAsQuantity = ''; if($row->UseAsQuantity) { $qtyField = true; if($row->FieldType == 'dropdown') $UseAsQuantity = 'onchange="calculateAmountAsPerQty(this.value);"'; else $UseAsQuantity = 'oninput="calculateAmountAsPerQty(this.value);"'; } if ($row->FieldType == 'text') { $strMaxLen = ''; if ($row->MaxLen > 0) $strMaxLen = "maxlength = '" . $row->MaxLen . "'"; $strMinLen = ''; if ($row->MinLen > 0) $strMinLen = "minlength = '" . $row->MinLen . "'"; $strFields .= '<input type="text" placeholder="Enter ' . $FieldLabel . '" name="fld' . $i . '" ' . $strMinLen . ' ' . $strMaxLen . ' '.$UseAsQuantity.' class="form-control" />'; if($UseAsQuantity) { if ($row->MinQnt > 1 && $row->MaxQnt > 1) { $strFields .= '<p style="margin-top: 5px;"><b>Quantity must be between '.$row->MinQnt.' and '.$row->MaxQnt.'.</b></p>'; }else if($row->MinQnt > 1) { $strFields .= '<p style="margin-top: 5px;"><b>Minimum Quantity Required is ' . $row->MinQnt . '</b></p>'; }else if($row->MaxQnt > 1) { $strFields .= '<p style="margin-top: 5px;"><b>Maximum Quantity Required is ' . $row->MaxQnt . '</b></p>'; } } } else if ($row->FieldType == 'textarea') $strFields .= '<textarea name="fld' . $i . '" class="form-control"></textarea>'; else if ($row->FieldType == 'dropdown') { $strFields .= '<select id="ddOrdrQty" name="fld' . $i . '" class="form-control" '.$UseAsQuantity.'>'; $rsValues = explode(",", trim($row->FieldOptions, ", ")); if ($UseAsQuantity) $strFields .= '<option value="" selected="selected">Please Select ' . $FieldLabel . '</option>'; foreach ($rsValues as $rw) { $strFields .= '<option value="' . $rw . '">' . $rw . '</option>'; } $strFields .= '</select>'; } else if ($row->FieldType == 'radio') { $rsValues = explode(",", trim($row->FieldOptions, ", ")); foreach ($rsValues as $rw) { $strFields .= '<input type="radio" class="form-control" name="fld' . $i . '" value="' . $rw . '"> ' . $rw . ' '; } } if ($row->Description != '') $strFields .= '<small>' . stripslashes($row->Description) . '</small><br/>'; if ($themeStyle == '0') $strFields .= '</div>'; else if ($themeStyle == '1') $strFields .= '</div></div>'; $strFields .= '<input type="hidden" name="colNm' . $i . '" value="' . $row->FieldName . '" />'; $strFields .= '<input type="hidden" name="mndtry' . $i . '" value="' . $row->Required . '" />'; // $strFields .= '<input type="hidden" name="rstrctn' . $i . '" value="' . $row->Restriction . '" />'; $strFields .= '<input type="hidden" name="lbl' . $i . '" value="' . $FieldLabel . '" />'; $strFields .= '<input type="hidden" name="fieldId' . $i . '" value="' . $row->Id . '" />'; $strFields .= '<input type="hidden" name="useAsQty' . $i . '" value="' . ($UseAsQuantity ? 1 : 0) . '" />'; $strFields .= '<input type="hidden" name="minQnt' . $i . '" value="' . $row->MinQnt . '" />'; $strFields .= '<input type="hidden" name="maxQnt' . $i . '" value="' . $row->MaxQnt . '" />'; $strFields .= '<input type="hidden" name="customField' . $i . '" value="' . $row->CustomField . '" />'; $i++; } $strFields .= '<input type="hidden" name="totalCustomFields" value="' . count($customFields) . '" />'; if ($qtyField) { $groupId = $this->input->post('grp') ?$this->input->post('grp'): '0'; if ($groupId > 0) $rsBulkPrices = $this->User_model->get_min_max_prices_by_group_id($packId, $groupId); else $rsBulkPrices = $this->User_model->get_min_max_prices_by_service_id($packId); $strBulkPrices = ''; if ($rsBulkPrices) { $strBulkPrices = ' <table class="table table-bordered table-striped" width="100%"> <tr><td colspan="3"><h3>Special Bulk Prices</h3></td> <tr> <th width="33%" nowrap="nowrap">From Qty</th> <th width="33%" nowrap="nowrap">To Qty</th> <th width="33%">Credits</th> </tr>'; foreach ($rsBulkPrices as $row) { $strBulkPrices .= ' <tr> <td>' . $row->MinQty . '</td> <td>' . $row->MaxQty . '</td> <td>' . $row->Price . '</td> </tr>'; } $strBulkPrices .= '</table>'; } } //price $rsPackPrice = $this->db->query("SELECT LogPackageId, Price FROM tbl_gf_users_log_packages_prices WHERE UserId = '$USER_ID' AND LogPackageId = '$packId'")->row(); if (isset($rsPackPrice->Price) && $rsPackPrice->Price != '') { $packagePrice = $rsPackPrice->Price; } else { $rsPackPrice = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = 2 AND PackageId = '$packId' AND UserId = '$USER_ID'")->row(); if (isset($rsPackPrice->Price) && $rsPackPrice->Price != '') { $packagePrice = $rsPackPrice->Price; } else { $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->db->query("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'")->row(); if(isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '2' AND PackageId = '$packId'")->row(); if (isset($rsPlanPr_DEFAULT->Price) && $rsPlanPr_DEFAULT->Price != '') { $packagePrice = number_format($rsPlanPr_DEFAULT->Price * $USER_CURRENCY_RATE, 2, '.', ''); } else { $rsPackPrice = $this->db->query("SELECT LogPackageId, Price, LogPackagePrice FROM tbl_gf_log_packages A LEFT JOIN tbl_gf_log_packages_currencies B ON (A.LogPackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID') WHERE A.LogPackageId = '$packId'")->row(); // echo $this->db->last_query(); if (isset($rsPackPrice->LogPackageId) && $rsPackPrice->LogPackageId != '') { if($rsPackPrice->Price == '') $packagePrice = roundMe($rsPackPrice->LogPackagePrice * $CONVERSION_RATE); else $packagePrice = roundMe($rsPackPrice->Price); } } } } $default_currency = fetch_currency_data(); $packagePrice = getlogpackprice($this->session->userdata('GSM_FUS_UserId'), $packId, $default_currency->CurrencyId, null, $CONVERSION_RATE, 2); //end price //=================================== FEATURES ============================================// $strFeatures .= get_service_features($packId, 2); //=================================== FEATURES ============================================// echo json_encode(array( 'mustRead' => $mustRead, 'timeTaken' => $timeTaken, 'strFields' => $strFields, 'preCode' => $preCode, 'packTitle' => $packTitle, 'redirectTo' => $redirectTo, 'strBulkPrices' => $strBulkPrices, 'strFeatures' => $strFeatures, 'minQty' => $minQty, 'toc' => $toc, 'packagePrice' => $packagePrice, 'allowQty' => $allowQty, 'qtyFieldHtml' => $qtyFieldHtml, 'minQnty' => $minQnty, 'maxQnty' => $maxQnty, 'serviceImage' => $serviceImage, )); exit(); } else if ($purpose == 'getQtyPrice') { $packId = $this->input->post('packId') ?: 0; $quantity = $this->input->post('qty') ?: 0; if(!$quantity) { echo 0; exit(); } $msg = bulkQuantity_ServerService($packId, $quantity, $this->session->userdata('GSM_FUS_UserId')); } echo $msg; } public function imei_orders($page = 0) { $strWhere = ''; $this->data['serviceType'] = '0'; $txtlqry = ''; $message = ''; $filedsShow = $this->input->post('filedsShow') ?: ''; $dtFrom = $this->input->post('txtFromDt') ?: ''; $this->data['dtFrom'] = $dtFrom; $queryDtFrom = explode("/", $dtFrom); if(count($queryDtFrom) > 1) { $queryDtFrom = $queryDtFrom[2] . "-" . $queryDtFrom[0] . "-" . $queryDtFrom[1] . " 00:00:00"; } else { $queryDtFrom = ""; } $dtTo = $this->input->post('txtToDt') ?: ''; $this->data['dtTo'] = $dtTo; $queryDtTo = explode("/", $dtTo); if(count($queryDtTo) > 1) { $queryDtTo = $queryDtTo[2] . "-" . $queryDtTo[0] . "-" . $queryDtTo[1] . " 23:59:59"; } else { $queryDtTo = ""; } $cancel = $this->input->post_get('cancel') ? 1 : 0; $sortBy = $this->input->post('sortBy') ?: ''; $this->data['sortBy'] = $sortBy; $orderByType = $this->input->post('orderByType') ?: 'DESC'; $this->data['orderByType'] = $orderByType; $strSortBy = $sortBy == '' ? " ORDER BY CodeId DESC" : " ORDER BY $sortBy $orderByType"; $notes = $this->input->post('txtNotes') ?: ''; if ($this->input->post('btnVerifySave') && $this->input->post('txtVData') != '') { $codeId = $this->input->post('orderId') ?: 0; $vData = $this->input->post('txtVData') ?: ''; $row = $this->User_model->get_code_packages($codeId); if ($row->ReplyDtTm != '') { $diffInMins = minutesDiffInDates($row->ReplyDtTm, $currDtTm = setDtTmWRTYourCountry()); if ($diffInMins <= $row->OrderVerifyMins) { $ip = $this->input->server('REMOTE_ADDR'); $this->User_model->update_gf_codes($vData, $ip, $codeId); //create ticket data $dtTm = setDtTmWRTYourCountry(); $tcktNo = rand_integers(8); $msg = convertNextLineToBRTag($this->input->post('txtVData')); $r_no = 25; $vrdata = array( 'TicketNo' => $tcktNo, 'UserId' => $this->session->userdata('GSM_FUS_UserId'), /*'UserId' => $this->user_id,*/ 'DepartmentId' => 1, 'CategoryId' => 1, 'PriorityId' => 2, 'Name' => '', 'Email' => '', 'Subject' => 'Order # '.$codeId, 'order_id' => $codeId + $r_no, 'Message' => $msg, 'DtTm' => $dtTm, 'IP' => $ip, 'StatusId' => 1, 'ByAdmin' => 0 ); $last_ticket_id = $this->User_model->add_user_ticket($vrdata); orderVerificationEmail(0, base_url().'admin/login', $codeId, stripslashes($row->PackageTitle), stripslashes($row->Code), $row->Credits, $ip, $row->RequestedAt, $row->IMEINo, $vData); $message = $this->lang->line('CUST_GEN_MSG'); } else $message = 'Invalid Operation'; } else $message = 'Invalid Operation'; } if ($cancel == '1' && $this->session->userdata('GSM_FUS_UserId')) { $orderId = $this->input->post_get('orderId') ?: 0; $row = $this->User_model->get_cancel_code_packages($orderId); if ($row && $row->RequestedAt != '') { $diffInMins = minutesDiffInDates($row->RequestedAt, $currDtTm = setDtTmWRTYourCountry()); if ($diffInMins <= $row->OrderCancelMins) { if (isset($row->CodeId) && $row->CodeId == $orderId) { if (imeiOrderRefunded($orderId) == '0') { $this->User_model->update_cancel_codes($orderId); $currDtTm = setDtTmWRTYourCountry(); $dec_points = refundIMEICredits($this->session->userdata('GSM_FUS_UserId'), $orderId, $row->IMEINo, stripslashes($row->PackageTitle), $currDtTm, $row->PackageId, $row->Credits, '0', 'Cancelled By User'); create_push_notification($this->session->userdata('GSM_FUS_UserId'), 'Your IMEI order has been cancelled!'); rejectedIMEIOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserFullName'), stripslashes($row->PackageTitle), $row->IMEINo, stripslashes($row->Code), $row->RequestedAt, $row->PackageId, $row->AlternateEmail, $row->Credits, $dec_points); $message = $this->lang->line('CUST_GEN_MSG'); } } else { $message = $this->lang->line('CUST_LBL_210'); } } else $message = 'Invalid Operation'; } else $message = 'Invalid Operation'; } if($message != "") { $this->data["message"] = $message; } $packageId = $this->input->post("packageId") ?: '0'; $this->data['packageId'] = $this->input->post("packageId") ?: '0'; $codeStatusId = $this->input->post("codeStatusId") ?: '0'; $this->data['codeStatusId'] = $codeStatusId; $srlNo = $this->input->post("srlNo") ?: ''; $imei = $this->input->post("imei") ?: ''; $oId = $this->input->post_get("oId") ?: ''; $this->data['oId'] = $oId; if (trim($oId) != '') { $strWhere .= " AND CodeId = '$oId'"; $txtlqry .= "&oId=$oId"; } if (trim($imei) != '') { $strWhere .= " AND IMEI LIKE '%$imei%'"; $txtlqry .= "&imei=$imei"; } if (trim($srlNo) != '') { $strWhere .= " AND SerialNo LIKE '%$srlNo%'"; $txtlqry .= "&srlNo=$srlNo"; } if ($packageId != '0') { $strWhere .= " AND A.PackageId = $packageId"; $txtlqry .= "&packageId=$packageId"; } if ($codeStatusId != '0') { $strWhere .= " AND A.CodeStatusId IN($codeStatusId)"; $txtlqry .= "&codeStatusId=$codeStatusId"; } if (trim($notes) != '') { $strWhere .= " AND Comments LIKE '%$notes%'"; $txtlqry .= "&txtNotes=$notes"; } if ($this->input->post('txtIMEI') && $this->input->post('txtIMEI') <> '') {//imei_order_search $arrIMEIS = explode("\n", $this->input->post("txtIMEI")); $imeis = ''; for ($i = 0; $i < sizeof($arrIMEIS); $i++) { if ($imeis == '') $imeis .= "'" . substr(trim($arrIMEIS[$i]), 0, 15) . "'"; else { if (trim($arrIMEIS[$i]) != '') $imeis .= ",'" . substr(trim($arrIMEIS[$i]), 0, 15) . "'"; } } if ($imeis != '0') $strWhere .= " AND IMEINo IN(" . $imeis . ")"; } if (($this->input->post('txtFromDt'))) { if ($dtFrom != '' && $dtTo != '') { $strWhere .= " And RequestedAt >= '$queryDtFrom' AND RequestedAt <= '$queryDtTo'"; $txtlqry .= "&txtFromDt=$dtFrom&txtToDt=$dtTo"; } else { if ($dtFrom != '') { $strWhere .= " And RequestedAt >= '$queryDtFrom'"; $txtlqry .= "&txtFromDt=$dtFrom"; } if ($dtTo != '') { $strWhere .= " AND RequestedAt <= '$queryDtTo'"; $txtlqry .= "&txtToDt=$dtTo"; } } } $page_name = $this->input->server('PHP_SELF'); if (!isset($start)) $start = 0; if (($this->input->post('start'))) $start = $this->input->post("start"); $limit = is_numeric($this->input->post('records')) && $this->input->post('records') ? $this->input->post('records'): 50; $eu = ($page-1)*$limit; $this->data['limit'] = $limit; $txtlqry .= "&records=$limit"; $thisp = $eu + $limit; $back = $eu - $limit; $next = $eu + $limit; $USER_ID = $this->session->userdata('GSM_FUS_UserId'); $cldFrmLogin = true; $strLimit = " limit $page, $limit"; $PACKS = array(); $rsPacks = $this->User_model->sl3lbf_packages(); foreach ($rsPacks as $rw) { $PACKS[$rw->PackageId] = stripslashes($rw->PackageTitle) . '-->' . $rw->CancelOrders . '-->' . $rw->VerifyOrders . '-->' . $rw->OrderVerifyMins . '-->' . $rw->OrderCancelMins; } $this->data['PACKS'] = $PACKS; $STATUSES = array(); $rsStatuses = $this->User_model->get_code_status(); foreach ($rsStatuses as $rw) { $STATUSES[$rw->CodeStatusId] = stripslashes($rw->CodeStatus); } $this->data['STATUSES'] = $STATUSES; $this->data['strPckWhere'] = ' AND sl3lbf = 0'; $this->load->library('pagination'); $config = array(); $config["base_url"] = base_url('page/imei_orders'); $config["total_rows"] = $this->User_model->get_order_codes_count($strWhere); $config["per_page"] = $limit; $config['reuse_query_string'] = true; $config['full_tag_open'] = '<ul class="pagination">'; $config['full_tag_close'] = '</ul>'; $config['attributes'] = ['class' => 'page-link']; $config['first_link'] = false; $config['last_link'] = false; $config['first_tag_open'] = '<li class="page-item">'; $config['first_tag_close'] = '</li>'; $config['prev_link'] = '«'; $config['prev_tag_open'] = '<li class="page-item">'; $config['prev_tag_close'] = '</li>'; $config['next_link'] = '»'; $config['next_tag_open'] = '<li class="page-item">'; $config['next_tag_close'] = '</li>'; $config['last_tag_open'] = '<li class="page-item">'; $config['last_tag_close'] = '</li>'; $config['cur_tag_open'] = '<li class="page-item active"><a href="#" class="page-link">'; $config['cur_tag_close'] = '<span class="sr-only">(current)</span></a></li>'; $config['num_tag_open'] = '<li class="page-item">'; $config['num_tag_close'] = '</li>'; $this->pagination->initialize($config); $this->data['pagination'] = $this->pagination->create_links(); $this->data['rsCodes'] = $this->User_model->get_order_codes($strWhere, $strSortBy, $strLimit); /*$this->data['rsPackages'] = $this->User_model->get_imei_services();*/ $this->session->set_userdata('IMEI_ORDRS_WHRE', $strWhere); $this->data['totalCodes'] = count($this->data['rsCodes']); $this->data['filedsShow'] = $filedsShow; $this->data['view'] = 'imei_orders_new'; $this->load->view('layouts/default', $this->data); } public function imeiOrdersSearchByService(){ $strWhere=''; $txtlqry=''; $codeStatusId=''; $data=''; $strSortBy='ORDER BY CodeId DESC'; $strLimit='limit 0, 50'; $packageId = $this->input->post('id'); if ($packageId != 'all') { $strWhere .= " AND A.PackageId = $packageId"; $txtlqry .= "&packageId=$packageId"; } /*if ($codeStatusId != '0') { $strWhere .= " AND A.CodeStatusId IN($codeStatusId)"; $txtlqry .= "&codeStatusId=$codeStatusId"; }*/ $PACKS=array(); $packs=getAllPackData(); foreach($packs as $pack){ $PACKS[$pack->PackageId] = stripslashes($pack->PackageTitle).'-->'.$pack->CancelOrders.'-->'.$pack->VerifyOrders.'-->'.$pack->OrderVerifyMins.'-->'.$pack->OrderCancelMins; } $STATUSES = array(); $codes=get_code_all_status(); foreach($codes as $code){ $STATUSES[$code->CodeStatusId] = stripslashes($code->CodeStatus); } $rsCodes = $this->User_model->get_order_codes($strWhere, $strSortBy, $strLimit); if ($rsCodes) { $i = 0; $currDtTm = setDtTmWRTYourCountry(); foreach ($rsCodes as $row) { $showVerify = '0'; $showCancel = '0'; $showVerify = '0'; $showCancel = '0'; $pckTitle = ''; $cancelOrder = 0; $verifyOrder = 0; $orderVerifyMins = 0; $orderCancelMins = 0; $orderStatus = ''; $dates=explode(' ',$row->RequestedAt); if (isset($PACKS[$row->PackageId]) && $PACKS[$row->PackageId] != '') { $arrPackDtls = explode('-->', $PACKS[$row->PackageId]); $pckTitle = fixTextInTD($arrPackDtls[0], 3, 15); $cancelOrder = $arrPackDtls[1]; $verifyOrder = $arrPackDtls[2]; $orderVerifyMins = $arrPackDtls[3]; $orderCancelMins = $arrPackDtls[4]; } if (isset($STATUSES[$row->CodeStatusId]) && $STATUSES[$row->CodeStatusId] != '') { $orderStatus = $STATUSES[$row->CodeStatusId]; } if ($row->ReplyDtTm != '') { $diffInMinsV = minutesDiffInDates($row->ReplyDtTm, $currDtTm); if ($diffInMinsV <= $orderVerifyMins) $showVerify = '1'; } if ($row->RequestedAt != '') { $diffInMinsC = minutesDiffInDates($row->RequestedAt, $currDtTm); if ($diffInMinsC <= $orderCancelMins) $showCancel = '1'; } $orderCode = html_entity_decode(stripslashes($row->Code)); switch ($row->CodeStatusId) { case "1": $class = 'warning'; break; case "2": $class = 'success'; break; case "3": $class = 'danger'; break; case "4": $class = 'info'; break; } if($row->IMEINo != ''){ $imei=stripslashes($row->IMEINo); }else{ $imei='<b>Serial #: </b>'. stripslashes($row->SerialNo); } $data.='<tr> <td class="Order" style="display: none"> <a class="fancybox fancybox.ajax" href="'.base_url().'page/iodetail?id='.$row->CodeId.'" title="Order Details"><i class="fa fa-plus"></i> '.$row->CodeId.'</a> </td>'; $strData = ''; if ($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->CodeStatusId == '1') $orderStatus = 'Processing'; $data.='<td style="white-space: normal;">'.trim($pckTitle).'</td>'; $data.='<td style="white-space: normal;">'.$imei.'</td>'; $data.='<td class="Date" align="left" style="display: none">'.$dates[0] .'</td>'; $data.='<td class="Credits" align="left" style="display: none">'.$row->Credits.'</td>'; $data.='<td align="left" nowrap>'; $status_class=''; switch ($orderStatus) { case "Pending": $status_class='pending'; break; case "Completed": $status_class='complete'; break; case "Rejected": $status_class='reject'; break; case "In Process": $status_class='inprocess'; break; echo $status_class; } if($orderCode == ''){ $orderCode= '-'; }else{ $orderCode = substr($orderCode, 0, 50); } $data.='<div class="'.$status_class.'">'.$orderStatus.'</div></td>'; $data.='<td style="white-space: normal;"align="left">'.$orderCode.'</td>'; $data.='<td class="Action" valign="middle" style="display: none">'; if ($verifyOrder == '1' && $showVerify == '1') { if ($row->CodeStatusId == 2 && $row->Verify == 0) { $till = addMinutesToDtTm($row->ReplyDtTm, $orderVerifyMins); $strData = daysHoursMinsDifferenceInDates($till, $currDtTm); $data.='<a class="fancybox fancybox.ajax" href="'.base_url().'page/verifyorder?id='.$row->CodeId.'"><i class="fa fa-refresh"></i></a>'; if ($strData != '') echo ' Expires in<br />' . $strData; } else if ($row->Verify == 1) { $data.='<span class="badge badge-pill badge-warning">Under Verification</span>'; } else { $data.= '-'; } } else { $data.= '-'; } $data.= ' '; if ($cancelOrder == '1' && $row->CodeStatusId == '1' && $showCancel == '1' && $orderStatus != 'Processing') { $data.= '<a href="'.base_url().'page/imei_orders?cancel=1&orderId='.$row->CodeId.'" onclick="return confirm('.$this->lang->line('CUST_LBL_230').')"><i class="fa icon-trash" data-toggle="tooltip" data-placement="top" title="Delete"></i></a>'; } else $data.= '-'; $data.= '</td>'; $data.= '<td class="View" style="display: none">'; $data.= '<a class="fancybox fancybox.ajax" title="Order Details" href="'.base_url().'page/iodetail?id='.$row->CodeId.'"><i class="fa icon-eye"></i> </a>'; $data.= '</td>'; $data.= '<td class="CheckBox" style="display: none">'; $data.= '<input type="checkbox" class="chkSelect" id="chkCodes'.$i.'" name="chkCodes[]" value="'.$row->CodeId.'">'; $data.= '</td>'; $data.= '</tr>'; $i++; } } else { $data.='<tr><td colspan="8">'.$this->lang->line('CUST_LBL_10').'</td></tr>'; } echo $data; exit; } public function imeiOrdersSearchByStatus(){ $strWhere=''; $txtlqry=''; $codeStatusId=''; $data=''; $strSortBy='ORDER BY CodeId DESC'; $strLimit='limit 0, 50'; $packageId = $this->input->post('status'); if ($packageId != 'all') { $strWhere .= " AND A.CodeStatusId IN($packageId)"; $txtlqry .= "&codeStatusId=$packageId"; } $PACKS=array(); $packs=getAllPackData(); foreach($packs as $pack){ $PACKS[$pack->PackageId] = stripslashes($pack->PackageTitle).'-->'.$pack->CancelOrders.'-->'.$pack->VerifyOrders.'-->'.$pack->OrderVerifyMins.'-->'.$pack->OrderCancelMins; } $STATUSES = array(); $codes=get_code_all_status(); foreach($codes as $code){ $STATUSES[$code->CodeStatusId] = stripslashes($code->CodeStatus); } $rsCodes = $this->User_model->get_order_codes($strWhere, $strSortBy, $strLimit); if ($rsCodes) { $i = 0; $currDtTm = setDtTmWRTYourCountry(); foreach ($rsCodes as $row) { $showVerify = '0'; $showCancel = '0'; $showVerify = '0'; $showCancel = '0'; $pckTitle = ''; $cancelOrder = 0; $verifyOrder = 0; $orderVerifyMins = 0; $orderCancelMins = 0; $orderStatus = ''; $dates=explode(' ',$row->RequestedAt); if (isset($PACKS[$row->PackageId]) && $PACKS[$row->PackageId] != '') { $arrPackDtls = explode('-->', $PACKS[$row->PackageId]); $pckTitle = fixTextInTD($arrPackDtls[0], 3, 15); $cancelOrder = $arrPackDtls[1]; $verifyOrder = $arrPackDtls[2]; $orderVerifyMins = $arrPackDtls[3]; $orderCancelMins = $arrPackDtls[4]; } if (isset($STATUSES[$row->CodeStatusId]) && $STATUSES[$row->CodeStatusId] != '') { $orderStatus = $STATUSES[$row->CodeStatusId]; } if ($row->ReplyDtTm != '') { $diffInMinsV = minutesDiffInDates($row->ReplyDtTm, $currDtTm); if ($diffInMinsV <= $orderVerifyMins) $showVerify = '1'; } if ($row->RequestedAt != '') { $diffInMinsC = minutesDiffInDates($row->RequestedAt, $currDtTm); if ($diffInMinsC <= $orderCancelMins) $showCancel = '1'; } $orderCode = html_entity_decode(stripslashes($row->Code)); switch ($row->CodeStatusId) { case "1": $class = 'warning'; break; case "2": $class = 'success'; break; case "3": $class = 'danger'; break; case "4": $class = 'info'; break; } if($row->IMEINo != ''){ $imei=stripslashes($row->IMEINo); }else{ $imei='<b>Serial #: </b>'. stripslashes($row->SerialNo); } $data.='<tr> <td class="Order" style="display: none"> <a class="fancybox fancybox.ajax" href="'.base_url().'page/iodetail?id='.$row->CodeId.'" title="Order Details"><i class="fa fa-plus"></i> '.$row->CodeId.'</a> </td>'; $strData = ''; if ($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->CodeStatusId == '1') $orderStatus = 'Processing'; $data.='<td style="white-space: normal;">'.trim($pckTitle).'</td>'; $data.='<td style="white-space: normal;">'.$imei.'</td>'; $data.='<td class="Date" align="left" style="display: none">'.$dates[0] .'</td>'; $data.='<td class="Credits" align="left" style="display: none">'.$row->Credits.'</td>'; $data.='<td align="left" nowrap>'; $status_class=''; switch ($orderStatus) { case "Pending": $status_class='pending'; break; case "Completed": $status_class='complete'; break; case "Rejected": $status_class='reject'; break; case "In Process": $status_class='inprocess'; break; echo $status_class; } if($orderCode == ''){ $orderCode= '-'; }else{ $orderCode = substr($orderCode, 0, 50); } $data.='<div class="'.$status_class.'">'.$orderStatus.'</div></td>'; $data.='<td style="white-space: normal;"align="left">'.$orderCode.'</td>'; $data.='<td class="Action" valign="middle" style="display: none">'; if ($verifyOrder == '1' && $showVerify == '1') { if ($row->CodeStatusId == 2 && $row->Verify == 0) { $till = addMinutesToDtTm($row->ReplyDtTm, $orderVerifyMins); $strData = daysHoursMinsDifferenceInDates($till, $currDtTm); $data.='<a class="fancybox fancybox.ajax" href="verifyorder.php?id='.$row->CodeId.'"><i class="fa fa-refresh"></i></a>'; if ($strData != '') echo ' Expires in<br />' . $strData; } else if ($row->Verify == 1) { $data.='<span class="badge badge-pill badge-warning">Under Verification</span>'; } else { $data.= '-'; } } else { $data.= '-'; } $data.= ' '; if ($cancelOrder == '1' && $row->CodeStatusId == '1' && $showCancel == '1' && $orderStatus != 'Processing') { $data.= '<a href="imeiorders.php?cancel=1&orderId='.$row->CodeId.'" onclick="return confirm('.$this->lang->line('CUST_LBL_230').')"><i class="fa icon-trash" data-toggle="tooltip" data-placement="top" title="Delete"></i></a>'; } else $data.= '-'; $data.= '</td>'; $data.= '<td class="View" style="display: none">'; $data.= '<a class="fancybox fancybox.ajax" title="Order Details" href="'.base_url().'page/iodetail?id='.$row->CodeId.'"><i class="fa icon-eye"></i> </a>'; $data.= '</td>'; $data.= '<td class="CheckBox" style="display: none">'; $data.= '<input type="checkbox" class="chkSelect" id="chkCodes'.$i.'" name="chkCodes[]" value="'.$row->CodeId.'">'; $data.= '</td>'; $data.= '</tr>'; $i++; } } else { $data.='<tr><td colspan="8">'.$this->lang->line('CUST_LBL_10').'</td></tr>'; } echo $data; exit; } public function exportimeiorders() { $strWhere = ''; $str = ''; $ids = $this->input->post_get('ids') ?: ''; $cFrm = $this->input->post_get('cFrm') ?: '0'; if ($ids != '') $strWhere = " AND CodeId IN ($ids)"; if ($cFrm == '1') $strWhere .= $this->session->userdata('IMEI_ORDRS_WHRE'); $rs = $this->User_model->get_codes_data($strWhere); $str .= "Service,IMEI,Credits,Model,Status,Code,Date,Notes\n"; foreach ($rs as $row) { $imei = str_replace('<br />', '', $row->IMEINo); $code = str_replace('<br />', '', $row->Code); $myCode = ''; $arrCodes = explode("\n", $code); for ($j = 0; $j < sizeof($arrCodes); $j++) { $value = trim($arrCodes[$j]); if ($value != '') { if ($myCode == '') $myCode = $value; else $myCode .= ' - ' . $value; } } $str .= $row->PackageTitle . ","; $str .= strval($imei) . ","; $str .= $row->Credits . ","; $str .= $row->ModelNo . ","; $str .= $row->CodeStatus . ","; $str .= $myCode . ","; $str .= $row->RequestedAt . ","; $str .= $row->Comments . "\n"; } header("Pragma: public"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Content-Disposition: attachment; filename="CodesHistory-' . date('Y-m-d H:m:s') . '.csv"'); print($str); } public function file_orders() { if ($this->data['settings'] == '0') { redirect(base_url('dashboard')); } $this->data['dupMsg'] = ''; $this->data['msg'] = ''; $strWhere = $txtlqry = $message = ''; $serviceType = '1'; $filedsShow = $this->input->post('filedsShow') ?: ''; $verify = $this->input->post_get('verify') ? 1 : 0; $cancel = $this->input->post_get('cancel') ? 1 : 0; $dtFrom = $this->input->post_get('txtFromDt') ?: ''; $dtTo = $this->input->post('txtToDt') ?: ''; $sortBy = $this->input->post('sortBy') ?: ''; $orderByType = $this->input->post_get('orderByType') ?: 'DESC'; $strSortBy = $sortBy == '' ? " ORDER BY CodeId DESC" : " ORDER BY $sortBy $orderByType"; if ($verify == '1') { $codeId = $this->input->post_get('CodeId') ?: 0; $row = $this->User_model->get_slbf_code_by_id($codeId); if ($row->ReplyDtTm != '') { $diffInMins = minutesDiffInDates($row->ReplyDtTm, $currDtTm = setDtTmWRTYourCountry()); if ($diffInMins <= $row->OrderVerifyMins) { $ip = $_SERVER['REMOTE_ADDR']; $this->User_model->update_slbf_codes($ip, $codeId); $dtTm = setDtTmWRTYourCountry(); $tcktNo = rand_integers(8); $msg = convertNextLineToBRTag($this->input->post('txtVData')); $r_no = 26; $vrdata = array( 'TicketNo' => $tcktNo, 'UserId' => $this->session->userdata('GSM_FUS_UserId'), /*'UserId' => $this->user_id,*/ 'DepartmentId' => 1, 'CategoryId' => 1, 'PriorityId' => 2, 'Name' => '', 'Email' => '', 'Subject' => 'Order # '.$codeId, 'order_id' => $codeId + $r_no, 'Message' => $msg, 'DtTm' => $dtTm, 'IP' => $ip, 'StatusId' => 1, 'ByAdmin' => 0 ); $last_ticket_id = $this->User_model->add_user_ticket($vrdata); orderVerificationEmail('1', $codeId, stripslashes($row->PackageTitle), stripslashes($row->Code), $row->Credits, $ip, $row->RequestedAt, $row->IMEINo); $message = $this->lang->line('CUST_GEN_MSG'); redirect(base_url('page/file_orders')); } else $message = 'Invalid Operation'; } else $message = 'Invalid Operation'; } if ($cancel == '1' && $this->session->userdata('GSM_FUS_UserId')) { $orderId = $this->input->post_get('orderId') ?: 0; $row = $this->User_model->get_slbf_packages($orderId); if ($row->RequestedAt != '') { $diffInMins = minutesDiffInDates($row->RequestedAt, $currDtTm = setDtTmWRTYourCountry()); if ($diffInMins <= $row->OrderCancelMins) { if (isset($row->CodeId) && $row->CodeId == $orderId) { if (fileOrderRefunded($orderId) == '0') { $update_data = array( 'CodeStatusId' => 3, 'Refunded' => 1, 'CancelledByUser' => 1, 'CheckDuplication' => 0, 'Code' => 'Cancelled By User' ); $this->db->update_slbf_codes_by_status($update_data, $orderId); $currDtTm = setDtTmWRTYourCountry(); $dec_points = refundFileCredits($this->session->userdata('GSM_FUS_UserId'), $orderId, $row->IMEINo, stripslashes($row->PackageTitle), $currDtTm, $row->PackageId, $row->Credits, '0', 'Cancelled By User'); rejectedFileOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserFullName'), stripslashes($row->PackageTitle), $row->IMEINo, stripslashes($row->Code), $row->RequestedAt, $row->PackageId, $row->AlternateEmail, $row->Credits, $dec_points); $message = $this->lang->line('CUST_GEN_MSG'); } } else { $message = $this->lang->line('CUST_LBL_210'); } } else $message = 'Invalid Operation'; } else $message = 'Invalid Operation'; } $packageId = $this->input->post_get("packageId") ?: '0'; $codeStatusId = $this->input->post_get("codeStatusId") ?: '0'; $imeiNo = $this->input->post_get("txtIMEI") ?: ''; $oId = $this->input->post_get("oId") ?: ''; if (trim($oId) != '') { $strWhere .= " AND CodeId = '$oId'"; $txtlqry .= "&oId=$oId"; } if (trim($imeiNo) != '' && $imeiNo <> 'Search IMEI') $strWhere = " AND IMEINo LIKE '%" . check_input($imeiNo, $this->db->conn_id) . "%'";//error_here if ($packageId != '0') $strWhere .= " AND A.PackageId = '" . check_input($packageId, $this->db->conn_id) . "'"; if ($codeStatusId != '0') $strWhere .= " AND A.CodeStatusId = '" . check_input($codeStatusId, $this->db->conn_id) . "'"; if (isset($_REQUEST['txtFromDt'])) { if ($dtFrom != '' && $dtTo != '') { $strWhere .= " And CONCAT(Year, '-', Month, '-', Day) >= '$dtFrom' AND CONCAT(Year, '-', Month, '-', Day) <= '$dtTo'"; $txtlqry .= "&txtFromDt=$dtFrom&txtToDt=$dtTo"; } else { if ($dtFrom != '') { $strWhere .= " AND CONCAT(Year, '-', Month, '-', Day) >= '$dtFrom'"; $txtlqry .= "&txtFromDt=$dtFrom"; } if ($dtTo != '') { $strWhere .= " AND CONCAT(Year, '-', Month, '-', Day) <= '$dtTo'"; $txtlqry .= "&txtToDt=$dtTo"; } } } $this->data['page_name'] = $_SERVER['PHP_SELF']; if (!isset($start)) $start = 0; if ($this->input->post_get("start")) $start = $this->input->post_get("start"); $eu = ($start - 0); $limit = $this->input->post_get('records') && is_numeric($this->input->post_get('records')) && $this->input->post_get('records') != '0' ? $this->input->post_get('records') : 50; $txtlqry .= "&records=$limit"; $this->data['thisp'] = $eu + $limit; $this->data['back'] = $eu - $limit; $this->data['next'] = $eu + $limit; $strPckWhere = ' AND sl3lbf = 1'; $this->data['rsCodes'] = $this->User_model->get_slbf_packages_and_code_data($strWhere, $strPckWhere, $strSortBy, $eu, $limit); $this->data['totalCodes'] = count($this->data['rsCodes']); $STATUSES = array(); $rsStatuses = $this->User_model->get_code_status(); foreach ($rsStatuses as $rw) { $STATUSES[$rw->CodeStatusId] = stripslashes($rw->CodeStatus); } $this->data['success'] = ''; if ($this->input->post_get('success') && $this->input->post_get('success') == '1') { $this->data['success'] = '<div class="alert alert-success">' . $this->lang->line('CUST_LBL_181') . '</div>'; } $this->data['sortBy'] = $sortBy; $this->data['orderByType'] = $orderByType; $this->data['oId'] = $oId; $this->data['dtTo'] = $dtTo; $this->data['dtFrom'] = $dtFrom; $this->data['codeStatusId'] = $codeStatusId; $this->data['STATUSES'] = $STATUSES; $this->data['packageId'] = $packageId; $this->data['limit'] = $limit; $this->data['eu'] = $eu; $this->data['txtlqry'] = $txtlqry; $this->data['start'] = $start; $this->data['strWhere'] = $strWhere; $this->data['strPckWhere'] = $strPckWhere; $this->data['message'] = $message; $this->data['filedsShow'] = $filedsShow; $this->data['view'] = 'file_orders_new'; $this->load->view('layouts/default', $this->data); } public function fileOrdersSearchByService(){ $strWhere=$data=''; $packageId=$this->input->post('id'); $strPckWhere = ' AND sl3lbf = 1'; if ($packageId != 'all') $strWhere .= " AND A.PackageId = '" . check_input($packageId, $this->db->conn_id) . "'"; /*if ($codeStatusId != '0') $strWhere .= " AND A.CodeStatusId = '" . check_input($codeStatusId, $this->db->conn_id) . "'";*/ $strSortBy='ORDER BY CodeId DESC'; $eu=0;$limit=50; //file_ahmed $PACKS=array(); $packs=getAllPackData(); foreach($packs as $pack){ $PACKS[$pack->PackageId] = stripslashes($pack->PackageTitle).'-->'.$pack->CancelOrders.'-->'.$pack->VerifyOrders.'-->'.$pack->OrderVerifyMins.'-->'.$pack->OrderCancelMins; } $STATUSES = array(); $codes=get_code_all_status(); foreach($codes as $code){ $STATUSES[$code->CodeStatusId] = stripslashes($code->CodeStatus); } $rsCodes = $this->User_model->get_slbf_packages_and_code_data($strWhere, $strPckWhere, $strSortBy, $eu, $limit); if ($rsCodes) { $i = 0; $currDtTm = setDtTmWRTYourCountry(); foreach ($rsCodes as $row) { $showCancel = '0'; $showVerify = '0'; if($row->ReplyDtTm != '') { $diffInMinsV = minutesDiffInDates($row->ReplyDtTm, $currDtTm); if($diffInMinsV <= $row->OrderVerifyMins) $showVerify = '1'; } if($row->RequestedAt != '') { $diffInMinsC = minutesDiffInDates($row->RequestedAt, $currDtTm); if($diffInMinsC <= $row->OrderCancelMins) $showCancel = '1'; } $orderStatus = stripslashes($row->CodeStatus); if($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->CodeStatusId == '1') $orderStatus = 'Processing'; $orderCode = html_entity_decode(stripslashes($row->Code)); switch ($row->CodeStatusId) { case "1": $class = 'warning'; break; case "2": $class = 'success'; break; case "3": $class = 'danger'; break; case "4": $class = 'info'; break; } if($row->IMEINo != ''){ $imei=stripslashes($row->IMEINo); }else{ $imei='<b>Serial #: </b>'. stripslashes(isset($row->SerialNo) && $row->SerialNo ? $row->SerialNo : ''); } if($row->ReplyFile == '') $reply ='-'; else { $reply = '<a href="'.base_url().'page/downloadsl3replyfile?id='.($row->CodeId).'"><i class="fa fa-download"></i></a>'; } $dates=explode(' ',$row->RequestedAt); $data.='<tr> <td class="Order" style="display: none"> <a class="fancybox fancybox.ajax" href="'.base_url().'page/fodetail?id='.$row->CodeId.'" title="Order Details"><i class="fa fa-plus"></i> '.$row->CodeId.'</a> </td>'; $strData = ''; if ($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->CodeStatusId == '1') $orderStatus = 'Processing'; $data.='<td style="white-space: normal;">'.trim($row->PackageTitle).'</td>'; $data.='<td style="white-space: normal;">'.$imei.'</td>'; $data.='<td class="Date" align="left" style="display: none">'.$dates[0] .'</td>'; $data.='<td class="Credits" align="left" style="display: none">'.$row->Credits.'</td>'; $data.='<td align="left" nowrap>'; $status_class=''; switch ($orderStatus) { case "Pending": $status_class='pending'; break; case "Completed": $status_class='complete'; break; case "Rejected": $status_class='reject'; break; case "In Process": $status_class='inprocess'; break; echo $status_class; } if($orderCode == ''){ $orderCode= '-'; }else{ $orderCode = substr($orderCode, 0, 50); } $data.='<div class="'.$status_class.'">'.$orderStatus.'</div></td>'; $data.='<td style="white-space: normal;"align="left">'.$orderCode.'</td>'; $data.='<td class="Reply" style="display: none;">'.$reply.'</td>'; $data.='<td class="Action" valign="middle" style="display: none">'; if($row->VerifyOrders == '1' && $showVerify == '1'){ if($row->CodeStatusId == 2 && $row->Verify==0) { $till = addMinutesToDtTm($row->ReplyDtTm, $row->OrderVerifyMins); $strData = daysHoursMinsDifferenceInDates($till, $currDTTM); $data.='<a class="fancybox fancybox.ajax" href="'.base_url().'page/file_orders?verify=1&CodeId='.($row->CodeId).'"><i class="fa fa-refresh"></i></a>'; if ($strData != '') echo ' Expires in<br />' . $strData; } else if ($row->Verify == 1) { $data.='<span class="badge badge-pill badge-warning">Under Verification</span>'; } else { $data.= '-'; } } else { $data.= '-'; } $data.= ' '; if($row->CancelOrders == '1' && $row->CodeStatusId == '1' && $showCancel == '1' && $orderStatus != 'Processing') { $data.= '<a href="file_orders.php?cancel=1&orderId='.$row->CodeId.'" onclick="return confirm('.$this->lang->line('CUST_LBL_230').')"><i class="fa icon-trash" data-toggle="tooltip" data-placement="top" title="Delete"></i></a>'; } else $data.= '-'; $data.= '</td>'; $data.= '<td class="View" style="display: none">'; $data.= '<a class="fancybox fancybox.ajax" title="Order Details" href="'.base_url().'page/fodetail?id='.$row->CodeId.'"><i class="fa icon-eye"></i> </a>'; $data.= '</td>'; $data.= '<td class="CheckBox" style="display: none">'; $data.= '<input type="checkbox" class="chkSelect" id="chkCodes'.$i.'" name="chkCodes[]" value="'.$row->CodeId.'">'; $data.= '</td>'; $data.= '</tr>'; $i++; } } else { $data.='<tr><td colspan="8">'.$this->lang->line('CUST_LBL_10').'</td></tr>'; } echo $data; exit; } public function fileOrdersSearchByStatus(){ $strWhere=$data=''; $codeStatusId=$this->input->post('status'); $strPckWhere = ' AND sl3lbf = 1'; if ($codeStatusId != 'all') $strWhere .= " AND A.CodeStatusId = '" . check_input($codeStatusId, $this->db->conn_id) . "'"; $strSortBy='ORDER BY CodeId DESC'; $eu=0;$limit=50; //file_ahmed $PACKS=array(); $packs=getAllPackData(); foreach($packs as $pack){ $PACKS[$pack->PackageId] = stripslashes($pack->PackageTitle).'-->'.$pack->CancelOrders.'-->'.$pack->VerifyOrders.'-->'.$pack->OrderVerifyMins.'-->'.$pack->OrderCancelMins; } $STATUSES = array(); $codes=get_code_all_status(); foreach($codes as $code){ $STATUSES[$code->CodeStatusId] = stripslashes($code->CodeStatus); } $rsCodes = $this->User_model->get_slbf_packages_and_code_data($strWhere, $strPckWhere, $strSortBy, $eu, $limit); if ($rsCodes) { $i = 0; $currDtTm = setDtTmWRTYourCountry(); foreach ($rsCodes as $row) { $showCancel = '0'; $showVerify = '0'; if($row->ReplyDtTm != '') { $diffInMinsV = minutesDiffInDates($row->ReplyDtTm, $currDtTm); if($diffInMinsV <= $row->OrderVerifyMins) $showVerify = '1'; } if($row->RequestedAt != '') { $diffInMinsC = minutesDiffInDates($row->RequestedAt, $currDtTm); if($diffInMinsC <= $row->OrderCancelMins) $showCancel = '1'; } $orderStatus = stripslashes($row->CodeStatus); if($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->CodeStatusId == '1') $orderStatus = 'Processing'; $orderCode = html_entity_decode(stripslashes($row->Code)); switch ($row->CodeStatusId) { case "1": $class = 'warning'; break; case "2": $class = 'success'; break; case "3": $class = 'danger'; break; case "4": $class = 'info'; break; } if($row->IMEINo != ''){ $imei=stripslashes($row->IMEINo); }else{ $imei='<b>Serial #: </b>'. stripslashes(isset($row->SerialNo) && $row->SerialNo ? $row->SerialNo : ''); } $dates=explode(' ',$row->RequestedAt); $data.='<tr> <td class="Order" style="display: none"> <a class="fancybox fancybox.ajax" href="'.base_url().'page/fodetail?id='.$row->CodeId.'" title="Order Details"><i class="fa fa-plus"></i> '.$row->CodeId.'</a> </td>'; $strData = ''; if ($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->CodeStatusId == '1') $orderStatus = 'Processing'; $data.='<td style="white-space: normal;">'.trim($row->PackageTitle).'</td>'; $data.='<td style="white-space: normal;">'.$imei.'</td>'; $data.='<td class="Date" align="left" style="display: none">'.$dates[0] .'</td>'; $data.='<td class="Credits" align="left" style="display: none">'.$row->Credits.'</td>'; $data.='<td align="left" nowrap>'; $status_class=''; switch ($orderStatus) { case "Pending": $status_class='pending'; break; case "Completed": $status_class='complete'; break; case "Rejected": $status_class='reject'; break; case "In Process": $status_class='inprocess'; break; echo $status_class; } if($orderCode == ''){ $orderCode= '-'; }else{ $orderCode = substr($orderCode, 0, 50); } if($row->ReplyFile == '') $reply ='-'; else { $reply = '<a href="'.base_url().'page/downloadsl3replyfile?id='.($row->CodeId).'"><i class="fa fa-download"></i></a>'; } $data.='<div class="'.$status_class.'">'.$orderStatus.'</div></td>'; $data.='<td style="white-space: normal;"align="left">'.$orderCode.'</td>'; $data.='<td class="Reply" style="display: none;">'.$reply.'</td>'; $data.='<td class="Action" valign="middle" style="display: none">'; if($row->VerifyOrders == '1' && $showVerify == '1'){ if($row->CodeStatusId == 2 && $row->Verify==0) { $till = addMinutesToDtTm($row->ReplyDtTm, $row->OrderVerifyMins); $strData = daysHoursMinsDifferenceInDates($till, $currDTTM); $data.='<a class="fancybox fancybox.ajax" href="'.base_url().'page/file_orders?verify=1&CodeId='.($row->CodeId).'"><i class="fa fa-refresh"></i></a>'; if ($strData != '') echo ' Expires in<br />' . $strData; } else if ($row->Verify == 1) { $data.='<span class="badge badge-pill badge-warning">Under Verification</span>'; } else { $data.= '-'; } } else { $data.= '-'; } $data.= ' '; if($row->CancelOrders == '1' && $row->CodeStatusId == '1' && $showCancel == '1' && $orderStatus != 'Processing') { $data.= '<a href="file_orders.php?cancel=1&orderId='.$row->CodeId.'" onclick="return confirm('.$this->lang->line('CUST_LBL_230').')"><i class="fa icon-trash" data-toggle="tooltip" data-placement="top" title="Delete"></i></a>'; } else $data.= '-'; $data.= '</td>'; $data.= '<td class="View" style="display: none">'; $data.= '<a class="fancybox fancybox.ajax" title="Order Details" href="'.base_url().'page/fodetail?id='.$row->CodeId.'"><i class="fa icon-eye"></i> </a>'; $data.= '</td>'; $data.= '<td class="CheckBox" style="display: none">'; $data.= '<input type="checkbox" class="chkSelect" id="chkCodes'.$i.'" name="chkCodes[]" value="'.$row->CodeId.'">'; $data.= '</td>'; $data.= '</tr>'; $i++; } } else { $data.='<tr><td colspan="8">'.$this->lang->line('CUST_LBL_10').'</td></tr>'; } echo $data; exit; } public function downloadsl3replyfile() { $id = $this->input->post_get('id') ?: 0; $file = ''; $row = $this->User_model->get_replyfile($id); if (isset($row->ReplyFile) && $row->ReplyFile != '') $file = $row->ReplyFile; if ($file != '') downloadFile($file); } public function verifyorders() { $strWhere = ''; $imei = ''; $packageId = 0; $codeStatusId = 0; $searchType = 0; $txtlqry = ''; $sqlwhere = ''; $verifyPage = '1'; $tblOrders = 'tbl_gf_codes'; $this->data['page_name'] = $this->input->server('PHP_SELF'); $searchType = $this->input->post_get('searchType') ?: '0'; $uId = $this->input->post_get('uId') ?: 0; if ($uId != '0') { $strWhere .= " AND A.UserId = '$uId'"; $txtlqry .= "&uId=$uId"; } if (!isset($start)) $start = 0; if ($this->input->post_get("start")) $start = $this->input->post_get("start"); $eu = ($start - 0); $limit = $this->input->post_get('records') ?: 50; $thisp = $eu + $limit; $back = $eu - $limit; $next = $eu + $limit; $message = ''; if ($this->input->post_get('hdsbmt') && $this->session->userdata('GSM_FSN_AdmId')) { $codeIds = $this->input->post_get('chkCodes') ?: 0; $totalCodes = 0; if (is_array($codeIds)) $totalCodes = count($codeIds); $codeIds_reply = $this->input->post_get('chkReply') ?: 0; $totalCodes_reply = 0; if (is_array($codeIds_reply)) $totalCodes_reply = count($codeIds_reply); if ($totalCodes_reply == 0) $message = $this->input->post('BE_LBL_577'); else { for ($i = 0; $i < $totalCodes; $i++) { $updateStatus = true; $data = explode('|', $codeIds[$i]); $codeId = $data[0]; $code = $this->input->post_get('txtCode' . $data[4]); if ($codeIds_reply != '0') { if (in_array($codeIds[$i], $codeIds_reply)) $codeStatusId = '3'; else $updateStatus = false; } else $updateStatus = false; if ($updateStatus) { $message = updateorderstatus($data, $codeStatusId, $codeId, $code); $this->User_model->update_gf_codes_by_code_id($codeId); } } for ($i = 0; $i < $totalCodes_reply; $i++) { $data = explode('|', $codeIds_reply[$i]); $codeId = $data[0]; $code = $this->input->post_get('txtCode' . $data[4]); $codeStatusId = '2'; $updateStatus = true; if ($codeIds != '0') { if (in_array($codeIds_reply[$i], $codeIds)) $updateStatus = false; } if ($updateStatus) { $message = updateorderstatus($data, $codeStatusId, $codeId, $code); $this->User_model->update_gf_codes_by_code_id($codeId); } } $message = $this->lang->line('BE_GNRL_11'); } } if ($this->input->post_get('txtIMEI')) { $imei = trim($this->input->post_get('txtIMEI')); $packageId = $this->input->post_get('packageId'); $codeStatusId = $this->input->post_get('codeStatusId'); $uName = $this->input->post_get('txtUName') ? trim($this->input->post_get('txtUName')) : ''; if ($uName != '') { $strWhere = " AND UserName LIKE '%" . $uName . "%'"; $txtlqry .= "&txtUName=$uName"; } if ($imei != '') { $strWhere = " AND IMEINo LIKE '%" . $imei . "%'"; $txtlqry .= "&txtIMEI=$imei"; } if ($packageId != '0') { $strWhere .= " AND A.PackageId = '$packageId'"; $txtlqry .= "&packageId=$packageId"; } if ($codeStatusId != '0') { $strWhere .= " AND A.CodeStatusId = '$codeStatusId'"; $txtlqry .= "&codeStatusId=$codeStatusId"; } } $rsCodes = $this->User_model->get_codes_packages_and_userdata($strWhere, $eu, $limit); $this->data['next'] = $next; $this->data['thisp'] = $thisp; $this->data['pLast'] = ''; $this->data['eu'] = $eu; $this->data['limit'] = $limit; $this->data['start'] = $start; $this->data['back'] = $back; $this->data['count'] = count($rsCodes); $this->data['strWhere'] = $strWhere; $this->data['rsCodes'] = $rsCodes; $this->data['uId'] = $uId; $this->data['IS_DEMO'] = ''; $this->data['txtlqry'] = $txtlqry; $this->data['message'] = $message; $this->data['view'] = 'verifyorders'; $this->load->view('layouts/default', $this->data); } public function server_orders($page = 0) { if ($this->data['settings']->ServerServices == '0') { redirect(base_url('dashboard')); } $PCK_TITLE = 'LogPackageTitle'; $CD_STATUS = 'CodeStatus'; $CATEGORY = 'Category'; $this->data['myNetworkId'] = 0; $message = $strWhere = $txtlqry = ''; $filedsShow = $this->input->post('filedsShow') ?: '0'; $this->data['myNetworkId'] = $logPackageId = $this->input->post('logPackageId') ?: '0'; $statusId = $this->input->post('codeStatusId') ?: '0'; $verify = $this->input->post_get('verify') ? 1 : 0; $cancel = $this->input->post_get('cancel') ? 1 : 0; $dtFrom = $this->input->post('txtFromDt') ?: ''; $dtTo = $this->input->post('txtToDt') ?: ''; $queryDtFrom = explode("/", $dtFrom); if(count($queryDtFrom) > 1) { $queryDtFrom = $queryDtFrom[2] . "-" . $queryDtFrom[0] . "-" . $queryDtFrom[1] . " 00:00:00"; } else { $queryDtFrom = ""; } $dtTo = $this->input->post('txtToDt') ?: ''; $this->data['dtTo'] = $dtTo; $queryDtTo = explode("/", $dtTo); if(count($queryDtTo) > 1) { $queryDtTo = $queryDtTo[2] . "-" . $queryDtTo[0] . "-" . $queryDtTo[1] . " 23:59:59"; } else { $queryDtTo = ""; } $sortBy = $this->input->post('sortBy') ?: ''; $orderByType = $this->input->post('orderByType') ?: 'DESC'; $strSortBy = $sortBy == '' ? " ORDER BY LogRequestId DESC" : " ORDER BY $sortBy $orderByType"; $bxUsrNm = $this->input->post_get('bxUsrNm') ?: ''; $srlNo = $this->input->post_get('srlNo') ?: ''; $usrNm = $this->input->post_get('usrNm') ?: ''; $oId = $this->input->post_get('oId') ?: ''; if ($verify == '1') { $codeId = $this->input->post_get('CodeId') ?: 0; $row = $this->User_model->fetch_requests_and_packages($codeId); if ($row->ReplyDtTm != '') { $diffInMins = minutesDiffInDates($row->ReplyDtTm, $currDtTm = setDtTmWRTYourCountry()); if ($diffInMins <= $row->OrderVerifyMins) { $ip = $this->input->server('REMOTE_ADDR'); $this->User_model->update_log_request($codeId, $ip); $dtTm = setDtTmWRTYourCountry(); $tcktNo = rand_integers(8); $msg = convertNextLineToBRTag($this->input->post('txtVData')); $r_no = 24; $vrdata = array( 'TicketNo' => $tcktNo, 'UserId' => $this->session->userdata('GSM_FUS_UserId'), /*'UserId' => $this->user_id,*/ 'DepartmentId' => 1, 'CategoryId' => 1, 'PriorityId' => 2, 'Name' => '', 'Email' => '', 'Subject' => 'Order # '.$codeId, 'order_id' => $codeId + $r_no, 'Message' => $msg, 'DtTm' => $dtTm, 'IP' => $ip, 'StatusId' => 1, 'ByAdmin' => 0 ); $last_ticket_id = $this->User_model->add_user_ticket($vrdata); orderVerificationEmail('2', $codeId, stripslashes($row->LogPackageTitle), stripslashes($row->Code), $row->Credits, $ip, $row->RequestedAt); $message = $this->lang->line('CUST_GEN_MSG'); redirect(base_url('page/server_orders')); } else $message = 'Invalid Operation'; } else $message = 'Invalid Operation'; } if ($cancel == '1' && $this->session->userdata('GSM_FUS_UserId')) { $orderId = $this->input->post_get('orderId') ?: 0; $row = $this->User_model->fetch_log_requests_and_packages($orderId); if ($row->RequestedAt != '') { $diffInMins = minutesDiffInDates($row->RequestedAt, $currDtTm = setDtTmWRTYourCountry()); if ($diffInMins <= $row->OrderCancelMins) { if (isset($row->LogRequestId) && $row->LogRequestId == $orderId) { if (serverOrderRefunded($orderId) == '0') { $this->User_model->update_log_request_by_orderID($orderId); $currDtTm = setDtTmWRTYourCountry(); $dec_points = refundServerCredits($this->session->userdata('GSM_FUS_UserId'), $orderId, stripslashes($row->LogPackageTitle), $currDtTm, $row->Credits, '0', 'Cancelled By User'); rejectedServerOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserFullName'), stripslashes($row->LogPackageTitle), stripslashes($row->Code), $row->RequestedAt, $row->LogPackageId, $row->AlternateEmail, $row->Credits, $dec_points, $row->OrderData); $message = $this->lang->line('CUST_GEN_MSG'); } } else { $message = $this->lang->line('CUST_LBL_210'); } } else $message = 'Invalid Operation'; } else $message = 'Invalid Operation'; } if ($logPackageId != '0') $strWhere .= " AND A.LogPackageId = '" . $logPackageId . "' "; if ($statusId != '0') $strWhere .= " AND A.StatusId = '" . $statusId . "' "; if (isset($_REQUEST['txtFromDt'])) { if ($dtFrom != '' && $dtTo != '') { $strWhere .= " And RequestedAt >= '$queryDtFrom' AND RequestedAt <= '$queryDtTo'"; $txtlqry .= "&txtFromDt=$dtFrom&txtToDt=$dtTo"; } else { if ($dtFrom != '') { $strWhere .= " And RequestedAt >= '$queryDtFrom'"; $txtlqry .= "&txtFromDt=$dtFrom"; } if ($dtTo != '') { $strWhere .= " AND RequestedAt <= '$queryDtTo'"; $txtlqry .= "&txtToDt=$dtTo"; } } } if (trim($oId) != '') { $strWhere .= " AND LogRequestId = '$oId'"; $txtlqry .= "&oId=$oId"; } if (trim($bxUsrNm) != '') { $strWhere .= " AND BoxUserName LIKE '%" . $bxUsrNm . "%'"; $txtlqry .= "&bxUsrNm=$bxUsrNm"; } if (trim($srlNo) != '') { $strWhere .= " AND SerialNo LIKE '%" . $srlNo . "%'"; $txtlqry .= "&srlNo=$srlNo"; } if (trim($usrNm) != '') { $strWhere .= " AND SUsername LIKE '%" . $usrNm . "%'"; $txtlqry .= "&usrNm=$usrNm"; } $page_name = $this->session->userdata('PHP_SELF'); if (!isset($start)) $start = 0; if ($this->input->post_get("start")) $start = $this->input->post_get("start"); $eu = ($start - 0); $limit = $this->input->post_get('records') && is_numeric($this->input->post_get('records')) ? $this->input->post_get('records') :50; $eu = ($page-1)*$limit; $txtlqry .= "&records=$limit"; $thisp = $eu + $limit; $back = $eu - $limit; $next = $eu + $limit; $CUST_COL_LBL = array(); //$rsFields = $this->User_model->get_fields_data(); $strLimit = " limit $page, $limit"; /*$rsFields = $this->db->query("SELECT acf.*, of.FieldValue, of.Id AS OrderFieldId FROM tbl_gf_order_fields AS of LEFT JOIN tbl_gf_api_custom_fields AS acf ON of.ApiFieldId = acf.Id WHERE of.OrderId = {$id} AND of.OrderType = 2")->result(); $colIndex = 0; $strCustomCols = ''; foreach ($rsFields as $row) { if($strCustomCols != '') { $strCustomCols .= '<br />'; } $strCustomCols .= '<b>'. $rsFields->FieldLabel .':</b> ' . $rsFields->FieldValue; } $this->data['rsFields'] = $strCustomCols; */ //$this->data['colIndex'] = $colIndex; $this->load->library('pagination'); $config = array(); $config["base_url"] = base_url('page/server_orders'); $config["total_rows"] = $this->User_model->get_log_request_packages_status_count($strWhere); $config["per_page"] = $limit; $config["per_page"] = $limit; $config['reuse_query_string'] = true; $config['full_tag_open'] = '<ul class="pagination">'; $config['full_tag_close'] = '</ul>'; $config['attributes'] = ['class' => 'page-link']; $config['first_link'] = false; $config['last_link'] = false; $config['first_tag_open'] = '<li class="page-item">'; $config['first_tag_close'] = '</li>'; $config['prev_link'] = '«'; $config['prev_tag_open'] = '<li class="page-item">'; $config['prev_tag_close'] = '</li>'; $config['next_link'] = '»'; $config['next_tag_open'] = '<li class="page-item">'; $config['next_tag_close'] = '</li>'; $config['last_tag_open'] = '<li class="page-item">'; $config['last_tag_close'] = '</li>'; $config['cur_tag_open'] = '<li class="page-item active"><a href="#" class="page-link">'; $config['cur_tag_close'] = '<span class="sr-only">(current)</span></a></li>'; $config['num_tag_open'] = '<li class="page-item">'; $config['num_tag_close'] = '</li>'; $this->pagination->initialize($config); $this->data['dtTo'] = $dtTo; $this->data['dtFrom'] = $dtFrom; $this->data['orderByType'] = $orderByType; $this->data['sortBy'] = $sortBy; $this->data['limit'] = $limit; $this->data['oId'] = $oId; $strCustomCols = ", OrderData"; $this->data['rsCodes'] = $this->User_model->get_log_request_packages_status($strWhere, $strSortBy, $strLimit, $strCustomCols); $this->data['totalCodes'] = count($this->data['rsCodes']); $this->data['CUST_COL_LBL'] = $CUST_COL_LBL; $this->data['filedsShow'] = $filedsShow; $this->data['codestatusdata'] = $this->User_model->get_code_status1(); $this->data['codeStatusId'] = $statusId; $this->data['view'] = 'server_orders_new'; $this->load->view('layouts/default', $this->data); } public function serverOrdersSearchByServices(){ $strWhere=''; $data=''; $statusId = $this->input->post('status') ?: '0'; $logPackageId = $this->input->post('id') ?: '0'; if ($logPackageId != 'all') $strWhere .= " AND A.LogPackageId = '" . $logPackageId . "' "; $strSortBy='ORDER BY LogRequestId DESC'; $eu=0; $limit=50; $strLimit='limit 0, 50'; $strCustomCols=', activecode_Q7B2 AS Col0, dongleid_D7V1 AS Col1, email_B5D9 AS Col2, Q6H1H9H4I2H2I4Y2K6 AS Col3, pasward_V6I0 AS Col4, quantity_G7V7 AS Col5, I9E8C7S2D7I3R0T7Z1 AS Col6, serialno_U4L6 AS Col7, K9Y2N8V1A4X1C4Y7Y8 AS Col8, A5C9F8O2Y0W8Q9M7C7 AS Col9, W6A2C3K7V9A4Z1D1R2 AS Col10, username_K4I8 AS Col11, O7V8E3J2J4X6X1V6V2 AS Col12, R5C9X7Y9C2J3K9J9P0 AS Col13'; //ahmed_heree $CUST_COL_LBL = array(); $rsFields = $this->User_model->get_fields_data(); $strLimit = " limit $eu, $limit"; $colIndex = 0; $strCustomCols = ''; foreach ($rsFields as $row) { $strCustomCols .= ', ' . $row->FieldColName . ' AS Col' . $colIndex; $CUST_COL_LBL['Col' . $colIndex] = $row->FieldLabel; $colIndex++; } $PACKS=array(); $packs=getAllPackData(); foreach($packs as $pack){ $PACKS[$pack->PackageId] = stripslashes($pack->PackageTitle).'-->'.$pack->CancelOrders.'-->'.$pack->VerifyOrders.'-->'.$pack->OrderVerifyMins.'-->'.$pack->OrderCancelMins; } $STATUSES = array(); $codes=get_code_all_status(); foreach($codes as $code){ $STATUSES[$code->CodeStatusId] = stripslashes($code->CodeStatus); } $rsCodes = $this->User_model->get_log_request_packages_status($strWhere, $strSortBy, $strLimit, $strCustomCols); if ($rsCodes) { $i = 0; $currDtTm = setDtTmWRTYourCountry(); foreach ($rsCodes as $row) { $showCancel = '0'; $showVerify = '0'; if($row->ReplyDtTm != '') { $diffInMinsV = minutesDiffInDates($row->ReplyDtTm, $currDtTm); if($diffInMinsV <= $row->OrderVerifyMins) $showVerify = '1'; } if($row->RequestedAt != '') { $diffInMinsC = minutesDiffInDates($row->RequestedAt, $currDtTm); if($diffInMinsC <= $row->OrderCancelMins) $showCancel = '1'; } $strCustVals = ''; for($i = 1; $i < $colIndex; $i++) { $colName = 'Col'.$i; if(isset($row->$colName) && trim($row->$colName) != '') { if(isset($CUST_COL_LBL[$colName]) && $CUST_COL_LBL[$colName] != '') { if($strCustVals != '') $strCustVals .= '<br />'; $strCustVals .= '<b>'.$CUST_COL_LBL[$colName].':</b>'; } $strCustVals .= ' '.$row->$colName; } } $orderStatus = stripslashes($row->CodeStatus); if($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->CodeStatusId == '1') $orderStatus = 'Processing'; $orderCode = html_entity_decode(stripslashes($row->Code)); switch ($row->StatusId) { case "1": $class = 'warning'; break; case "2": $class = 'success'; break; case "3": $class = 'danger'; break; case "4": $class = 'info'; break; } $dates=explode(' ',$row->RequestedAt); $data.='<tr> <td class="Order" style="display: none"> <a class="fancybox fancybox.ajax" href="'.base_url().'page/sodetail?id='.$row->LogRequestId.'" title="Order Details"><i class="fa fa-plus"></i>'.$row->LogRequestId.'</a> </td>'; $strData = ''; if ($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->CodeStatusId == '1') $orderStatus = 'Processing'; $sC=''; if($strCustVals == '') { $sC='-';}else{$sC=$strCustVals;} $data.='<td style="white-space: normal;">'.trim($row->LogPackageTitle).'</td>'; $data.='<td class="Reply" style="display: none">'.$sC.'</td>'; $data.='<td class="Date" align="left" style="display: none">'.$dates[0] .'</td>'; $data.='<td class="Credits" align="left" style="display: none">'.$row->Credits.'</td>'; $data.='<td align="left" nowrap>'; $status_class=''; switch ($orderStatus) { case "Pending": $status_class='pending'; break; case "Completed": $status_class='complete'; break; case "Rejected": $status_class='reject'; break; case "In Process": $status_class='inprocess'; break; echo $status_class; } if($orderCode == ''){ $orderCode= '-'; }else{ $orderCode = substr($orderCode, 0, 50); } $data.='<div class="'.$status_class.'">'.$orderStatus.'</div></td>'; $data.='<td style="white-space: normal;"align="left">'.$orderCode.'</td>'; $data.='<td class="Action" valign="middle" style="display: none">'; if($row->VerifyOrders == '1' && $showVerify == '1'){ if($row->CodeStatusId == 2 && $row->Verify==0) { $till = addMinutesToDtTm($row->ReplyDtTm, $row->OrderVerifyMins); $strData = daysHoursMinsDifferenceInDates($till, $currDTTM); $data.='<a class="fancybox fancybox.ajax" href="'.base_url().'page/server_orders?verify=1&CodeId='.($row->CodeId).'"><i class="fa fa-refresh"></i></a>'; if ($strData != '') echo ' Expires in<br />' . $strData; } else if ($row->Verify == 1) { $data.='<span class="badge badge-pill badge-warning">Under Verification</span>'; } else { $data.= '-'; } } else { $data.= '-'; } $data.= ' '; if($row->CancelOrders == '1' && $row->CodeStatusId == '1' && $showCancel == '1' && $orderStatus != 'Processing') { $data.= '<a href="'.base_url().'page/server_orders?cancel=1&orderId='.$row->CodeId.'" onclick="return confirm('.$this->lang->line('CUST_LBL_230').')"><i class="fa icon-trash" data-toggle="tooltip" data-placement="top" title="Delete"></i></a>'; } else $data.= '-'; $data.= '</td>'; $data.= '<td class="View" style="display: none">'; $data.= '<a class="fancybox fancybox.ajax" title="Order Details" href="'.base_url().'page/sodetail?id='.$row->LogRequestId.'"><i class="fa icon-eye"></i> </a>'; $data.= '</td>'; $data.= '<td class="CheckBox" style="display: none">'; $data.= '<input type="checkbox" class="chkSelect" id="chkCodes'.$i.'" name="chkCodes[]" value="'.$row->LogRequestId.'">'; $data.= '</td>'; $data.= '</tr>'; $i++; } } else { $data.='<tr><td colspan="8">'.$this->lang->line('CUST_LBL_10').'</td></tr>'; } echo $data; exit; } public function serverOrdersSearchByStatus(){ $strWhere=''; $data=''; /*$logPackageId = $this->input->post('logPackageId') ?: '0';*/ $statusId = $this->input->post('status') ?: '0'; /*$logPackageId = $this->input->post('codeStatusId') ?: '0'; if ($logPackageId != 'all') $strWhere .= " AND A.LogPackageId = '" . $logPackageId . "' ";*/ if ($statusId != 'all') $strWhere .= " AND A.StatusId = '" . $statusId . "' "; $strSortBy='ORDER BY LogRequestId DESC'; $eu=0; $limit=50; $strLimit='limit 0, 50'; $strCustomCols=', activecode_Q7B2 AS Col0, dongleid_D7V1 AS Col1, email_B5D9 AS Col2, Q6H1H9H4I2H2I4Y2K6 AS Col3, pasward_V6I0 AS Col4, quantity_G7V7 AS Col5, I9E8C7S2D7I3R0T7Z1 AS Col6, serialno_U4L6 AS Col7, K9Y2N8V1A4X1C4Y7Y8 AS Col8, A5C9F8O2Y0W8Q9M7C7 AS Col9, W6A2C3K7V9A4Z1D1R2 AS Col10, username_K4I8 AS Col11, O7V8E3J2J4X6X1V6V2 AS Col12, R5C9X7Y9C2J3K9J9P0 AS Col13'; //ahmed_heree $CUST_COL_LBL = array(); $rsFields = $this->User_model->get_fields_data(); $strLimit = " limit $eu, $limit"; $colIndex = 0; $strCustomCols = ''; foreach ($rsFields as $row) { $strCustomCols .= ', ' . $row->FieldColName . ' AS Col' . $colIndex; $CUST_COL_LBL['Col' . $colIndex] = $row->FieldLabel; $colIndex++; } $PACKS=array(); $packs=getAllPackData(); foreach($packs as $pack){ $PACKS[$pack->PackageId] = stripslashes($pack->PackageTitle).'-->'.$pack->CancelOrders.'-->'.$pack->VerifyOrders.'-->'.$pack->OrderVerifyMins.'-->'.$pack->OrderCancelMins; } $STATUSES = array(); $codes=get_code_all_status(); foreach($codes as $code){ $STATUSES[$code->CodeStatusId] = stripslashes($code->CodeStatus); } $rsCodes = $this->User_model->get_log_request_packages_status($strWhere, $strSortBy, $strLimit, $strCustomCols); if ($rsCodes) { $i = 0; $currDtTm = setDtTmWRTYourCountry(); foreach ($rsCodes as $row) { $showCancel = '0'; $showVerify = '0'; if($row->ReplyDtTm != '') { $diffInMinsV = minutesDiffInDates($row->ReplyDtTm, $currDtTm); if($diffInMinsV <= $row->OrderVerifyMins) $showVerify = '1'; } if($row->RequestedAt != '') { $diffInMinsC = minutesDiffInDates($row->RequestedAt, $currDtTm); if($diffInMinsC <= $row->OrderCancelMins) $showCancel = '1'; } $strCustVals = ''; for($i = 1; $i < $colIndex; $i++) { $colName = 'Col'.$i; if(isset($row->$colName) && trim($row->$colName) != '') { if(isset($CUST_COL_LBL[$colName]) && $CUST_COL_LBL[$colName] != '') { if($strCustVals != '') $strCustVals .= '<br />'; $strCustVals .= '<b>'.$CUST_COL_LBL[$colName].':</b>'; } $strCustVals .= ' '.$row->$colName; } } $orderStatus = stripslashes($row->CodeStatus); if($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->CodeStatusId == '1') $orderStatus = 'Processing'; $orderCode = html_entity_decode(stripslashes($row->Code)); switch ($row->StatusId) { case "1": $class = 'warning'; break; case "2": $class = 'success'; break; case "3": $class = 'danger'; break; case "4": $class = 'info'; break; } $dates=explode(' ',$row->RequestedAt); $data.='<tr> <td class="Order" style="display: none"> <a class="fancybox fancybox.ajax" href="'.base_url().'page/sodetail?id='.$row->LogRequestId.'" title="Order Details"><i class="fa fa-plus"></i>'.$row->LogRequestId.'</a> </td>'; $strData = ''; if ($row->HiddenStatus == '1' && $row->CodeSentToOtherServer == '0' && $row->OrderAPIId > 0 && $row->StatusId == '1') $orderStatus = 'Processing'; $sC=''; if($strCustVals == '') { $sC='-';}else{$sC=$strCustVals;} $data.='<td style="white-space: normal;">'.trim($row->LogPackageTitle).'</td>'; $data.='<td class="Reply" style="display: none">'.$sC.'</td>'; $data.='<td class="Date" align="left" style="display: none">'.$dates[0] .'</td>'; $data.='<td class="Credits" align="left" style="display: none">'.$row->Credits.'</td>'; $data.='<td align="left" nowrap>'; $status_class=''; switch ($orderStatus) { case "Pending": $status_class='pending'; break; case "Completed": $status_class='complete'; break; case "Rejected": $status_class='reject'; break; case "In Process": $status_class='inprocess'; break; echo $status_class; } if($orderCode == ''){ $orderCode= '-'; }else{ $orderCode = substr($orderCode, 0, 50); } $data.='<div class="'.$status_class.'">'.$orderStatus.'</div></td>'; $data.='<td style="white-space: normal;"align="left">'.$orderCode.'</td>'; $data.='<td class="Action" valign="middle" style="display: none">'; if($row->VerifyOrders == '1' && $showVerify == '1'){ if($row->CodeStatusId == 2 && $row->Verify==0) { $till = addMinutesToDtTm($row->ReplyDtTm, $row->OrderVerifyMins); $strData = daysHoursMinsDifferenceInDates($till, $currDTTM); $data.='<a class="fancybox fancybox.ajax" href="'.base_url().'page/server_orders?verify=1&CodeId='.($row->CodeId).'"><i class="fa fa-refresh"></i></a>'; if ($strData != '') echo ' Expires in<br />' . $strData; } else if ($row->Verify == 1) { $data.='<span class="badge badge-pill badge-warning">Under Verification</span>'; } else { $data.= '-'; } } else { $data.= '-'; } $data.= ' '; if($row->CancelOrders == '1' && $row->StatusId == '1' && $showCancel == '1' && $orderStatus != 'Processing') { $data.= '<a href="'.base_url().'page/server_orders?cancel=1&orderId='.$row->CodeId.'" onclick="return confirm('.$this->lang->line('CUST_LBL_230').')"><i class="fa icon-trash" data-toggle="tooltip" data-placement="top" title="Delete"></i></a>'; } else $data.= '-'; $data.= '</td>'; $data.= '<td class="View" style="display: none">'; $data.= '<a class="fancybox fancybox.ajax" title="Order Details" href="'.base_url().'page/sodetail?id='.$row->LogRequestId.'"><i class="fa icon-eye"></i> </a>'; $data.= '</td>'; $data.= '<td class="CheckBox" style="display: none">'; $data.= '<input type="checkbox" class="chkSelect" id="chkCodes'.$i.'" name="chkCodes[]" value="'.$row->LogRequestId.'">'; $data.= '</td>'; $data.= '</tr>'; $i++; } } else { $data.='<tr><td colspan="8">'.$this->lang->line('CUST_LBL_10').'</td></tr>'; } echo $data; exit; } public function downloadSOrders() { $ids = isset($_REQUEST['ids']) ? check_input($_REQUEST['ids']) : 0; $strIMEIs = ''; $strCustomCols = ''; $colIndex = 1; $CUST_COL_LBL = array(); $rsFields = $this->db->query("SELECT FieldLabel, FieldColName FROM tbl_gf_custom_fields WHERE ServiceType = 2 ORDER BY FieldLabel")->result(); foreach ($rsFields as $row) { $strCustomCols .= ', ' . $row->FieldColName . ' AS Col' . $colIndex; $CUST_COL_LBL['Col' . $colIndex] = $row->FieldLabel; $colIndex++; } $rsData = $this->db->query("SELECT A.LogPackageId, LogPackageTitle $strCustomCols FROM tbl_gf_log_requests A, tbl_gf_log_packages B WHERE A.LogPackageId = B.LogPackageId AND LogRequestId IN ($ids) ORDER BY PackOrderBy, LogPackageTitle, LogRequestId DESC")->result(); $prevPackId = 0; foreach ($rsData as $row) { if ($prevPackId > 0) { if ($row->LogPackageId != $prevPackId) { $strIMEIs .= "\r\n\r\n================================================================\r\nService: " . $row->LogPackageTitle . "\r\n================================================================\r\n"; } } else { $strIMEIs .= "================================================================\r\nService: " . $row->LogPackageTitle . "\r\n================================================================\r\n"; } if ($row->Code != '') $strIMEIs .= ' ' . $row->Code; for ($i = 1; $i < $colIndex; $i++) { $colName = 'Col' . $i; if (isset($row->$colName) && $row->$colName != '') { if (isset($CUST_COL_LBL[$colName]) && $CUST_COL_LBL[$colName] != '') $strIMEIs .= ' ' . $CUST_COL_LBL[$colName] . ':'; $strIMEIs .= ' ' . $row->$colName; } } $strIMEIs .= "\r\n"; $prevPackId = $row->LogPackageId; } if ($strIMEIs != '') { $fileName = rand(100000000, 999999999); $myFile = "imeifiles/$fileName.txt"; $fh = fopen($myFile, 'w') or die("can't open file"); fwrite($fh, $strIMEIs); fclose($fh); $file = 'imeifiles/' . $fileName . '.txt'; $strData = ''; $fh = fopen($file, 'r'); $strData = fread($fh, filesize($file)); fclose($fh); header("Pragma: public"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Content-Disposition: attachment; filename="' . $fileName . '.txt"'); echo $strData; } exit; } public function exportserverorders() { $strWhere = ''; $ids = $this->input->post_get('ids') ?: ''; if ($ids != '') $strWhere = " AND LogRequestId IN ($ids)"; $rs = $this->User_model->get_log_request_packages_status_by_ids($strWhere); $str .= "Package,Credits,Username,Serial No.,Box Username,Status,Code,Date\n"; foreach ($rs as $row) { $code = str_replace('<br />', '', $row->Code); $myCode = ''; $arrCodes = explode("\n", $code); for ($j = 0; $j < sizeof($arrCodes); $j++) { $value = trim($arrCodes[$j]); if ($value != '') { if ($myCode == '') $myCode = $value; else $myCode .= ' - ' . $value; } } $str .= $row->LogPackageTitle . ","; $str .= $row->Credits . ","; $str .= $row->SUsername . ","; $str .= $row->SerialNo . ","; $str .= $row->BoxUserName . ","; $str .= $row->CodeStatus . ","; $str .= $myCode . ","; $str .= $row->RequestedAt . "\n"; } header("Pragma: public"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Content-Disposition: attachment; filename="LogRequests-' . date('Y-m-d H m s') . '.csv"'); print($str); } public function downloadIMEIs() { $ids = $this->input->post_get('ids') ?: 0; $strIMEIs = ''; $this->User_model->update_download($ids); $strCustomCols = ''; $colIndex = 1; $rsFields = $this->User_model->get_field_col(); foreach ($rsFields as $row) { $strCustomCols .= ', ' . $row->FieldColName . ' AS Col' . $colIndex; $colIndex++; } $rsData = $this->User_model->fetch_code_package_by_ids($strCustomCols, $ids); $prevPackId = 0; foreach ($rsData as $row) { if ($prevPackId > 0) { if ($row->PackageId != $prevPackId) { $strIMEIs .= "\r\n\r\n================================================================\r\nService: " . $row->PackageTitle . "\r\n================================================================\r\n"; } } else { $strIMEIs .= "================================================================\r\nService: " . $row->PackageTitle . "\r\n================================================================\r\n"; } if ($row->IMEINo != '') $strIMEIs .= $row->IMEINo; if ($row->Code != '') $strIMEIs .= ' ' . $row->Code; for ($i = 1; $i < $colIndex; $i++) { $colName = 'Col' . $i; if (isset($row->$colName) && $row->$colName != '') $strIMEIs .= ' ' . $row->$colName; } $strIMEIs .= "\r\n"; $prevPackId = $row->PackageId; } if ($strIMEIs != '') { $fileName = rand(100000000, 999999999); $myFile = FCPATH . "imeifiles/$fileName.txt"; $fh = fopen($myFile, 'w') or die("can't open file"); fwrite($fh, $strIMEIs); fclose($fh); $file = FCPATH . 'imeifiles/' . $fileName . '.txt'; $strData = ''; $fh = fopen($file, 'r'); $strData = fread($fh, filesize($file)); fclose($fh); header("Pragma: public"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Content-Disposition: attachment; filename="' . $fileName . '.txt"'); echo $strData; exit; } } public function iodetail() { $id = $this->input->post_get('id') ?: 0; $cr = $this->input->post_get('cr') ?: ''; if ($id > 0) { $this->data['id'] = $id; $row = $this->User_model->get_code_data($id); if (isset($row->PackageTitle) && $row->PackageTitle != '') { $modelNo = $row->ModelNo == '' ? $row->Model : $row->ModelNo; $this->data['imeiNo'] = $row->IMEINo; $this->data['code'] = $row->Code == '' ? '-' : stripslashes($row->Code); $this->data['pckTitle']=$pckTitle = stripslashes($row->PackageTitle); $this->data['credits'] = $row->Credits; $this->data['comments'] = stripslashes($row->Comments1); $this->data['notes'] = stripslashes($row->Comments); $this->data['oDate'] = $row->RequestedAt; $this->data['replyDtTm'] = $row->ReplyDtTm == '' ? '-' : $row->ReplyDtTm; $serialNo = $row->SerialNo; $other = $row->OtherValue; $prd = $row->PRD; } $rwCurr = $this->User_model->get_user_data(); if (isset($rwCurr->CurrencyAbb) && $rwCurr->CurrencyAbb != '') $this->data['curr'] = $rwCurr->CurrencyAbb; $this->data['rsFields'] = $this->User_model->get_custom_field(); } $this->load->view('iodetail', $this->data); } public function verifyorder() { $id = $this->input->post_get('id') ? check_input($this->input->post_get('id'), $this->db->conn_id) : 0; $sc = $this->input->post_get('sc') ? check_input($this->input->post_get('sc'), $this->db->conn_id) : 0; $canVerify = false; if($id > 0) { switch($sc) { case '0': // IMEI Orders $tblOrders = 'tbl_gf_codes'; $tblPckName = 'tbl_gf_packages'; $idCol = 'CodeId'; $colId = 'PackageId'; $heading = 'IMEI Order'; break; case '1': // File Orders $tblOrders = 'tbl_gf_codes_slbf'; $tblPckName = 'tbl_gf_packages'; $idCol = 'CodeId'; $colId = 'PackageId'; $heading = 'File Order'; break; case '2': // Server Orders $tblOrders = 'tbl_gf_log_requests'; $tblPckName = 'tbl_gf_log_packages'; $idCol = 'LogRequestId'; $colId = 'LogPackageId'; $heading = 'Server Order'; break; } $row = $this->db->query("SELECT ReplyDtTm, OrderVerifyMins FROM $tblOrders A, $tblPckName B WHERE A.$colId = B.$colId AND $idCol = '$id' AND VerifyOrders = '1'")->row(); if($row->ReplyDtTm != '') { $diffInMins = minutesDiffInDates($row->ReplyDtTm, $currDtTm = setDtTmWRTYourCountry()); if($diffInMins <= $row->OrderVerifyMins) { $canVerify = true; } } } $this->data['heading']='IMEI ORDER'; $this->data['id']=$id; $this->data['message']=''; $this->data['errorMsg']=''; $this->load->view('verifyorder', $this->data); } public function verifyfileorder() { $id = $this->input->post_get('id') ? check_input($this->input->post_get('id'), $this->db->conn_id) : 0; $sc = $this->input->post_get('sc') ? check_input($this->input->post_get('sc'), $this->db->conn_id) : 1; $canVerify = false; if($id > 0) { switch($sc) { case '0': // IMEI Orders $tblOrders = 'tbl_gf_codes'; $tblPckName = 'tbl_gf_packages'; $idCol = 'CodeId'; $colId = 'PackageId'; $heading = 'IMEI Order'; break; case '1': // File Orders $tblOrders = 'tbl_gf_codes_slbf'; $tblPckName = 'tbl_gf_packages'; $idCol = 'CodeId'; $colId = 'PackageId'; $heading = 'File Order'; break; case '2': // Server Orders $tblOrders = 'tbl_gf_log_requests'; $tblPckName = 'tbl_gf_log_packages'; $idCol = 'LogRequestId'; $colId = 'LogPackageId'; $heading = 'Server Order'; break; } $row = $this->db->query("SELECT ReplyDtTm, OrderVerifyMins FROM $tblOrders A, $tblPckName B WHERE A.$colId = B.$colId AND $idCol = '$id' AND VerifyOrders = '1'")->row(); if($row->ReplyDtTm != '') { $diffInMins = minutesDiffInDates($row->ReplyDtTm, $currDtTm = setDtTmWRTYourCountry()); if($diffInMins <= $row->OrderVerifyMins) { $canVerify = true; } } } $this->data['heading']='FILE ORDER'; $this->data['id']=$id; $this->data['message']=''; $this->data['errorMsg']=''; $this->load->view('verifyfileorder', $this->data); } public function verifyserverorder() { $id = $this->input->post_get('id') ? check_input($this->input->post_get('id'), $this->db->conn_id) : 0; $sc = $this->input->post_get('sc') ? check_input($this->input->post_get('sc'), $this->db->conn_id) : 2; $canVerify = false; if($id > 0) { switch($sc) { case '0': // IMEI Orders $tblOrders = 'tbl_gf_codes'; $tblPckName = 'tbl_gf_packages'; $idCol = 'CodeId'; $colId = 'PackageId'; $heading = 'IMEI Order'; break; case '1': // File Orders $tblOrders = 'tbl_gf_codes_slbf'; $tblPckName = 'tbl_gf_packages'; $idCol = 'CodeId'; $colId = 'PackageId'; $heading = 'File Order'; break; case '2': // Server Orders $tblOrders = 'tbl_gf_log_requests'; $tblPckName = 'tbl_gf_log_packages'; $idCol = 'LogRequestId'; $colId = 'LogPackageId'; $heading = 'Server Order'; break; } $row = $this->db->query("SELECT ReplyDtTm, OrderVerifyMins FROM $tblOrders A, $tblPckName B WHERE A.$colId = B.$colId AND $idCol = '$id' AND VerifyOrders = '1'")->row(); if($row->ReplyDtTm != '') { $diffInMins = minutesDiffInDates($row->ReplyDtTm, $currDtTm = setDtTmWRTYourCountry()); if($diffInMins <= $row->OrderVerifyMins) { $canVerify = true; } } } $this->data['heading']='IMEI ORDER'; $this->data['id']=$id; $this->data['message']=''; $this->data['errorMsg']=''; $this->load->view('verifyserverorder', $this->data); } public function fodetail() { $id = $this->input->post_get('id') ?: 0; if ($id > 0) { $row = $this->User_model->get_slbf_and_packages($id); if (isset($row->PackageTitle) && $row->PackageTitle != '') { $this->data['imeiNo'] = $row->IMEINo; $this->data['notes'] = stripslashes($row->Comments); $this->data['oDate'] = $row->RequestedAt; $this->data['replyDtTm'] = $row->ReplyDtTm == '' ? '-' : $row->ReplyDtTm; $this->data['code'] = $row->Code == '' ? '-' : stripslashes($row->Code); $this->data['pckTitle']=$pckTitle = stripslashes($row->PackageTitle); $this->data['credits'] = $row->Credits; $this->data['comments'] = stripslashes($row->Comments1); } $rwCurr = $this->User_model->get_currency_by_id(); if (isset($rwCurr->CurrencyAbb) && $rwCurr->CurrencyAbb != '') $this->data['curr'] = $rwCurr->CurrencyAbb; } $this->data['id'] = $id; $this->load->view('fodetail', $this->data); } public function sodetail() { $id = $this->input->post_get('id') ?: 0; $cr = $this->input->post_get('cr') ?: ''; if ($id > 0) { $row = $this->User_model->get_log_request_and_packages($id); if (isset($row->LogPackageTitle) && $row->LogPackageTitle != '') { $this->data['uName'] = stripslashes($row->SUsername); $this->data['boxUN'] = stripslashes($row->BoxUserName); $this->data['serial'] = stripslashes($row->SerialNo); $this->data['pckTitle'] = stripslashes($row->LogPackageTitle); $this->data['code'] = $row->Code == '' ? '-' : stripslashes($row->Code); $this->data['credits'] = $row->Credits; $this->data['comments'] = stripslashes($row->Comments1); $this->data['notes'] = stripslashes($row->Comments); $this->data['oDate'] = $row->RequestedAt; $this->data['replyDtTm'] = $row->ReplyDtTm == '' ? '-' : $row->ReplyDtTm; } $rwCurr = $this->User_model->get_currency_by_id(); if (isset($rwCurr->CurrencyAbb) && $rwCurr->CurrencyAbb != '') $this->data['curr'] = $rwCurr->CurrencyAbb; $this->data['rsFields'] = $this->User_model->get_custom_field_by_servicetype(); } $this->data['id'] = $id; $this->load->view('sodetail', $this->data); } public function login_security() { $errorMsg = ''; $this->data['message'] = ''; $id = $this->input->post_get('id') ?: '0'; if ($id != '0') { $this->User_model->delete_user_login_countries($id); $this->data['message'] = 'Country has been removed from the list!'; } if (($this->input->post('countryId'))) { if ($this->input->post('countryId') != '0' && $this->input->post('countryId') != '') { $iso = $this->input->post('countryId'); $this->User_model->delete_user_login_countries($iso); $this->User_model->insert_user_country_login($iso); $this->data['message'] = 'Country has been added into your login countries list!'; } else { $this->data['message'] = 'Please select a country!'; } } $this->data['rsCntrs'] = $this->User_model->get_countries(); $this->data['view'] = 'login_security'; $this->load->view('layouts/default', $this->data); } public function changepassword() { $errorMsg = $message = ''; if ($this->input->post('txtOldPass')) { $oldPassword = $this->input->post('txtOldPass'); $password = $this->input->post('txtNewPass'); $confirmPassword = $this->input->post('txtConfirmPass'); //$errorMsg = $objForm->password_validation($password, 2, 'New Password'); //$errorMsg .= $objForm->password_validation($confirmPassword, 2, 'Confirm Password'); if ($errorMsg == '') { $dtTm = setDtTmWRTYourCountry(); if ($confirmPassword == $password) { $row = $this->User_model->get_userpassword(); if (isset($row->UserPassword) && $row->UserPassword != '') { if (isPasswordOK($oldPassword, $row->UserPassword)) { $encryptedPass = bFEncrypt($password); $this->User_model->update_userpassword($encryptedPass, $dtTm); $message = $this->lang->line('CUST_LBL_42'); } else $message = $this->lang->line('CUST_LBL_43'); } else $message = $this->lang->line('CUST_LBL_43'); } else $message = $this->lang->line('CUST_LBL_44'); } } $this->data['errorMsg'] = ''; $this->data['message'] = $message; $this->data['view'] = 'change_password'; $this->load->view('layouts/default', $this->data); } public function myprofile() { $message = $errorMsg = ''; $loginVerification = 0; $USER_VALUES = array(); if ($this->input->post('txtFName')) { $firstName = $this->input->post("txtFName") ?: ''; $lastName = $this->input->post("txtLName") ?: ''; $phone = $this->input->post("txtPhone") ?: ''; $countryId = $this->input->post("countryId") ?: ''; $lang = $this->input->post("language") ?: ''; $subscribe = $this->input->post("chkSubscribe") ? '1' : '0'; $loginVerification = $this->input->post('chkLoginVerification') ? 1 : 0; $cPanel = $this->input->post("cPanel") ?: '0'; $ttlFields = $this->input->post("totalRegFields") ?: '0'; $errorMsg .= name_validation($firstName, $this->lang->line('CUST_ACC_2')); $errorMsg .= name_validation($lastName, $this->lang->line('CUST_ACC_3')); if ($phone == '') $errorMsg .= $this->lang->line('CUST_LBL_308'); $cols = ''; for ($x = 1; $x <= $ttlFields; $x++) { $col = $this->input->post('colNm' . $x) ?: ''; if ($col != '') { $val = $this->input->post('fld' . $x) ?: ''; $cols .= ", $col = '$val'"; $isMandatory = $this->input->post('mndtry' . $x) ?: '0'; if ($isMandatory == '1' && $val == '') $errorMsg .= "Value for " . $this->input->post('lbl' . $x) . " can not be empty.<br />"; } } if (trim($errorMsg) == '') { $dtTm = setDtTmWRTYourCountry(); $strThemeColor = ''; if ($this->input->post('themeColor')) { $themeColor = $this->input->post("themeColor"); $strThemeColor = ", ThemeColor = '$themeColor'"; } $this->User_model->update_userprofiledata($firstName, $lastName, $phone, $countryId, $dtTm, $lang, $subscribe, $loginVerification, $cPanel, $strThemeColor, $cols); $this->session->set_userdata('UserFullName', stripslashes($firstName) . ' ' . stripslashes($lastName)); $this->session->set_userdata('UserFName', stripslashes($firstName)); $this->session->set_userdata('LANGUAGE', $lang); $message = $this->lang->line('CUST_GEN_MSG'); if ($this->input->post('themeColor') || $this->input->post('olderPanel') != $cPanel) { /*redirect(base_url('dashboard'));*/ $this->data['message'] = $message; } } } if ($this->session->userdata('GSM_FUS_UserId') > 0) { $row = $this->User_model->get_all_userdata(); if (isset($row->UserEmail) && $row->UserEmail != '') { $email = $row->UserEmail; $this->data['fName'] = stripslashes($row->FirstName); $this->data['lName'] = stripslashes($row->LastName); $this->data['phone'] = stripslashes($row->Phone); $this->data['countryId'] = $row->CountryId; $this->data['lang'] = $row->UserLang; $this->data['subscribed'] = $row->Subscribed; $this->data['themeColor'] = $row->ThemeColor; $this->data['loginVerification'] = $row->TwoStepVerification; $this->data['cPanel'] = $row->CPanel; $this->data['rsCols'] = $this->User_model->get_registration_fields(); foreach ($this->data['rsCols'] as $rw) { $colName = $rw->FieldColName; $USER_VALUES[$colName] = $row->$colName; } } } $this->data['USER_VALUES'] = $USER_VALUES; $this->data['errorMsg'] = $errorMsg; $this->data['message'] = $message; $this->data['rsFields'] = $this->User_model->get_registration_fields(); $this->data['totalFields'] = count($this->data['rsFields']); $this->data['view'] = 'my_profile'; $this->load->view('layouts/default', $this->data); } public function ticketdtls() { if (($this->input->post('tcktId'))) $tcktId = check_input($this->input->post('tcktId'), $this->db->conn_id); $cldFrm = ($this->input->post('cldFrm')) ? check_input($this->input->post('cldFrm'), $this->db->conn_id) : 0; $row = $this->db->query("SELECT DepartmentId, CategoryId, PriorityId, TicketNo, Subject, Name, Email, UserId, TcktCategory, DtTm, DeptName FROM tbl_gf_tickets A, tbl_gf_tckt_dept B, tbl_gf_tckt_category E WHERE A.DepartmentId = B.DeptId AND A.CategoryId = E.TcktCategoryId AND TicketId = '$tcktId'")->row(); if (isset($row->TicketNo) && $row->TicketNo != '') { $dId = $row->DepartmentId; $cId = $row->CategoryId; $pId = $row->PriorityId; $tcktNo = $row->TicketNo; $subject = stripslashes($row->Subject); $name = stripslashes($row->Name); $email = $row->Email; $userId = $row->UserId; $category = stripslashes($row->TcktCategory); $department = stripslashes($row->DeptName); $dt = $row->DtTm; } if (($this->input->post('btnReply')) && $cldFrm == '1') { $message = ($this->input->post('txtReply')) ? check_input($this->input->post('txtReply'), $this->db->conn_id) : ''; if (trim($message) == '') { $strColor = 'color:red'; $msg = 'Reply can not be empty!'; } else { $message = convertNextLineToBRTag($message); $dtTm = setDtTmWRTYourCountry(); $ip = $_SERVER['REMOTE_ADDR']; $this->db->query("INSERT INTO tbl_gf_tickets (TicketNo, UserId, DepartmentId, CategoryId, PriorityId, Name, Email, Subject, Message, DtTm, IP, StatusId, AId, ReadByAdmin, ByAdmin) VALUES ('$tcktNo', '$userId', '$dId', '$cId', '$pId', '$name', '$email', '$subject', '$message', '$dtTm', '$ip', '4', '1', 0, 0)"); create_push_notification($_SESSION['GSM_FUS_UserId'], 'Your ticket has been replied!'); $TICKET_ID = $this->db->insert_id(); $this->db->query("UPDATE tbl_gf_tickets SET StatusId = '4', ReadByAdmin = 0 WHERE TicketNo = '$tcktNo'"); ticketDetailsEmail($TICKET_ID, '2'); $msg = $this->lang->line('CUST_GEN_MSG'); } } else if (($this->input->post('btnClose')) && $cldFrm == '2') { $this->db->query("UPDATE tbl_gf_tickets SET StatusId = '2', ReadByAdmin = 0 WHERE TicketNo = '$tcktNo'"); create_push_notification($_SESSION['GSM_FUS_UserId'], 'Your ticket has been closed!'); $msg = $this->lang->line('CUST_GEN_MSG'); } $rsTckts = $this->db->query("SELECT TicketId, Name, F.UserName, CONCAT(F.FirstName, ' ', F.LastName) AS ClientName, A.StatusId, Message, DtTm, A.IP, TcktStatus, ByAdmin FROM tbl_gf_tckt_status B, tbl_gf_tickets A LEFT JOIN tbl_gf_users F ON (A.UserId = F.UserId) WHERE A.StatusId = B.TcktStatusId UserId = '" . $_SESSION['GSM_FUS_UserId'] . "' AND TicketNo = '$tcktNo' ORDER BY TicketId DESC")->row(); $totalReplies = count($rsTckts); $rwTS = $this->db->query("SELECT A.StatusId, TcktStatus FROM tbl_gf_tckt_status B, tbl_gf_tickets A WHERE A.StatusId = B.TcktStatusId AND TicketNo = '$tcktNo' AND UserId = '" . $_SESSION['GSM_FUS_UserId'] . "' ORDER BY TicketId DESC")->row(); if (isset($rwTS->StatusId) && $rwTS->StatusId > 0) { $statusId = $rwTS->StatusId; $status = $rwTS->TcktStatus; } } function allnews($newsId = 0){ $this->load->model('Miscellaneous_model'); $rsNews = $this->Miscellaneous_model->getAllNews(0); $rwUN = $this->Miscellaneous_model->getChangesNews(); $news = array_merge($rsNews,$rwUN); $this->data['news'] = $news; $this->data['view'] = 'all_news'; $this->data['newsId'] = $newsId; $this->load->view('layouts/default', $this->data); } public function getUserKey() { $userId = $this->session->userdata('GSM_FUS_UserId'); $row = $this->Clients_model->fetch_user_by_id($userId); if (isset($row->AllowAPI)) { $apiAllow = $row->AllowAPI; if($row->APIKey) $apiKey = theString_Decrypt($row->APIKey); echo json_encode(array( 'API' => $apiKey)); } else { echo json_encode(array( 'API' => 'Not Available')); } } public function searchServersNew(){ $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID =$this->session->userdata('GSM_FUS_UserId'); $MY_CURRENCY_ID=$this->data['userDetails']->CurrencyId; $CONVERSION_RATE = 1; //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price FROM tbl_gf_users_log_packages_prices WHERE UserId = '$USER_ID'")->result(); foreach($rsPackPrices as $row ) { $PACK_PRICES_USER[$row->LogPackageId] = cleanRoundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->db->query("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'")->row(); if(isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '2'")->result(); foreach($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = cleanRoundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '2' AND UserId = '$USER_ID'")->result(); foreach($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = cleanRoundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price, LogPackagePrice FROM tbl_gf_log_packages A LEFT JOIN tbl_gf_log_packages_currencies B ON (A.LogPackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID')")->result(); foreach($rsPackPrices as $row) { if($row->Price == '') $PACK_PRICES_BASE[$row->LogPackageId] = cleanRoundMe($row->LogPackagePrice * $CONVERSION_RATE); else $PACK_PRICES_BASE[$row->LogPackageId] = cleanRoundMe($row->Price); } // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId'), 2); $strPackIds = array(); $txt = $this->input->post('text'); $rsPackages = search_get_log_rsPackages($strPackIds,$txt); $prevCatId = 0; $data = '<option value="">Select Service</option>'; /*$this->data['PACK_PRICES_BASE']*/ foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_USER[$row->PackageId]); else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_PLAN[$row->PackageId]); else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_BASE[$row->PackageId]); } if($myPackPrice < cleanRoundMe($PACK_PRICES_BASE[$row->PackageId])) $changeBGColor = 'class="discount_text"'; if($prevCatId > 0)//ahmed_new_wo { if($row->CategoryId != $prevCatId){ $data.='<optgroup label="'.stripslashes($row->Category).'">'; } } else $data.='<optgroup label="'.stripslashes($row->Category).'">'; $data.='<option details2="'.$myPackPrice.'" value="'.$row->PackageId.'" title="'.$row->PackageId.'"> '.stripslashes($row->LogPackageTitle).' - '.stripslashes($row->DeliveryTime).' - '.$myPackPrice.'</option>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</optgroup>'; } }else{ $data.='</optgroup>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchFileServerNew(){ // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId') , 0); $strPackIds = array(); $id = $this->input->post('text'); $rsPackages = get_searchfilePackages($strPackIds,$id); $data = '<option value="">Select Service</option>'; $prevCatId = 0; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 1; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } /*if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"';*///offset here e if($prevCatId > 0)//ahmed_new { if($row->CategoryId != $prevCatId){ $data.='<optgroup label="'.stripslashes($row->Category).'">'; } } else $data.='<optgroup label="'.stripslashes($row->Category).'">'; $data.='<option value="'.$row->PackageId.'" title="'.$row->PackageId.'"> '.stripslashes($row->PackageTitle).' - '.stripslashes($row->TimeTaken).' - '.$myPackPrice.'</option>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</optgroup>'; } }else{ $data.='</optgroup>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchAllServersNew(){ $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID =$this->session->userdata('GSM_FUS_UserId'); $MY_CURRENCY_ID=$this->data['userDetails']->CurrencyId; $CONVERSION_RATE = 1; //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price FROM tbl_gf_users_log_packages_prices WHERE UserId = '$USER_ID'")->result(); foreach($rsPackPrices as $row ) { $PACK_PRICES_USER[$row->LogPackageId] = cleanRoundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->db->query("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'")->row(); if(isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '2'")->result(); foreach($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = cleanRoundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '2' AND UserId = '$USER_ID'")->result(); foreach($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = cleanRoundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price, LogPackagePrice FROM tbl_gf_log_packages A LEFT JOIN tbl_gf_log_packages_currencies B ON (A.LogPackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID')")->result(); foreach($rsPackPrices as $row) { if($row->Price == '') $PACK_PRICES_BASE[$row->LogPackageId] = cleanRoundMe($row->LogPackagePrice * $CONVERSION_RATE); else $PACK_PRICES_BASE[$row->LogPackageId] = cleanRoundMe($row->Price); } // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId'), 2); $rsPackages = get_log_rsPackages(); $prevCatId = 0; $data = '<option value="">Select Service</option>'; /*$this->data['PACK_PRICES_BASE']*/ foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_USER[$row->PackageId]); else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_PLAN[$row->PackageId]); else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_BASE[$row->PackageId]); } if($myPackPrice < cleanRoundMe($PACK_PRICES_BASE[$row->PackageId])) $changeBGColor = 'class="discount_text"'; if($prevCatId > 0)//ahmed_new_wo { if($row->CategoryId != $prevCatId){ $data.='<optgroup label="'.stripslashes($row->Category).'">'; } } else $data.='<optgroup label="'.stripslashes($row->Category).'">'; $data.='<option details2="'.$myPackPrice.'" value="'.$row->PackageId.'" title="'.$row->PackageId.'"> '.stripslashes($row->LogPackageTitle).' - '.stripslashes($row->DeliveryTime).' - '.$myPackPrice.'</option>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</optgroup>'; } }else{ $data.='</optgroup>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchIMEIServicesNew(){ $txt = $this->input->post('text'); $rsPackages = $this->User_model->search_get_imei_services($txt); $MY_CURRENCY_ID = $this->data["userDetails"]->CurrencyId; $imei_data = array(); $IMEI_TYPE = '0'; $this->data['mustRead'] = ''; $imeiOption = '1'; $categoryId = $this->input->post('categoryId') ?: 0; $myNetworkId = $this->input->post('packageId') ?: 0; $this->data['myNetworkId'] = $this->input->post('packageId') ?: 0; $csrfTkn = $this->input->post('csrfToken') ?: ''; $this->data['altEmail'] = $this->input->post("txtAltEmail") ?: ''; if ($this->input->post("rdIMEIType")) { $imeiOption = $this->input->post("rdIMEIType"); } $this->data['imei'] = $this->input->post("txtIMEI") ?: ''; $this->data['multiIMEIs'] = $this->input->post("imei") ?: ''; $this->data['notes'] = $this->input->post("txtNotes") ?: ''; $this->data['comments'] = $this->input->post("txtComments") ?: ''; $errorMsg = ''; $this->data['lastDgt'] = $this->input->post("txtIMEILastDigit") ?: ''; $msg = $this->input->post("msg") ?: ''; $this->data['imeiMxLn'] = '15';//maxlength $imeiCls = 'input70pc'; $this->data['message'] = ''; if ($this->data['settings']->CheckSumIMEI == '1') { $this->data['imeiMxLn'] = '14'; $imeiCls = 'input60pc'; } if ($imeiOption == '1') $this->data['multiIMEIs'] = ''; else if ($imeiOption == '2') $imei = ''; $this->data['cldFrm'] = $this->input->post("cldFrm") ?: 0; $this->data['cldFm'] = $this->input->post("cldFm") ?: 0; $this->data['isError'] = 0; $this->data['ORDER_COMPLETED'] = '1'; if ($this->input->post('packageId') && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->data['cldFrm'] == '2') { $cols_cfields = $vals_cfields = $historyData = ''; $ttlFields = $this->input->post("totalCustomFields") ?: '0'; for ($x = 1; $x <= $ttlFields; $x++) { $col = $this->input->post('colNm' . $x) ?: ''; if ($col != '') { $cols_cfields .= ", $col"; $val = $this->input->post('fld' . $x) ?: ''; $vals_cfields .= ", '$val'"; $isMandatory = $this->input->post('mndtry' . $x) ?: '0'; $chkRestriction = $this->input->post('rstrctn' . $x) ?: '0'; if ($isMandatory == '1' && $val == '') { $errorMsg .= "Value for " . $this->input->post('lbl' . $x) . " can not be empty.<br />"; } if ($chkRestriction == '1') // DIGITS ONLY { $errorMsg .= digits_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '2') // CHARACTERS ONLY { $errorMsg .= characters_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '3') // DIGITS & CHARACTERS ONLY { $errorMsg .= validateAlphabetsAndDigits($val, $this->input->post('lbl' . $x)); } if ($historyData != '') { $historyData .= '<br />'; } $historyData .= $this->input->post('lbl' . $x) . ": " . $val; } } if ($this->input->post('hdTOC') == '1')// I terms and conditions check is mandatory { if (!$this->input->post('chkTOC')) $errorMsg .= "Click on Agree with Terms Of Services.<br /><br />"; } if (trim($errorMsg) == '') { if ($this->data['userDetails']->PinCode != '') { $pinCode = $this->input->post('txtPinCode') ?: 0; $rowPC = $this->User_model->get_pincode(); if (isset($rowPC->PinCode) && $this->theString_Decrypt($rowPC->PinCode) == $pinCode && $pinCode != '' || true) { $CALLED_FROM_ORDER_PAGE = '1'; $data = array(); if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'IMEI')) { redirect(base_url('page/error')); } } $data['apiId'] = 0; $apiType = 0; $apiKey = ''; $serverURL = ''; $accountId = ''; $apiAction = ''; $responseUrl = ''; $toolForUB = ''; $packageTitle = ''; $packCostPrice = 0; $msgFromServer = ''; $ifCodeSentToServer = 0; $orderIdFromServer = ''; $toolId = ''; $DELAY_TIME = '1'; $CRON_DELAY_TIME = '1'; $NEW_ORDER_EMAILS = ''; $IMEI_F_TYPE = $this->input->post('imeiFType') ?: '0'; $PRE_ORDER = $this->input->post('hdPreOrder') ?: '0'; $mepId = ''; $mepValue = ''; $modelId = ''; $modelValue = ''; $serialNo = ''; $modelValueToShow = ''; $apiName = ''; $IMEI_SERIES = ''; $mobileId = 0; $rsPackTitle = $this->User_model->get_package_data($myNetworkId); if (isset($rsPackTitle->PackageTitle) && $rsPackTitle->PackageTitle != '') { $packageTitle = stripslashes($rsPackTitle->PackageTitle); $packCostPrice = $rsPackTitle->CostPrice == '' ? 0 : $rsPackTitle->CostPrice; $SERVICE_TYPE = $rsPackTitle->ServiceType; // 0 for DATABASE, 1 for RECALCULATE $DELAY_TIME = $rsPackTitle->ResponseDelayTm == 0 ? '1' : $rsPackTitle->ResponseDelayTm; $CRON_DELAY_TIME = $rsPackTitle->CronDelayTm == 0 ? '1' : $rsPackTitle->CronDelayTm; $NEW_ORDER_EMAILS = $rsPackTitle->NewOrderEmailIDs; $IMEI_SERIES = trim($rsPackTitle->IMEISeries); } $rsAPI = $this->User_model->get_api_data($myNetworkId); if (isset($rsAPI->APIId) && $rsAPI->APIId != '') { $data['apiId'] = $rsAPI->APIId; $apiType = $rsAPI->APIType; $apiKey = $rsAPI->APIKey; $serverURL = $rsAPI->ServerURL; $accountId = $rsAPI->AccountId; $serviceId = $rsAPI->ServiceId; $apiAction = $rsAPI->APIAction; $responseUrl = $rsAPI->ResponseURL; $apiName = $rsAPI->APITitle; $extNwkId = $rsAPI->ExternalNetworkId != '' ? $rsAPI->ExternalNetworkId : 0; } if (isset($_POST['brandId']) && $_POST['brandId'] != '0') { $mobileId = $this->input->post('brandId') ?: '0'; } if ($this->input->post('modelId') && $this->input->post('modelId') != '0') { $modelId = $this->input->post('modelId') ?: '0'; $modelValueToShow = $this->input->post('mdlVal') ?: '0'; } $arrIMEIS = array(); $duplicateIMEIs = array(); $invalidIMEIs = array(); $DUP_IMEIS = array(); $ODLIMEIs = array(); $ODL_COUNTER = 0; $totalIMEIs = 0; if ($IMEI_F_TYPE == '0') { if ($this->input->post("rdIMEIType") == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); else $arrIMEIS[0] = $this->input->post("txtIMEI"); } else { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') { $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); } else { $arrIMEIS[0] = $this->input->post("txtIMEI"); } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '2') { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '3') { $mnLen = $this->input->post('customFldMinLen') ?: 0; $mxLen = $this->input->post('customFldMaxLen') ?: 0; $custFldRes = $this->input->post('custFldRstrctn') ?: 0; $arrCustomData = explode("\n", $this->input->post("txtCustomFld")); $r = 0; $rr = 0; $arrTEMP = array(); foreach ($arrCustomData as $v) { $IS_VALID = true; $arrValue = trim($v); $strCustError = ''; if ($mnLen != 0 && $mnLen != '') { if (strlen($arrValue) < $mnLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } if ($mxLen != 0) { if (strlen($arrValue) > $mxLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } // CHECK IF THERE IS ANY RESTRICTION AT CUSTOM FIELD. $strCustError = checkCustomFieldRestriction($custFldRes, $arrValue); if ($strCustError != '') { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } if ($IS_VALID) $arrIMEIS[$r] = $arrValue; $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } $personalRecord = $this->input->post('txtPersonalRecord'); $phoneLockedOn = $this->input->post('txtOprName') ?: ''; $countryId = $this->input->post('countryId') ?: 0; $notes = $this->input->post('txtNotes'); $comments = $this->input->post('txtComments'); $allowDupIMEIs = $this->input->post('hdDupIMEI') ?: 0; $packagePrice = 0; $USER_ID = $_SESSION['GSM_FUS_UserId']; $packagePrice = getpackprice($myNetworkId, $MY_CURRENCY_ID, $IMEI_TYPE); $dupMsg = ''; $odlMsg = ''; $strInsertOrders = ''; $strCreditHistory = ''; $strEmailContents = ''; $strInsert = '0'; $suppPurchasePrice = '0'; $supplierId = '0'; list($suppPackId, $suppPurchasePrice, $supplierId) = ifPackIdAssignedToSupplier($myNetworkId, 0); if ($suppPackId != '0') $strInsert = '1'; $STR_IMEIS = '0'; $currDtTm = setDtTmWRTYourCountry(); for ($j = 0; $j < $totalIMEIs; $j++) { if (trim($arrIMEIS[$j]) != '') $STR_IMEIS .= ", '" . trim($arrIMEIS[$j]) . "'"; } if ($allowDupIMEIs == '0') { $rsIfExists = $this->User_model->get_codes($myNetworkId, $STR_IMEIS); foreach ($rsIfExists as $row) { $DUP_IMEIS[$row->IMEINo] = '1'; } } $rwUNC = $this->User_model->fetch_negative_user_credits(); $ALLOWNGTVCRDTS = $rwUNC->AllowNegativeCredits; $ODL = $rwUNC->OverdraftLimit; $PLACED_ORDERS_COUNT = 0; for ($j = 0; $j < $totalIMEIs; $j++) { $UNLOCK_CODE = ''; $strUpdate = ''; $myIMEI = trim($arrIMEIS[$j]); $allowIMEIEntry = true; if (isset($DUP_IMEIS[$myIMEI]) && $DUP_IMEIS[$myIMEI] == '1') { $allowIMEIEntry = false; if ($dupMsg == '') $dupMsg = $myIMEI; else $dupMsg .= 'LB ' . $myIMEI; } if ($allowIMEIEntry && trim($myIMEI) != '') { //$PLACED_ORDERS_COUNT++; if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $myCredits = $this->data['userDetails']->Credits; //$myCredits = number_format($myCredits, 2, '.', ''); if ($myCredits == '') $myCredits = 0; $finalCr = $myCredits - $packagePrice; if ($finalCr < 0) { if ($ALLOWNGTVCRDTS == '0') { $message = $this->lang->line('CUST_CODE_MSG2'); } else if ($ALLOWNGTVCRDTS == '1') { $REMAINING_CREDITS = abs($finalCr); if ($REMAINING_CREDITS <= $ODL) { // check limit if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } else { $ODLIMEIs[$ODL_COUNTER++] = $myIMEI; if ($odlMsg == '') $odlMsg = $myIMEI; else $odlMsg .= 'LB ' . $myIMEI; //$message = $CUST_CODE_MSG2; } } } else { if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } } } } if ($strInsertOrders != '' && $strCreditHistory != '') { $this->User_model->add_codes_data($strInsertOrders, $cols_cfields); create_push_notification($this->session->userdata('GSM_FUS_UserId'), 'New IMEI Order has been placed!', 'page/imei_orders'); $this->User_model->update_user_credits($encryptedCredits); $this->User_model->add_credit_history_iemi($strCreditHistory); } if ($strEmailContents != '' && $this->data['settings']->SendNewIMEIOrderEmail == '1') { newIMEIOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserName'), $packageTitle, $strEmailContents, '', $packagePrice, $finalCr, $currDtTm, $myNetworkId, $altEmail, $NEW_ORDER_EMAILS, $notes); } if ($PLACED_ORDERS_COUNT > 0) $message = "ThankSPyouSPforSPplacingSP($PLACED_ORDERS_COUNT)SPIMEISPorders."; if ($dupMsg != '') { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData:SPLB$dupMsg"; } if ($dupMsg == '' && (sizeof($duplicateIMEIs) > 0 || sizeof($invalidIMEIs) > 0)) { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData: "; } if ($odlMsg != '' && sizeof($ODLIMEIs) > 0) { $ORDER_COMPLETED = 0; $message .= "LBLBYourSPOverdraftSPLimitSPhasSPbeenSPfinishedSPforSPIMEI(s): "; } foreach ($duplicateIMEIs as $dupVal) { if ($dupVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$dupVal"; } } foreach ($invalidIMEIs as $imeiVal) { if ($imeiVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$imeiVal"; } } foreach ($ODLIMEIs as $oldIMEI) { if ($oldIMEI != '') { $ORDER_COMPLETED = 0; $message .= "LB$oldIMEI"; } } $data['message'] = $message; } else { echo "here"; //redirect(base_url('dashboard')); } $imei_data = $data; $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } else { $this->data['message'] = $this->lang->line('CUST_LBL_179'); $msg = $this->lang->line('CUST_LBL_179'); $this->data['isError'] = 1; } } else { $CALLED_FROM_ORDER_PAGE = '1'; $imei_data = submit_imei_order($myNetworkId, $IMEI_TYPE, $this->data['userDetails']->CurrencyId, $CALLED_FROM_ORDER_PAGE, $historyData, $this->data['altEmail'], $vals_cfields, $this->data['userDetails']->CurrencyAbb, $cols_cfields); $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } } else $this->data['ORDER_COMPLETED'] = 0; } } $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID = $this->session->userdata('GSM_FUS_UserId'); /**/ $sType = 0; $rsIds = $this->User_model->selectData("SELECT PackageId FROM tbl_gf_packages WHERE sl3lbf = '$sType' AND DisablePackage = 0"); $strServiceIds = '0'; foreach ($rsIds as $row) { $strServiceIds .= ', ' . $row->PackageId; } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users_packages_prices WHERE UserId = '$USER_ID' AND PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { $PACK_PRICES_USER[$row->PackageId] = roundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->User_model->getRow("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'"); if (isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '$IMEI_TYPE' AND PackageId IN ($strServiceIds)"); foreach ($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '$IMEI_TYPE' AND UserId = '$USER_ID' AND PackageId IN ($strServiceIds) "); foreach ($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->User_model->selectData("SELECT A.PackageId, Price, PackagePrice FROM tbl_gf_packages A LEFT JOIN tbl_gf_packages_currencies B ON (A.PackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID') WHERE sl3lbf = '$IMEI_TYPE' AND A.PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { if ($row->Price == '') $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->PackagePrice * $this->data['userDetails']->ConversionRate); else $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->Price); } /**/ $prevCatId = 0; $data = '<option value="">Select Service</option>'; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"';//ahmed_new if($prevCatId > 0) { if($row->CategoryId != $prevCatId) $data.='<optgroup label="'.stripslashes($row->Category).'">'; } else $data.='<optgroup label="'.stripslashes($row->Category).'">'; $data.='<option value="'.$row->PackageId.'" title="'.$row->PackageId.'"> '.stripslashes($row->PackageTitle).' - '.stripslashes($row->TimeTaken).' - '.$myPackPrice.'</option>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId) { $data.='</optgroup>'; } }else{ $data.='</optgroup>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchALLIMEIServicesNEW(){ $rsPackages = $this->User_model->get_imei_services(); $MY_CURRENCY_ID = $this->data["userDetails"]->CurrencyId; $imei_data = array(); $IMEI_TYPE = '0'; $this->data['mustRead'] = ''; $imeiOption = '1'; $categoryId = $this->input->post('categoryId') ?: 0; $myNetworkId = $this->input->post('packageId') ?: 0; $this->data['myNetworkId'] = $this->input->post('packageId') ?: 0; $csrfTkn = $this->input->post('csrfToken') ?: ''; $this->data['altEmail'] = $this->input->post("txtAltEmail") ?: ''; if ($this->input->post("rdIMEIType")) { $imeiOption = $this->input->post("rdIMEIType"); } $this->data['imei'] = $this->input->post("txtIMEI") ?: ''; $this->data['multiIMEIs'] = $this->input->post("imei") ?: ''; $this->data['notes'] = $this->input->post("txtNotes") ?: ''; $this->data['comments'] = $this->input->post("txtComments") ?: ''; $errorMsg = ''; $this->data['lastDgt'] = $this->input->post("txtIMEILastDigit") ?: ''; $msg = $this->input->post("msg") ?: ''; $this->data['imeiMxLn'] = '15'; $imeiCls = 'input70pc'; $this->data['message'] = ''; if ($this->data['settings']->CheckSumIMEI == '1') { $this->data['imeiMxLn'] = '14'; $imeiCls = 'input60pc'; } if ($imeiOption == '1') $this->data['multiIMEIs'] = ''; else if ($imeiOption == '2') $imei = ''; $this->data['cldFrm'] = $this->input->post("cldFrm") ?: 0; $this->data['cldFm'] = $this->input->post("cldFm") ?: 0; $this->data['isError'] = 0; $this->data['ORDER_COMPLETED'] = '1'; if ($this->input->post('packageId') && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->data['cldFrm'] == '2') { $cols_cfields = $vals_cfields = $historyData = ''; $ttlFields = $this->input->post("totalCustomFields") ?: '0'; for ($x = 1; $x <= $ttlFields; $x++) { $col = $this->input->post('colNm' . $x) ?: ''; if ($col != '') { $cols_cfields .= ", $col"; $val = $this->input->post('fld' . $x) ?: ''; $vals_cfields .= ", '$val'"; $isMandatory = $this->input->post('mndtry' . $x) ?: '0'; $chkRestriction = $this->input->post('rstrctn' . $x) ?: '0'; if ($isMandatory == '1' && $val == '') { $errorMsg .= "Value for " . $this->input->post('lbl' . $x) . " can not be empty.<br />"; } if ($chkRestriction == '1') // DIGITS ONLY { $errorMsg .= digits_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '2') // CHARACTERS ONLY { $errorMsg .= characters_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '3') // DIGITS & CHARACTERS ONLY { $errorMsg .= validateAlphabetsAndDigits($val, $this->input->post('lbl' . $x)); } if ($historyData != '') { $historyData .= '<br />'; } $historyData .= $this->input->post('lbl' . $x) . ": " . $val; } } if ($this->input->post('hdTOC') == '1')// I terms and conditions check is mandatory { if (!$this->input->post('chkTOC')) $errorMsg .= "Click on Agree with Terms Of Services.<br /><br />"; } if (trim($errorMsg) == '') { if ($this->data['userDetails']->PinCode != '') { $pinCode = $this->input->post('txtPinCode') ?: 0; $rowPC = $this->User_model->get_pincode(); if (isset($rowPC->PinCode) && $this->theString_Decrypt($rowPC->PinCode) == $pinCode && $pinCode != '' || true) { $CALLED_FROM_ORDER_PAGE = '1'; $data = array(); if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'IMEI')) { redirect(base_url('page/error')); } } $data['apiId'] = 0; $apiType = 0; $apiKey = ''; $serverURL = ''; $accountId = ''; $apiAction = ''; $responseUrl = ''; $toolForUB = ''; $packageTitle = ''; $packCostPrice = 0; $msgFromServer = ''; $ifCodeSentToServer = 0; $orderIdFromServer = ''; $toolId = ''; $DELAY_TIME = '1'; $CRON_DELAY_TIME = '1'; $NEW_ORDER_EMAILS = ''; $IMEI_F_TYPE = $this->input->post('imeiFType') ?: '0'; $PRE_ORDER = $this->input->post('hdPreOrder') ?: '0'; $mepId = ''; $mepValue = ''; $modelId = ''; $modelValue = ''; $serialNo = ''; $modelValueToShow = ''; $apiName = ''; $IMEI_SERIES = ''; $mobileId = 0; $rsPackTitle = $this->User_model->get_package_data($myNetworkId); if (isset($rsPackTitle->PackageTitle) && $rsPackTitle->PackageTitle != '') { $packageTitle = stripslashes($rsPackTitle->PackageTitle); $packCostPrice = $rsPackTitle->CostPrice == '' ? 0 : $rsPackTitle->CostPrice; $SERVICE_TYPE = $rsPackTitle->ServiceType; // 0 for DATABASE, 1 for RECALCULATE $DELAY_TIME = $rsPackTitle->ResponseDelayTm == 0 ? '1' : $rsPackTitle->ResponseDelayTm; $CRON_DELAY_TIME = $rsPackTitle->CronDelayTm == 0 ? '1' : $rsPackTitle->CronDelayTm; $NEW_ORDER_EMAILS = $rsPackTitle->NewOrderEmailIDs; $IMEI_SERIES = trim($rsPackTitle->IMEISeries); } $rsAPI = $this->User_model->get_api_data($myNetworkId); if (isset($rsAPI->APIId) && $rsAPI->APIId != '') { $data['apiId'] = $rsAPI->APIId; $apiType = $rsAPI->APIType; $apiKey = $rsAPI->APIKey; $serverURL = $rsAPI->ServerURL; $accountId = $rsAPI->AccountId; $serviceId = $rsAPI->ServiceId; $apiAction = $rsAPI->APIAction; $responseUrl = $rsAPI->ResponseURL; $apiName = $rsAPI->APITitle; $extNwkId = $rsAPI->ExternalNetworkId != '' ? $rsAPI->ExternalNetworkId : 0; } if (isset($_POST['brandId']) && $_POST['brandId'] != '0') { $mobileId = $this->input->post('brandId') ?: '0'; } if ($this->input->post('modelId') && $this->input->post('modelId') != '0') { $modelId = $this->input->post('modelId') ?: '0'; $modelValueToShow = $this->input->post('mdlVal') ?: '0'; } $arrIMEIS = array(); $duplicateIMEIs = array(); $invalidIMEIs = array(); $DUP_IMEIS = array(); $ODLIMEIs = array(); $ODL_COUNTER = 0; $totalIMEIs = 0; if ($IMEI_F_TYPE == '0') { if ($this->input->post("rdIMEIType") == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); else $arrIMEIS[0] = $this->input->post("txtIMEI"); } else { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') { $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); } else { $arrIMEIS[0] = $this->input->post("txtIMEI"); } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '2') { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '3') { $mnLen = $this->input->post('customFldMinLen') ?: 0; $mxLen = $this->input->post('customFldMaxLen') ?: 0; $custFldRes = $this->input->post('custFldRstrctn') ?: 0; $arrCustomData = explode("\n", $this->input->post("txtCustomFld")); $r = 0; $rr = 0; $arrTEMP = array(); foreach ($arrCustomData as $v) { $IS_VALID = true; $arrValue = trim($v); $strCustError = ''; if ($mnLen != 0 && $mnLen != '') { if (strlen($arrValue) < $mnLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } if ($mxLen != 0) { if (strlen($arrValue) > $mxLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } // CHECK IF THERE IS ANY RESTRICTION AT CUSTOM FIELD. $strCustError = checkCustomFieldRestriction($custFldRes, $arrValue); if ($strCustError != '') { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } if ($IS_VALID) $arrIMEIS[$r] = $arrValue; $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } $personalRecord = $this->input->post('txtPersonalRecord'); $phoneLockedOn = $this->input->post('txtOprName') ?: ''; $countryId = $this->input->post('countryId') ?: 0; $notes = $this->input->post('txtNotes'); $comments = $this->input->post('txtComments'); $allowDupIMEIs = $this->input->post('hdDupIMEI') ?: 0; $packagePrice = 0; $USER_ID = $_SESSION['GSM_FUS_UserId']; $packagePrice = getpackprice($myNetworkId, $MY_CURRENCY_ID, $IMEI_TYPE); $dupMsg = ''; $odlMsg = ''; $strInsertOrders = ''; $strCreditHistory = ''; $strEmailContents = ''; $strInsert = '0'; $suppPurchasePrice = '0'; $supplierId = '0'; list($suppPackId, $suppPurchasePrice, $supplierId) = ifPackIdAssignedToSupplier($myNetworkId, 0); if ($suppPackId != '0') $strInsert = '1'; $STR_IMEIS = '0'; $currDtTm = setDtTmWRTYourCountry(); for ($j = 0; $j < $totalIMEIs; $j++) { if (trim($arrIMEIS[$j]) != '') $STR_IMEIS .= ", '" . trim($arrIMEIS[$j]) . "'"; } if ($allowDupIMEIs == '0') { $rsIfExists = $this->User_model->get_codes($myNetworkId, $STR_IMEIS); foreach ($rsIfExists as $row) { $DUP_IMEIS[$row->IMEINo] = '1'; } } $rwUNC = $this->User_model->fetch_negative_user_credits(); $ALLOWNGTVCRDTS = $rwUNC->AllowNegativeCredits; $ODL = $rwUNC->OverdraftLimit; $PLACED_ORDERS_COUNT = 0; for ($j = 0; $j < $totalIMEIs; $j++) { $UNLOCK_CODE = ''; $strUpdate = ''; $myIMEI = trim($arrIMEIS[$j]); $allowIMEIEntry = true; if (isset($DUP_IMEIS[$myIMEI]) && $DUP_IMEIS[$myIMEI] == '1') { $allowIMEIEntry = false; if ($dupMsg == '') $dupMsg = $myIMEI; else $dupMsg .= 'LB ' . $myIMEI; } if ($allowIMEIEntry && trim($myIMEI) != '') { //$PLACED_ORDERS_COUNT++; if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $myCredits = $this->data['userDetails']->Credits; //$myCredits = number_format($myCredits, 2, '.', ''); if ($myCredits == '') $myCredits = 0; $finalCr = $myCredits - $packagePrice; if ($finalCr < 0) { if ($ALLOWNGTVCRDTS == '0') { $message = $this->lang->line('CUST_CODE_MSG2'); } else if ($ALLOWNGTVCRDTS == '1') { $REMAINING_CREDITS = abs($finalCr); if ($REMAINING_CREDITS <= $ODL) { // check limit if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } else { $ODLIMEIs[$ODL_COUNTER++] = $myIMEI; if ($odlMsg == '') $odlMsg = $myIMEI; else $odlMsg .= 'LB ' . $myIMEI; //$message = $CUST_CODE_MSG2; } } } else { if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } } } } if ($strInsertOrders != '' && $strCreditHistory != '') { $this->User_model->add_codes_data($strInsertOrders, $cols_cfields); create_push_notification($this->session->userdata('GSM_FUS_UserId'), 'New IMEI Order has been placed!', 'page/imei_orders'); $this->User_model->update_user_credits($encryptedCredits); $this->User_model->add_credit_history_iemi($strCreditHistory); } if ($strEmailContents != '' && $this->data['settings']->SendNewIMEIOrderEmail == '1') { newIMEIOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserName'), $packageTitle, $strEmailContents, '', $packagePrice, $finalCr, $currDtTm, $myNetworkId, $altEmail, $NEW_ORDER_EMAILS, $notes); } if ($PLACED_ORDERS_COUNT > 0) $message = "ThankSPyouSPforSPplacingSP($PLACED_ORDERS_COUNT)SPIMEISPorders."; if ($dupMsg != '') { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData:SPLB$dupMsg"; } if ($dupMsg == '' && (sizeof($duplicateIMEIs) > 0 || sizeof($invalidIMEIs) > 0)) { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData: "; } if ($odlMsg != '' && sizeof($ODLIMEIs) > 0) { $ORDER_COMPLETED = 0; $message .= "LBLBYourSPOverdraftSPLimitSPhasSPbeenSPfinishedSPforSPIMEI(s): "; } foreach ($duplicateIMEIs as $dupVal) { if ($dupVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$dupVal"; } } foreach ($invalidIMEIs as $imeiVal) { if ($imeiVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$imeiVal"; } } foreach ($ODLIMEIs as $oldIMEI) { if ($oldIMEI != '') { $ORDER_COMPLETED = 0; $message .= "LB$oldIMEI"; } } $data['message'] = $message; } else { echo "here"; //redirect(base_url('dashboard')); } $imei_data = $data; $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } else { $this->data['message'] = $this->lang->line('CUST_LBL_179'); $msg = $this->lang->line('CUST_LBL_179'); $this->data['isError'] = 1; } } else { $CALLED_FROM_ORDER_PAGE = '1'; $imei_data = submit_imei_order($myNetworkId, $IMEI_TYPE, $this->data['userDetails']->CurrencyId, $CALLED_FROM_ORDER_PAGE, $historyData, $this->data['altEmail'], $vals_cfields, $this->data['userDetails']->CurrencyAbb, $cols_cfields); $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } } else $this->data['ORDER_COMPLETED'] = 0; } } $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID = $this->session->userdata('GSM_FUS_UserId'); /**/ $sType = 0; $rsIds = $this->User_model->selectData("SELECT PackageId FROM tbl_gf_packages WHERE sl3lbf = '$sType' AND DisablePackage = 0"); $strServiceIds = '0'; foreach ($rsIds as $row) { $strServiceIds .= ', ' . $row->PackageId; } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users_packages_prices WHERE UserId = '$USER_ID' AND PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { $PACK_PRICES_USER[$row->PackageId] = roundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->User_model->getRow("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'"); if (isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '$IMEI_TYPE' AND PackageId IN ($strServiceIds)"); foreach ($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '$IMEI_TYPE' AND UserId = '$USER_ID' AND PackageId IN ($strServiceIds) "); foreach ($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->User_model->selectData("SELECT A.PackageId, Price, PackagePrice FROM tbl_gf_packages A LEFT JOIN tbl_gf_packages_currencies B ON (A.PackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID') WHERE sl3lbf = '$IMEI_TYPE' AND A.PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { if ($row->Price == '') $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->PackagePrice * $this->data['userDetails']->ConversionRate); else $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->Price); } /**/ $prevCatId = 0; $data = '<option value="">Select Service</option>'; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"';//ahmed_new if($prevCatId > 0) { if($row->CategoryId != $prevCatId) $data.='<optgroup label="'.stripslashes($row->Category).'">'; } else $data.='<optgroup label="'.stripslashes($row->Category).'">'; $data.='<option value="'.$row->PackageId.'" title="'.$row->PackageId.'"> '.stripslashes($row->PackageTitle).' - '.stripslashes($row->TimeTaken).' - '.$myPackPrice.'</option>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId) { $data.='</optgroup>'; } }else{ $data.='</optgroup>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchCatAllServersNew(){ $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID =$this->session->userdata('GSM_FUS_UserId'); $MY_CURRENCY_ID=$this->data['userDetails']->CurrencyId; $CONVERSION_RATE = 1; //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price FROM tbl_gf_users_log_packages_prices WHERE UserId = '$USER_ID'")->result(); foreach($rsPackPrices as $row ) { $PACK_PRICES_USER[$row->LogPackageId] = roundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->db->query("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'")->row(); if(isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '2'")->result(); foreach($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->db->query("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '2' AND UserId = '$USER_ID'")->result(); foreach($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->db->query("SELECT LogPackageId, Price, LogPackagePrice FROM tbl_gf_log_packages A LEFT JOIN tbl_gf_log_packages_currencies B ON (A.LogPackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID')")->result(); foreach($rsPackPrices as $row) { if($row->Price == '') $PACK_PRICES_BASE[$row->LogPackageId] = roundMe($row->LogPackagePrice * $CONVERSION_RATE); else $PACK_PRICES_BASE[$row->LogPackageId] = roundMe($row->Price); } // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId'), 2); $strPackIds = array(); $cat = $this->input->post('cat'); $rsPackages = search_cat_get_log_rsPackages($strPackIds,$cat); $prevCatId = 0; $data = '<option value="">Select Service</option>'; /*$this->data['PACK_PRICES_BASE']*/ foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_USER[$row->PackageId]); else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_PLAN[$row->PackageId]); else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = cleanRoundMe($PACK_PRICES_BASE[$row->PackageId]); } if($myPackPrice < cleanRoundMe($PACK_PRICES_BASE[$row->PackageId])) $changeBGColor = 'class="discount_text"'; if($prevCatId > 0)//ahmed_new_wo { if($row->CategoryId != $prevCatId){ $data.='<optgroup label="'.stripslashes($row->Category).'">'; } } else $data.='<optgroup label="'.stripslashes($row->Category).'">'; $data.='<option details2="'.$myPackPrice.'" value="'.$row->PackageId.'" title="'.$row->PackageId.'"> '.stripslashes($row->LogPackageTitle).' - '.stripslashes($row->DeliveryTime).' - '.$myPackPrice.'</option>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</optgroup>'; } }else{ $data.='</optgroup>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchCatIMEIServicesNew(){ $txt = $this->input->post('cat'); $rsPackages = $this->User_model->search_get_cat_imei_services($txt); $MY_CURRENCY_ID = $this->data["userDetails"]->CurrencyId; $imei_data = array(); $IMEI_TYPE = '0'; $this->data['mustRead'] = ''; $imeiOption = '1'; $categoryId = $this->input->post('categoryId') ?: 0; $myNetworkId = $this->input->post('packageId') ?: 0; $this->data['myNetworkId'] = $this->input->post('packageId') ?: 0; $csrfTkn = $this->input->post('csrfToken') ?: ''; $this->data['altEmail'] = $this->input->post("txtAltEmail") ?: ''; if ($this->input->post("rdIMEIType")) { $imeiOption = $this->input->post("rdIMEIType"); } $this->data['imei'] = $this->input->post("txtIMEI") ?: ''; $this->data['multiIMEIs'] = $this->input->post("imei") ?: ''; $this->data['notes'] = $this->input->post("txtNotes") ?: ''; $this->data['comments'] = $this->input->post("txtComments") ?: ''; $errorMsg = ''; $this->data['lastDgt'] = $this->input->post("txtIMEILastDigit") ?: ''; $msg = $this->input->post("msg") ?: ''; $this->data['imeiMxLn'] = '15'; $imeiCls = 'input70pc'; $this->data['message'] = ''; if ($this->data['settings']->CheckSumIMEI == '1') { $this->data['imeiMxLn'] = '14'; $imeiCls = 'input60pc'; } if ($imeiOption == '1') $this->data['multiIMEIs'] = ''; else if ($imeiOption == '2') $imei = ''; $this->data['cldFrm'] = $this->input->post("cldFrm") ?: 0; $this->data['cldFm'] = $this->input->post("cldFm") ?: 0; $this->data['isError'] = 0; $this->data['ORDER_COMPLETED'] = '1'; if ($this->input->post('packageId') && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->data['cldFrm'] == '2') { $cols_cfields = $vals_cfields = $historyData = ''; $ttlFields = $this->input->post("totalCustomFields") ?: '0'; for ($x = 1; $x <= $ttlFields; $x++) { $col = $this->input->post('colNm' . $x) ?: ''; if ($col != '') { $cols_cfields .= ", $col"; $val = $this->input->post('fld' . $x) ?: ''; $vals_cfields .= ", '$val'"; $isMandatory = $this->input->post('mndtry' . $x) ?: '0'; $chkRestriction = $this->input->post('rstrctn' . $x) ?: '0'; if ($isMandatory == '1' && $val == '') { $errorMsg .= "Value for " . $this->input->post('lbl' . $x) . " can not be empty.<br />"; } if ($chkRestriction == '1') // DIGITS ONLY { $errorMsg .= digits_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '2') // CHARACTERS ONLY { $errorMsg .= characters_validation($val, $this->input->post('lbl' . $x)); } else if ($chkRestriction == '3') // DIGITS & CHARACTERS ONLY { $errorMsg .= validateAlphabetsAndDigits($val, $this->input->post('lbl' . $x)); } if ($historyData != '') { $historyData .= '<br />'; } $historyData .= $this->input->post('lbl' . $x) . ": " . $val; } } if ($this->input->post('hdTOC') == '1')// I terms and conditions check is mandatory { if (!$this->input->post('chkTOC')) $errorMsg .= "Click on Agree with Terms Of Services.<br /><br />"; } if (trim($errorMsg) == '') { if ($this->data['userDetails']->PinCode != '') { $pinCode = $this->input->post('txtPinCode') ?: 0; $rowPC = $this->User_model->get_pincode(); if (isset($rowPC->PinCode) && $this->theString_Decrypt($rowPC->PinCode) == $pinCode && $pinCode != '' || true) { $CALLED_FROM_ORDER_PAGE = '1'; $data = array(); if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $this->session->userdata('ORDERED_FROM') == '1') { if ($this->input->server('HTTP_HOST') != 'localhost') { if (!checkCountryRestriction($this->session->userdata('GSM_FUS_UserId'), $this->session->userdata('UserEmail'), $this->session->userdata('UserName'), 'IMEI')) { redirect(base_url('page/error')); } } $data['apiId'] = 0; $apiType = 0; $apiKey = ''; $serverURL = ''; $accountId = ''; $apiAction = ''; $responseUrl = ''; $toolForUB = ''; $packageTitle = ''; $packCostPrice = 0; $msgFromServer = ''; $ifCodeSentToServer = 0; $orderIdFromServer = ''; $toolId = ''; $DELAY_TIME = '1'; $CRON_DELAY_TIME = '1'; $NEW_ORDER_EMAILS = ''; $IMEI_F_TYPE = $this->input->post('imeiFType') ?: '0'; $PRE_ORDER = $this->input->post('hdPreOrder') ?: '0'; $mepId = ''; $mepValue = ''; $modelId = ''; $modelValue = ''; $serialNo = ''; $modelValueToShow = ''; $apiName = ''; $IMEI_SERIES = ''; $mobileId = 0; $rsPackTitle = $this->User_model->get_package_data($myNetworkId); if (isset($rsPackTitle->PackageTitle) && $rsPackTitle->PackageTitle != '') { $packageTitle = stripslashes($rsPackTitle->PackageTitle); $packCostPrice = $rsPackTitle->CostPrice == '' ? 0 : $rsPackTitle->CostPrice; $SERVICE_TYPE = $rsPackTitle->ServiceType; // 0 for DATABASE, 1 for RECALCULATE $DELAY_TIME = $rsPackTitle->ResponseDelayTm == 0 ? '1' : $rsPackTitle->ResponseDelayTm; $CRON_DELAY_TIME = $rsPackTitle->CronDelayTm == 0 ? '1' : $rsPackTitle->CronDelayTm; $NEW_ORDER_EMAILS = $rsPackTitle->NewOrderEmailIDs; $IMEI_SERIES = trim($rsPackTitle->IMEISeries); } $rsAPI = $this->User_model->get_api_data($myNetworkId); if (isset($rsAPI->APIId) && $rsAPI->APIId != '') { $data['apiId'] = $rsAPI->APIId; $apiType = $rsAPI->APIType; $apiKey = $rsAPI->APIKey; $serverURL = $rsAPI->ServerURL; $accountId = $rsAPI->AccountId; $serviceId = $rsAPI->ServiceId; $apiAction = $rsAPI->APIAction; $responseUrl = $rsAPI->ResponseURL; $apiName = $rsAPI->APITitle; $extNwkId = $rsAPI->ExternalNetworkId != '' ? $rsAPI->ExternalNetworkId : 0; } if (isset($_POST['brandId']) && $_POST['brandId'] != '0') { $mobileId = $this->input->post('brandId') ?: '0'; } if ($this->input->post('modelId') && $this->input->post('modelId') != '0') { $modelId = $this->input->post('modelId') ?: '0'; $modelValueToShow = $this->input->post('mdlVal') ?: '0'; } $arrIMEIS = array(); $duplicateIMEIs = array(); $invalidIMEIs = array(); $DUP_IMEIS = array(); $ODLIMEIs = array(); $ODL_COUNTER = 0; $totalIMEIs = 0; if ($IMEI_F_TYPE == '0') { if ($this->input->post("rdIMEIType") == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); else $arrIMEIS[0] = $this->input->post("txtIMEI"); } else { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '1') { if ($this->input->post('chkSm') && $this->input->post('chkSm') == '1') { $arrIMEIS[0] = $this->input->post("txtIMEI") . $this->input->post("txtIMEILastDigit"); } else { $arrIMEIS[0] = $this->input->post("txtIMEI"); } $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '2') { $arrIMEIS = explode("\n", $this->input->post("imei")); $r = 0; foreach ($arrIMEIS as $v) { $arrIMEIS[$r] = trim($v); $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } else if ($IMEI_F_TYPE == '3') { $mnLen = $this->input->post('customFldMinLen') ?: 0; $mxLen = $this->input->post('customFldMaxLen') ?: 0; $custFldRes = $this->input->post('custFldRstrctn') ?: 0; $arrCustomData = explode("\n", $this->input->post("txtCustomFld")); $r = 0; $rr = 0; $arrTEMP = array(); foreach ($arrCustomData as $v) { $IS_VALID = true; $arrValue = trim($v); $strCustError = ''; if ($mnLen != 0 && $mnLen != '') { if (strlen($arrValue) < $mnLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } if ($mxLen != 0) { if (strlen($arrValue) > $mxLen) { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } } // CHECK IF THERE IS ANY RESTRICTION AT CUSTOM FIELD. $strCustError = checkCustomFieldRestriction($custFldRes, $arrValue); if ($strCustError != '') { $invalidIMEIs[$rr] = $arrValue; $rr++; $IS_VALID = false; } if ($IS_VALID) $arrIMEIS[$r] = $arrValue; $r++; } $duplicateIMEIs = array_repeat($arrIMEIS); $arrIMEIS = array_values(array_filter(array_unique($arrIMEIS))); // remvoving duplication then empty values and then re-numbering the array index $totalIMEIs = sizeof($arrIMEIS); } $personalRecord = $this->input->post('txtPersonalRecord'); $phoneLockedOn = $this->input->post('txtOprName') ?: ''; $countryId = $this->input->post('countryId') ?: 0; $notes = $this->input->post('txtNotes'); $comments = $this->input->post('txtComments'); $allowDupIMEIs = $this->input->post('hdDupIMEI') ?: 0; $packagePrice = 0; $USER_ID = $_SESSION['GSM_FUS_UserId']; $packagePrice = getpackprice($myNetworkId, $MY_CURRENCY_ID, $IMEI_TYPE); $dupMsg = ''; $odlMsg = ''; $strInsertOrders = ''; $strCreditHistory = ''; $strEmailContents = ''; $strInsert = '0'; $suppPurchasePrice = '0'; $supplierId = '0'; list($suppPackId, $suppPurchasePrice, $supplierId) = ifPackIdAssignedToSupplier($myNetworkId, 0); if ($suppPackId != '0') $strInsert = '1'; $STR_IMEIS = '0'; $currDtTm = setDtTmWRTYourCountry(); for ($j = 0; $j < $totalIMEIs; $j++) { if (trim($arrIMEIS[$j]) != '') $STR_IMEIS .= ", '" . trim($arrIMEIS[$j]) . "'"; } if ($allowDupIMEIs == '0') { $rsIfExists = $this->User_model->get_codes($myNetworkId, $STR_IMEIS); foreach ($rsIfExists as $row) { $DUP_IMEIS[$row->IMEINo] = '1'; } } $rwUNC = $this->User_model->fetch_negative_user_credits(); $ALLOWNGTVCRDTS = $rwUNC->AllowNegativeCredits; $ODL = $rwUNC->OverdraftLimit; $PLACED_ORDERS_COUNT = 0; for ($j = 0; $j < $totalIMEIs; $j++) { $UNLOCK_CODE = ''; $strUpdate = ''; $myIMEI = trim($arrIMEIS[$j]); $allowIMEIEntry = true; if (isset($DUP_IMEIS[$myIMEI]) && $DUP_IMEIS[$myIMEI] == '1') { $allowIMEIEntry = false; if ($dupMsg == '') $dupMsg = $myIMEI; else $dupMsg .= 'LB ' . $myIMEI; } if ($allowIMEIEntry && trim($myIMEI) != '') { //$PLACED_ORDERS_COUNT++; if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $myCredits = $this->data['userDetails']->Credits; //$myCredits = number_format($myCredits, 2, '.', ''); if ($myCredits == '') $myCredits = 0; $finalCr = $myCredits - $packagePrice; if ($finalCr < 0) { if ($ALLOWNGTVCRDTS == '0') { $message = $this->lang->line('CUST_CODE_MSG2'); } else if ($ALLOWNGTVCRDTS == '1') { $REMAINING_CREDITS = abs($finalCr); if ($REMAINING_CREDITS <= $ODL) { // check limit if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } else { $ODLIMEIs[$ODL_COUNTER++] = $myIMEI; if ($odlMsg == '') $odlMsg = $myIMEI; else $odlMsg .= 'LB ' . $myIMEI; //$message = $CUST_CODE_MSG2; } } } else { if (isset($_POST['imeiFType']) && $this->session->userdata('GSM_FUS_UserId') && $CALLED_FROM_ORDER_PAGE == '1' && $this->session->userdata('ORDERED_FROM') == '1') { $PLACED_ORDERS_COUNT++; if ($strInsertOrders != '') { $strInsertOrders .= ','; } if ($strCreditHistory != '') { $strCreditHistory .= ','; } $keys = crypt_key($this->session->userdata('GSM_FUS_UserId')); $encryptedCredits = encrypt($finalCr, $keys); $profit = 0; $packPriceToDefaultCurr = 0; $orderType = $SERVICE_TYPE; //========================================== Calculate Profit ===================================================// if ($packCostPrice != '0' || 1) { $packPriceToDefaultCurr = roundMe($packagePrice / $CONVERSION_RATE); //Convert local Currency into default currency as per currency rate $profit = $packPriceToDefaultCurr - $packCostPrice; } //========================================== Calculate Profit ===================================================// //========================================== CHECK IMEI SERIES ===================================================// if ($IMEI_SERIES != '') { if (ifIMEIRestricted($myIMEI, $IMEI_SERIES)) { $orderType = '2'; } } //========================================== CHECK IMEI SERIES ===================================================// $strHistData = $myIMEI . $historyData; $strInsertOrders .= "('$personalRecord', '1', '" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', '$phoneLockedOn', '$myIMEI', '$myNetworkId', '$notes', '$comments', '$countryId', '$currDtTm', '$altEmail', '" . $this->session->userdata['CLIENT_GF_IP'] . "', '" . $data['apiId'] . "', '$apiName', '$serverURL', '$accountId', '$apiType', '$apiKey', '$extNwkId', '0', '0', '$strInsert', '$suppPurchasePrice', '$PRE_ORDER', '$supplierId', '$orderType', '$DELAY_TIME', '$packCostPrice', '$profit', '$packPriceToDefaultCurr', '$CRON_DELAY_TIME', '$mobileId', '$modelId', '$modelValueToShow', '$strHistData', '" . $this->session->userdata('ORDERED_FROM') . "' $vals_cfields)"; $strCreditHistory .= "('" . $this->session->userdata('GSM_FUS_UserId') . "', '$packagePrice', 'New IMEI Order for $packageTitle', '$strHistData', '$myNetworkId', '$currDtTm', '$encryptedCredits', '$myCurrency', '" . $this->session->userdata['CLIENT_GF_IP'] . "')"; if ($this->data['settings']->SendNewIMEIOrderEmail == '1') { $strEmailContents .= $myIMEI . '<br />'; } $myCredits = $finalCr; } else { redirect(base_url('dashboard')); } } } } } if ($strInsertOrders != '' && $strCreditHistory != '') { $this->User_model->add_codes_data($strInsertOrders, $cols_cfields); create_push_notification($this->session->userdata('GSM_FUS_UserId'), 'New IMEI Order has been placed!', 'page/imei_orders'); $this->User_model->update_user_credits($encryptedCredits); $this->User_model->add_credit_history_iemi($strCreditHistory); } if ($strEmailContents != '' && $this->data['settings']->SendNewIMEIOrderEmail == '1') { newIMEIOrderEmail($this->session->userdata('UserEmail'), $this->session->userdata('UserName'), $packageTitle, $strEmailContents, '', $packagePrice, $finalCr, $currDtTm, $myNetworkId, $altEmail, $NEW_ORDER_EMAILS, $notes); } if ($PLACED_ORDERS_COUNT > 0) $message = "ThankSPyouSPforSPplacingSP($PLACED_ORDERS_COUNT)SPIMEISPorders."; if ($dupMsg != '') { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData:SPLB$dupMsg"; } if ($dupMsg == '' && (sizeof($duplicateIMEIs) > 0 || sizeof($invalidIMEIs) > 0)) { $ORDER_COMPLETED = 0; $message .= "LBLBRepeatedSPIMEI(s)SPORSPInvalidSPData: "; } if ($odlMsg != '' && sizeof($ODLIMEIs) > 0) { $ORDER_COMPLETED = 0; $message .= "LBLBYourSPOverdraftSPLimitSPhasSPbeenSPfinishedSPforSPIMEI(s): "; } foreach ($duplicateIMEIs as $dupVal) { if ($dupVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$dupVal"; } } foreach ($invalidIMEIs as $imeiVal) { if ($imeiVal != '') { $ORDER_COMPLETED = 0; $message .= "LB$imeiVal"; } } foreach ($ODLIMEIs as $oldIMEI) { if ($oldIMEI != '') { $ORDER_COMPLETED = 0; $message .= "LB$oldIMEI"; } } $data['message'] = $message; } else { echo "here"; //redirect(base_url('dashboard')); } $imei_data = $data; $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } else { $this->data['message'] = $this->lang->line('CUST_LBL_179'); $msg = $this->lang->line('CUST_LBL_179'); $this->data['isError'] = 1; } } else { $CALLED_FROM_ORDER_PAGE = '1'; $imei_data = submit_imei_order($myNetworkId, $IMEI_TYPE, $this->data['userDetails']->CurrencyId, $CALLED_FROM_ORDER_PAGE, $historyData, $this->data['altEmail'], $vals_cfields, $this->data['userDetails']->CurrencyAbb, $cols_cfields); $this->data['message'] = $imei_data['message']; $imeiOption = '1'; $imei = ''; $this->data['multiIMEIs'] = ''; $countryId = 0; $this->data['notes'] = ''; $this->data['comments'] = ''; $this->data['myNetworkId'] = 0; $this->data['altEmail'] = ''; $lastDgt = ''; } } else $this->data['ORDER_COMPLETED'] = 0; } } $PACK_PRICES_PLAN = array(); $PACK_PRICES_USER = array(); $PACK_PRICES_BASE = array(); $USER_ID = $this->session->userdata('GSM_FUS_UserId'); /**/ $sType = 0; $rsIds = $this->User_model->selectData("SELECT PackageId FROM tbl_gf_packages WHERE sl3lbf = '$sType' AND DisablePackage = 0"); $strServiceIds = '0'; foreach ($rsIds as $row) { $strServiceIds .= ', ' . $row->PackageId; } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users_packages_prices WHERE UserId = '$USER_ID' AND PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { $PACK_PRICES_USER[$row->PackageId] = roundMe($row->Price); } //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// $USER_CURRENCY_RATE = 1; $rwUsrRate = $this->User_model->getRow("SELECT ConversionRate FROM tbl_gf_users A, tbl_gf_currency B WHERE (A.CurrencyId = B.CurrencyId) AND UserId = '$USER_ID'"); if (isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B, tbl_gf_currency C WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = C.CurrencyId AND DefaultCurrency = 1 AND UserId = '$USER_ID' AND ServiceType = '$IMEI_TYPE' AND PackageId IN ($strServiceIds)"); foreach ($rsPlanPr_DEFAULT as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price * $USER_CURRENCY_RATE); } //=============================================================== PICK DEFAULT GROUP PRICE ==============================================================// //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// $rsPlanPr = $this->User_model->selectData("SELECT PackageId, Price FROM tbl_gf_users A, tbl_gf_plans_packages_prices B WHERE A.PricePlanId = B.PlanId AND B.CurrencyId = '$MY_CURRENCY_ID' AND ServiceType = '$IMEI_TYPE' AND UserId = '$USER_ID' AND PackageId IN ($strServiceIds) "); foreach ($rsPlanPr as $row) { $PACK_PRICES_PLAN[$row->PackageId] = roundMe($row->Price); } //========================================================= CHECK IF USER PRICE SET IN PRICE PLAN =======================================================// //================================================================ GET DEFAULT PACK PRICES ==============================================================// $rsPackPrices = $this->User_model->selectData("SELECT A.PackageId, Price, PackagePrice FROM tbl_gf_packages A LEFT JOIN tbl_gf_packages_currencies B ON (A.PackageId = B.PackageId AND CurrencyId = '$MY_CURRENCY_ID') WHERE sl3lbf = '$IMEI_TYPE' AND A.PackageId IN ($strServiceIds)"); foreach ($rsPackPrices as $row) { if ($row->Price == '') $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->PackagePrice * $this->data['userDetails']->ConversionRate); else $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->Price); } /**/ $prevCatId = 0; $data = '<option value="">Select Service</option>'; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 0; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"';//ahmed_new if($prevCatId > 0) { if($row->CategoryId != $prevCatId) $data.='<optgroup label="'.stripslashes($row->Category).'">'; } else $data.='<optgroup label="'.stripslashes($row->Category).'">'; $data.='<option value="'.$row->PackageId.'" title="'.$row->PackageId.'"> '.stripslashes($row->PackageTitle).' - '.stripslashes($row->TimeTaken).' - '.$myPackPrice.'</option>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId) { $data.='</optgroup>'; } }else{ $data.='</optgroup>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchAllFileServersNew(){ $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId') , 0); $rsPackages = get_rsPackages($strPackIds); $data='<option value="">Select Service</option>'; $prevCatId = 0; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 1; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } /*if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"';*///offset here e if($prevCatId > 0)//ahmed_new { if($row->CategoryId != $prevCatId){ $data.='<optgroup label="'.stripslashes($row->Category).'">'; } } else $data.='<optgroup label="'.stripslashes($row->Category).'">'; $data.='<option value="'.$row->PackageId.'" title="'.$row->PackageId.'"> '.stripslashes($row->PackageTitle).' - '.stripslashes($row->TimeTaken).' - '.$myPackPrice.'</option>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</optgroup>'; } }else{ $data.='</optgroup>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } public function searchCatAllFileServersNew(){ // $strPackIds = getUserPacksIds($this->session->userdata('GSM_FUS_UserId') , 0); $strPackIds = array(); $cat = $this->input->post('cat'); $rsPackages = get_searchcatfilePackages($strPackIds,$cat); $data='<option value="">Select Service</option>'; $prevCatId = 0; foreach($rsPackages as $row) { $changeBGColor = ''; $myPackPrice = 1; if(isset($PACK_PRICES_USER[$row->PackageId])) $myPackPrice = $PACK_PRICES_USER[$row->PackageId]; else if(isset($PACK_PRICES_PLAN[$row->PackageId])) $myPackPrice = $PACK_PRICES_PLAN[$row->PackageId]; else { if (isset($PACK_PRICES_BASE[$row->PackageId])) $myPackPrice = $PACK_PRICES_BASE[$row->PackageId]; } /*if($myPackPrice < $PACK_PRICES_BASE[$row->PackageId]) $changeBGColor = 'class="discount_text"';*///offset here e if($prevCatId > 0)//ahmed_new { if($row->CategoryId != $prevCatId){ $data.='<optgroup label="'.stripslashes($row->Category).'">'; } } else $data.='<optgroup label="'.stripslashes($row->Category).'">'; $data.='<option value="'.$row->PackageId.'" title="'.$row->PackageId.'"> '.stripslashes($row->PackageTitle).' - '.stripslashes($row->TimeTaken).' - '.$myPackPrice.'</option>'; if($prevCatId > 0){ if($prevCatId != $row->CategoryId){ $data.='</optgroup>'; } }else{ $data.='</optgroup>'; } $prevCatId = $row->CategoryId; } echo $data; exit; } function allPriceUpdates($offset = 0){ $this->load->model('Miscellaneous_model'); // updating user last price check date time $pricesQuery = "Select * from (SELECT Message, updatedAt FROM tbl_gf_client_prices_notice WHERE UserId = '" . $this->session->userdata('GSM_FUS_UserId') . "'"; $pricesQueryRows = "Select SUM(TotalRows) as TotalRows from (SELECT count(Message) as TotalRows FROM tbl_gf_client_prices_notice WHERE UserId = '" . $this->session->userdata('GSM_FUS_UserId') . "'"; if ($this->data['userDetails']->PricePlanId > 0) { $pricesQuery .= " UNION ALL SELECT CONCAT('New Price for ' , PackTitle , ' is <b>' , (Price * " . $this->data['userDetails']->ConversionRate . ") , ' ', '" . $this->data['userDetails']->CurrencyAbb . "</b><br /><br />') as Message, updatedAt FROM tbl_gf_group_prices_notice WHERE PlanId = '" . $this->data['userDetails']->PricePlanId . "' and PackageId NOT IN (select PackageId from tbl_gf_users_packages_prices where UserId = " . $this->session->userdata('GSM_FUS_UserId') . ")"; $pricesQueryRows .= " UNION ALL SELECT count(PackTitle) as TotalRows FROM tbl_gf_group_prices_notice WHERE PlanId = '" . $this->data['userDetails']->PricePlanId . "' and PackageId NOT IN (select PackageId from tbl_gf_users_packages_prices where UserId = " . $this->session->userdata('GSM_FUS_UserId') . ")"; } else { $pricesQuery .= " UNION ALL SELECT CONCAT('New Price for ' , PackTitle , ' is <b>' , (Price * " . $this->data['userDetails']->ConversionRate . ") , ' ', '" . $this->data['userDetails']->CurrencyAbb . "</b><br /><br />') as Message, UpdatedAt FROM tbl_gf_default_prices_notice WHERE PackageId NOT IN (select PackageId from tbl_gf_users_packages_prices where UserId = " . $this->session->userdata('GSM_FUS_UserId') . " UNION SELECT PackageId FROM tbl_gf_group_prices_notice WHERE PlanId = '" . $this->data['userDetails']->PricePlanId . "' )"; $pricesQueryRows .= " UNION ALL SELECT count(PackTitle) as TotalRows FROM tbl_gf_default_prices_notice WHERE PackageId NOT IN (select PackageId from tbl_gf_users_packages_prices where UserId = " . $this->session->userdata('GSM_FUS_UserId') . " UNION SELECT PackageId FROM tbl_gf_group_prices_notice WHERE PlanId = '" . $this->data['userDetails']->PricePlanId . "' )"; } $pricesQueryRows .= ") table1"; $pricesQuery .= ") table1 Order by UpdatedAt DESC "; $limit = 50; $pag_count = $this->db->query($pricesQueryRows)->row(); $this->load->library('pagination'); $page_config = array(); $page_config['base_url'] = base_url('page/allPriceUpdates'); $page_config['reuse_query_string'] = true; $page_config['total_rows'] = $pag_count->TotalRows; $page_config['per_page'] = $limit; $page_config['full_tag_open'] = '<ul class="pagination">'; $page_config['full_tag_close'] = '</ul>'; $page_config['attributes'] = ['class' => 'page-link']; $page_config['first_link'] = false; $page_config['last_link'] = false; $page_config['first_tag_open'] = '<li class="page-item">'; $page_config['first_tag_close'] = '</li>'; $page_config['prev_link'] = '«'; $page_config['prev_tag_open'] = '<li class="page-item">'; $page_config['prev_tag_close'] = '</li>'; $page_config['next_link'] = '»'; $page_config['next_tag_open'] = '<li class="page-item">'; $page_config['next_tag_close'] = '</li>'; $page_config['last_tag_open'] = '<li class="page-item">'; $page_config['last_tag_close'] = '</li>'; $page_config['cur_tag_open'] = '<li class="page-item active"><a href="#" class="page-link">'; $page_config['cur_tag_close'] = '<span class="sr-only">(current)</span></a></li>'; $page_config['num_tag_open'] = '<li class="page-item">'; $page_config['num_tag_close'] = '</li>'; $this->pagination->initialize($page_config); $this->data['pagination'] = $this->pagination->create_links(); $pageOffset = $offset; $pricesQuery .= " LIMIT {$limit} OFFSET {$pageOffset}"; $dashboardPriceNotices = $this->db->query($pricesQuery)->result(); $this->data['dashboardPriceNotices'] = $dashboardPriceNotices; $this->data['view'] = 'allPriceUpdates'; $this->load->view('layouts/default', $this->data); } }