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


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

namespace App\Http\Controllers;
use 
App\Models\Product;
use 
App\Models\ProductTranslation;
use 
App\Models\Sale;
use 
App\Models\SaleItem;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\DB;
use 
Illuminate\Support\Facades\Validator;
use 
Carbon\Carbon;
use 
DateTime;
class 
SaleController extends Controller
{
    
/**
     * Create a new controller instance.
     *
     * @return void
     */
    
public function __construct()
    {
        
//
    
}
    
// get orders
    
function index($vendor_id,Request $req)
    {   
        if (
count($req->query())===0) {
            
$salesSale::with('order_product')->where("vendor_id",$vendor_id)->get();
            return 
response()->json(["data"=>$sales]);            
        }else{

            
$pr= new Sale;
            
$table $pr->getTable();
    
            
$columns  \Schema::getColumnListing($table);
            
$sales Sale::query();
            
$params $req->query();
            foreach (
$params as $key => $value) {
                if (
in_array($key,$columns,true)) {
                    if (!empty(
$value) || $value==0){
                        
$sales->where($key,$value);
                    }
                }else{
                    return 
response()->json(['error' => 'true''message' =>"invalid parameter ".$key]);
                }
            }
            
$sales=$sales->with('order_product')->where("vendor_id",$vendor_id)->get();
            return 
response()->json(["data"=>$sales]);
        }
    }
    
// create new order
    
public function create($vendor_id,Request $req)
    {   
        if (empty(
$req->input("sale_item"))) {
            return 
response()->json(["error"=>true,"message"=>"No Product Is selected"]);
        }

        
$ref=Sale::select("invoice_no")->where('vendor_id',$vendor_id)->orderBy('id','desc')->limit(1)->get();
        if (
count($ref)>0) {
           
$last_order_id=$ref[0]->invoice_no;
        }else{
           
$last_order_id=100000000;
        } 
       
DB::beginTransaction();
       try {
        
$sale=Sale::create([
            
'invoice_no'        => $last_order_id+1,
            
"page_id"           => $req->input("page_id"),
            
"receiver_name"     => $req->input("receiver_name"),
            
"receiver_phone"    => $req->input("receiver_phone"),
            
'customer_id'       => $req->input("customer_id"),
            
'customer'          => $req->input("customer"),
            
'vendor_id'         => $vendor_id,
            
'note'              => $req->input("note"),
            
'total'             => $req->input("total"),
            
'discount_code'     => 0,
            
'total_discount'    => 0,
            
'shipping'          => $req->input("shipping"),
            
'grand_total'       => $req->input("grand_total"),
            
'total_items'       => $req->input("total_items"),
            
'sale_status'       => 1,
            
'payment_status'    => 'pending',
            
"type"               => $req->input('type'),
            
"delivery_partner"  => $req->input('delivery_partner'),
            
'paid'              => 0,
            
'payment_method'    => $req->input('payment_method'),
            
'address'           =>  $req->input("address")
       
        ]);
        } catch (
\Exception $exception) {
            
DB::rollback();
            return 
response()->json(['error' => 'true''message' =>$exception->errorInfo[2]]);
        }
        if (
$sale) {
            try {
                
$products=explode("||",$req->input("sale_item"));
                for (
$i=0$i <count($products) ; $i++) { 
                    
$product_info=explode(",",$products[$i]);
                    
SaleItem::create([
                        
'sale_id'=>$sale->id,
                        
'invoice_no'=>$sale->invoice_no,
                        
'product_id'=>$product_info[0],
                        
"product_code"=>$product_info[1],
                        
"product_name"=>$product_info[2],
                        
"variant_id"=>$product_info[3],
                        
"unit_price"=>$product_info[4],
                        
"quantity"=>$product_info[5],
                        
"subtotal"=>$product_info[4]*$product_info[5]
                    ]);
                }
            } catch (
\Exception $exception) {
                
DB::rollback();
                return 
response()->json(['error' => 'true''message' =>$exception->errorInfo[2]]);
            }
            
DB::commit();
        
//     $product = Product::find($product->id);
        //     $product->url=str_replace(" ","_",$req->input('title'))."_".$product->id;
        //     $product->save();
        // //     // return response()->json(['message' => "Product Added Successfully"]);
        
$d = new DateTime();
        
$t=$d->format("ymdHisv"); 
            
$data=["id"=>$sale->id,"invoice_no"=>$sale->invoice_no,"_id"=>$t,"created_at"=>$sale->created_at];
            return 
response()->json(['message' => "Successfully Ordered",'data' => $data]);
            
        } else {
            
DB::rollback();
            return 
response()->json(['error' => 'true','message' => "Something is wrong please try again"]);
        }
    }
    
// update order
    
function update($vendor_id,Request $req)
    {
        
$change_items=$req->input("change_items");
        
$sale=Sale::find($req->input('sale_id'));
        if (
$change_items!=="") {
            
$change_items=explode("||",$req->input("change_items"));
            for (
$i=0$i <count($change_items) ; $i++) { 
                
$product_info=explode(",",$change_items[$i]);
                
// product_id,variant_id,quantity,subtotal
                
$item=SaleItem::where('sale_id',$req->input("sale_id"))->where('product_id',$product_info[0])->where('variant_id',$product_info[1])->first();
                
$item->quantity=$product_info[2];
                
$item->subtotal=$product_info[3];
                
$item->edited=1;
                
$item->save();
            }
        }
        
$new_items=$req->input("new_items");
        if (
$new_items!=="") {
            
$new_items=explode("||",$req->input("new_items"));
            for (
$i=0$i <count($new_items) ; $i++) { 
                
$product_info=explode(",",$new_items[$i]);
                
SaleItem::create([
                    
'sale_id'=>$sale->id,
                    
'invoice_no'=>$sale->invoice_no,
                    
'product_id'=>$product_info[0],
                    
"product_code"=>$product_info[1],
                    
"product_name"=>$product_info[2],
                    
"variant_id"=>$product_info[3],
                    
"unit_price"=>$product_info[4],
                    
"quantity"=>$product_info[5],
                    
"subtotal"=>$product_info[4]*$product_info[5],
                    
"edited"=>1

                
]);
            }
        }
        
$sale->total=$req->input("total");
        
$sale->shipping=$req->input("shipping");
        
$sale->grand_total=$req->input("grand_total");
        
$sale->total_items=$req->input("total_items");
        
$sale->delivery_partner=$req->input("delivery_partner");
        
$sale->save();
        return 
response()->json(["message"=>"Done"]);
    }   
    
// update sale status
    
function sale_status($sale_id,Request $req)
    {
        
$sale=Sale::find($sale_id);
        
$sale->sale_status=$req->input("sale_status");
        
$sale-save();
        return 
$sale;
    }
}

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