!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/wincloud_gateway/checking/   drwxr-xr-x
Free 13.19 GB of 57.97 GB (22.75%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     getReturn.js (5.92 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
'use strict';
const {sanitizeEntity} = require('strapi-utils');
var { client } = require('./redisClient');
const bull_queue = require('./queue');
const vendor= require('./vendor');
const check_Balance = require('./balance');

///balance check start

module.exports = {
    get_result: async function(header,api_name,request_method,request_ip,query){
      function findAndReplace(object, value, replacevalue){
        for(var x in object){
          if(typeof object[x] == typeof {}){
            findAndReplace(object[x], value, replacevalue);
          }
          if(object[x] == value){ 
            object["keyWord"] = replacevalue;
            // break; // uncomment to stop after first replacement
          }
        }
      }
      var keyWord_data=query.keyWord;
      var keyWord=keyWord_data.substring(0, keyWord_data.indexOf('/') + 0);
      findAndReplace(query, keyWord_data, keyWord);
      var keywordData = keyWord_data.split("/");
      var trans_id=keywordData[3];
      var type=keywordData[4];
      var return_data = await bull_queue.request_Queue(header,api_name,request_method,request_ip,query);
      // var return_data=await check_Balance.balance(header,api_name,request_method,request_ip,query);
        var apiName=api_name.replace("/",'').slice(0, -1);
          var condition=return_data[0];
          var rate= parseFloat(return_data[1]).toFixed(2);
         
          if(condition=="no balance")
          {
            return 'you don`t have sufficient balance.....';
          }
          else if (condition=="exceed") {
            return 'Too many attempts, please try again in a minute.';
          } 
          else if(condition=="not valid"){
            return 'Your ip address is not valid for make request';
          }
          else
          {

            var api_data= "strapi.services."+apiName+".find(query)"; 
              const entity = await eval(api_data);
              var api_model= "strapi.models."+apiName;
              var partner_data=sanitizeEntity(entity, { model: eval(api_model)});
              // var transId=uuid();

              vendor.notifyVendor(keyWord_data,partner_data[0],trans_id,header);

              //balance deduction by api rate 
               await client.hgetallAsync(header).then(function(object) {
                client.hmset(header, {r_balance: parseFloat(object.r_balance).toFixed(2)-rate});
               
                });
                // console.log(partner_data[0]);
                var nowDate = new Date(); 
                var hi=nowDate.getFullYear()+'-'+(nowDate.getMonth()+1)+'-'+nowDate.getDate()+'T'+nowDate.getHours()+':'+nowDate.getMinutes()+':'+nowDate.getSeconds();
                const data={
                  partner_name : partner_data[0].partner.name,
                  vendor : String(partner_data[0].vendor.username),
                  rate : parseFloat(rate).toFixed(2),
                  operator : partner_data[0].operator,
                  keyWord : partner_data[0].keyWord,
                  serviceId : partner_data[0].serviceId,
                  tx_id : String(trans_id),
                  msisdn: String(keywordData[1]),
                  serviceTier: partner_data[0].serviceTier,
                  billerType: 'API',
                  cronDate: null,
                  type:type,
                  // created_at_gmt: nowDate.getFullYear()+'-'+(nowDate.getMonth()+1)+'-'+nowDate.getDate(),
                };
                await strapi.entityService.create({data},{ model: "plugins::billing.records" });

                if(partner_data[0].serviceTier==='Subscription'){
                  switch(true) {
                        
                        case  partner_data[0].keyWord.toLowerCase().includes("start"):
                    
                          // console.log(new Date().toISOString('en-US', { timeZone: 'Asia/Dhaka' }));
                              subscriptionStatus();
                              break;
                        
                        case partner_data[0].keyWord.toLowerCase().includes("stop"):
               
                              await strapi.query('subscription-status').delete({msisdn :String(keywordData[1]), serviceId : partner_data[0].serviceId});
                              break;   

                        case partner_data[0].keyWord.toLowerCase().includes("pending"):
                              
                              var checkMsisdn =await strapi.query('subscription-status').find({msisdn :String(keywordData[1]), serviceId : partner_data[0].serviceId });
                              (checkMsisdn.length>0) ? subscriptionStatus(): console.log('new pending');
                              
                              break;    
                        }

                }

                async function subscriptionStatus(){
              
                  var checkMsisdn =await strapi.query('subscription-status').find({msisdn :String(keywordData[1]), serviceId : partner_data[0].serviceId });
              
                  if(checkMsisdn.length>0){
  
                   await strapi.query('subscription-status').update({msisdn :String(keywordData[1]), serviceId : partner_data[0].serviceId }, { status:(partner_data[0].keyWord.toLowerCase().includes("pending")) ? 'P' : 'A'});

                  }else{
       
                   const data={
                     vendor : String(partner_data[0].vendor.username),
                     serviceId : partner_data[0].serviceId,
                     msisdn: String(keywordData[1]),
                     status: (partner_data[0].keyWord.toLowerCase().includes("pending")) ? 'P' : 'A', 
                   };
                   await strapi.entityService.create({data},{ model: 'subscription-status' });

                  }
   
                }

             
                return "Successfully Returned...";
                
            }

}
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.004 ]--