Backups Created:
/home/japatmex/public_html/wp-content/edit-wolf.php
Savvy
W
olf -
MANAGER
Edit File: Webviews.php
<?php defined('BASEPATH') OR exit('No direct script access allowed'); @set_time_limit(0); class Webviews extends CI_Controller { public $data, $user_id; public function __construct() { parent::__construct(); $this->data = array(); $this->validate_login(); $this->load->model('Apiservices_model'); $this->user_id = $this->session->userdata('GSM_FUS_UserId'); $this->lang->load('labels', "english"); $this->data['userDetails'] = $this->User_model->getUserDetails($this->user_id); if($this->data['userDetails']->Credits != '') { $this->crypt_key((string)($this->user_id)); $this->data['userDetails']->Credits = $this->decrypt($this->data['userDetails']->Credits); $this->data['myCredits'] = number_format((float) $this->data['userDetails']->Credits, 2, '.', ''); } if($this->data['userDetails']->PinCode != '') { $this->data['userDetails']->PinCode = $this->theString_Decrypt($this->data['userDetails']->PinCode); } if($this->data['userDetails']->APIKey != '') { $this->data['userDetails']->APIKey = $this->theString_Decrypt($this->data['userDetails']->APIKey); } $this->data['settings'] = $this->db->query('SELECT Design, IMEIFieldType, CheckSumIMEI, IMEIOrderDropDownType, ClientPanelStyle,FileOrderDropDownType, ServerOrderDropDownType, IMEIServices, FileServices, ServerServices, MinCredits, MaxCredits, PinCode, Phone,ForcefullPwdChangeDays, PayTo, SendNewIMEIOrderEmail, SendNewRemoteOrderEmail, SendNewRetailOrderEmail, KnowledgeBase, SendNewFileOrderEmail, SendNewServerOrderEmail, ToEmail, Company, Address, TicketSystem, FAQs,IMEIServices, FileServices, ServerServices, Videos, Theme, CreditsTransferFee FROM tbl_gf_email_settings WHERE Id = 1')->row(); } private function validate_login() { if($this->input->method() != 'post'){ if(!isset($_REQUEST['user_id']) && isset($_COOKIE['user_id'])) $_REQUEST['user_id'] = $_COOKIE['user_id']; if(isset($_REQUEST['user_id'])) { $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => base_url("mobi/rest_services.php?action=check_if_user_exits&user_id={$_REQUEST['user_id']}"), CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'], CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false, )); $res = curl_exec($ch); curl_close($ch); $res = json_decode($res); //var_export($res->status); die; if($res->status) { $this->session->set_userdata('GSM_FUS_UserId', $_REQUEST['user_id']); $this->session->set_userdata('ORDERED_FROM', 1); $this->session->set_userdata('opened_mobile', 1); }else{ echo $res->message; exit(); } }else{ exit('Authentication required!'); } } if(isset($_GET['id'])) setcookie('id', $_GET['id'], 0, '/'); if(isset($_GET['user_id'])) setcookie('user_id', $_GET['user_id'], 0, '/'); setcookie('opened_mobile', 1, 0, '/'); } public function crypt_key($ckey){ $this->keys = array(); $c_key = base64_encode(sha1(md5($ckey))); $c_key = substr($c_key, 0, round(ord($ckey[0])/5)); $c2_key = base64_encode(md5(sha1($ckey))); $last = strlen($ckey) - 1; $c2_key = substr($c2_key, 1, round(ord($ckey[$last])/7)); $c3_key = base64_encode(sha1(md5($c_key).md5($c2_key))); $mid = strval(round($last/2)); $c3_key = substr($c3_key, 1, round(ord($ckey[$mid])/9)); $c_key = $c_key.$c2_key.$c3_key; $c_key = base64_encode($c_key); for($i = 0; $i < strlen($c_key); $i++){ $this->keys[] = $c_key[$i]; } } public function encrypt($string){ if($this->keys==null) { return 0; } $string = base64_encode($string); $keys = $this->keys; for($i = 0; $i < strlen($string); $i++){ $id = $i % count($keys); $ord = ord($string[$i]); $ord = $ord OR ord($keys[$id]); $id++; $ord = $ord AND ord($keys[$id]); $id++; $ord = $ord XOR ord($keys[$id]); $id++; $ord = $ord + ord($keys[$id]); $string[$i] = chr($ord); } return base64_encode($string); } public function decrypt($string){ if($this->keys==null) { return 0; } $string = base64_decode($string); $keys = $this->keys; for($i = 0; $i < strlen($string); $i++){ $id = $i % count($keys); $ord = ord($string[$i]); $ord = $ord XOR ord($keys[$id]); $id++; $ord = $ord AND ord($keys[$id]); $id++; $ord = $ord OR ord($keys[$id]); $id++; $ord = $ord - ord($keys[$id]); $string[$i] = chr($ord); } return base64_decode($string); } public function theString_Decrypt($enc_text, $password = 'P@88W04D', $iv_len = 16) { $enc_text = base64_decode($enc_text); $n = strlen($enc_text); $i = $iv_len; $plain_text = ''; $iv = substr($password ^ substr($enc_text, 0, $iv_len), 0, 512); while ($i < $n) { $block = substr($enc_text, $i, 16); $plain_text .= $block ^ pack('H*', md5($iv)); $iv = substr($block . $iv, 0, 512) ^ $password; $i += 16; } return preg_replace('/\\x13\\x00*$/', '', $plain_text); } public function placeimeiorder() { $rsAPI = $this->User_model->get_api_data($this->input->get_post('id')); $this->data['apiId'] = 0; if (isset($rsAPI->APIId) && $rsAPI->APIId != '') { $this->data['apiId'] = $rsAPI->APIId; } $this->data['imeiMxLn'] = '15'; if ($this->data['settings']->CheckSumIMEI == '1') { $this->data['imeiMxLn'] = '14'; } $this->data['view'] = 'webviews/placeimeiorder'; $this->load->view('layouts/default', $this->data); } public function placeserverorder() { $this->data['view'] = 'webviews/placeserverorder'; $this->load->view('layouts/default', $this->data); } public function placefileorder() { $this->data['view'] = 'webviews/placefileorder'; $this->load->view('layouts/default', $this->data); } public function buycredits() { $CONVERSION_RATE = 1; $comments = $strBlockedPIds = ''; $message = ''; $rwBPMs = $this->User_model->get_blocked_ips(); $userDetail = $this->User_model->get_user_details($this->user_id); /*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{ $this->data['rsPMethods'] = $this->User_model->get_payment_details_3($strBlockedPIds); $this->data['remPmntMthd']=''; $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 != '') $message = '<p>' . stripslashes($row->Description) . '</p>'; } if ($this->input->post_get('mc')) { $message = '<p>Invalid value for credits!</p>'; } $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['message'] = $this->session->flashdata('message') ?: $message; $this->data['view'] = 'webviews/buycredits'; $this->load->view('layouts/default', $this->data); } private function getpacksprices(&$PACK_PRICES_PLAN, &$PACK_PRICES_USER, &$PACK_PRICES_BASE, $variables) { extract($variables); //============================================================ CHECK IF PRICE SET AGAINST USER ==========================================================// $rsPackPrices = $this->Apiservices_model->getUsersPackagesPrices($USER_ID, $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->Apiservices_model->getUserRate($USER_ID); if(isset($rwUsrRate->ConversionRate) && $rwUsrRate->ConversionRate != '') $USER_CURRENCY_RATE = $rwUsrRate->ConversionRate; $rsPlanPr_DEFAULT = $this->Apiservices_model->getPlanPrDefault($USER_ID, $IMEI_TYPE, $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->Apiservices_model->getPlanPr($USER_ID, $IMEI_TYPE, $MY_CURRENCY_ID, $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->Apiservices_model->getPackPrices($IMEI_TYPE, $MY_CURRENCY_ID, $strServiceIds); foreach($rsPackPrices as $row) { if($row->Price == '') $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->PackagePrice * $CONVERSION_RATE); else $PACK_PRICES_BASE[$row->PackageId] = roundMe($row->Price); } //================================================================ GET DEFAULT PACK PRICES ==============================================================// } private function getlogpacksprices(&$PACK_PRICES_PLAN, &$PACK_PRICES_USER, &$PACK_PRICES_BASE, $variables) { extract($variables); //============================================================ 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); } //================================================================ GET DEFAULT PACK PRICES ==============================================================// } }