/home/mip/mip/public/img/credit/datatables/Controllers.tar
Website/ManpowerController.php000066400000005661151240153200012516 0ustar00<?php

namespace QxCMS\Http\Controllers\Website;

use Illuminate\Http\Request;
use QxCMS\Http\Requests\ManpowerFormRequest;
use QxCMS\Http\Controllers\Controller;

class ManpowerController extends Controller
{
    public function create()
    {
        return view('website.about-us');
    }

    public function store(ManpowerFormRequest $request)
    {
    	\Mail::send('emails.manpower-request',
        array(
            'business_name' => $request->get('business_name'),
            'address' => $request->get('address'),
            'telephone' => $request->get('telephone'),
            'fax' => $request->get('fax'),
            'email' => $request->get('email'),
            'website' => $request->get('website'),
            'contact_person' => $request->get('contact_person'),
            'position' => $request->get('position'),
            'license_number' => $request->get('license_number'),
            'nature' => $request->get('nature'),
            'position1' => $request->get('position1'),
            'required1' => $request->get('required1'),
            'description1' => $request->get('description1'),
            'position2' => $request->get('position2'),
            'required2' => $request->get('required2'),
            'description2' => $request->get('description2'),
            'position3' => $request->get('position3'),
            'required3' => $request->get('required3'),
            'description3' => $request->get('description3'),
            'position4' => $request->get('position4'),
            'required4' => $request->get('required4'),
            'description4' => $request->get('description4'),
            'position5' => $request->get('position5'),
            'required5' => $request->get('required5'),
            'description5' => $request->get('description5'),
            'position6' => $request->get('position6'),
            'required6' => $request->get('required6'),
            'description6' => $request->get('description6'),
            'position7' => $request->get('position7'),
            'required7' => $request->get('required7'),
            'description7' => $request->get('description7'),
            'position8' => $request->get('position8'),
            'required8' => $request->get('required8'),
            'description8' => $request->get('description8'),
            'position9' => $request->get('position9'),
            'required9' => $request->get('required9'),
            'description9' => $request->get('description9'),
            'position10' => $request->get('position10'),
            'required10' => $request->get('required10'),
            'description10' => $request->get('description10')
        ), function($message)
  	  {
        $message->from('noreply@mipinternational.com');
        $message->to('mip.intlmanpowerservices@gmail.com', 'Admin')->subject('MIP Website Manpower Request');
    });
    	return \Redirect::route('manpowerrequest')
      ->with('message', 'Thanks for applying to us!');
    }
}
Website/WebsiteController.php000066400000003144151240153200012322 0ustar00<?php

namespace QxCMS\Http\Controllers\Website;

use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Repositories\Posts\PostsRepositoryInterface as Posts;
use QxCMS\Modules\Client\Repositories\JobOpening\JobOpeningRepositoryInterface as Job;
use QxCMS\Models\Countries as Country;
use Yajra\Datatables\Datatables;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use DB;

class WebsiteController extends Controller
{
    protected $posts;
    protected $job;
    protected $country;

    public function __construct(Posts $posts, Job $job, Country $country)
    {
        $this->posts = $posts;
        $this->job = $job;
        $this->country = $country;
    }

    public function datatable()
    {
        return view('datatable');
    }

    public function getJobs()
    {
        $job = $this->job->with('country')->select(['slug','position','country_id','opening_date','closing_date','status'])
        ->where([
            ['status','=','Open'],
            ['opening_date','<=', DB::raw('CURDATE()')],
            ['closing_date','>', DB::raw('CURDATE()')]
            ]);

        return Datatables::of($job)
            ->addColumn('country_name', function($job){
                return ucwords(strtolower($job->country->name));
            })
            ->addColumn('action', function ($job) {
                return '<a href="'.$job->slug.'" class="btn btn-xs btn-datatable"><i class="glyphicon glyphicon-search"></i> View Details</a>';
            })
            ->editColumn('slug', '{{$slug}}')
            ->make(true);
        // return DataTables::of(User::query())->make(true);
    }
}
Website/PostController.php000064400000004545151240153200011651 0ustar00<?php

namespace QxCMS\Http\Controllers\Website;

use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Repositories\Posts\PostsRepositoryInterface as Posts;
use QxCMS\Modules\Client\Repositories\JobOpening\JobOpeningRepositoryInterface as Job;
use QxCMS\Modules\Client\Repositories\Posts\PostCategoryRepositoryInterface as Category;
use Illuminate\Http\Request;
use client;
use DB;
use App\User;

class PostController extends Controller
{
    protected $posts;
    protected $job;
    protected $category;

    public function __construct(Posts $posts, Job $job, Category $category)
    {
        $this->posts = $posts;     
        $this->job = $job;
        $this->category = $category;
    }

    public function index(){
        $data['posts'] = $this->posts->getAllPost();
        $data['latestPosts'] = $this->posts->getLatestPost();
        $data['allPages'] = $this->posts->getAllPage();
        $data['latestPosts'] = $this->posts->getLatestPost();
        $data['latestJobs'] = $this->job->getLatestJob();
        return view('website.index', $data);
    }

    public function posts($category, $slug)
    {
        $data['posts'] = $this->posts->findBySlug($slug);
        $data['allPages'] = $this->posts->getAllPage();
        $data['latestPostByCategory'] = $this->posts->getLatestByCategory($category);
        $view = $this->viewFactory($slug, 'post');
        return view($view, $data);
    }

    public function pages(Request $request, $slug, $limit = 4)
    {
        $data['allPages'] = $this->posts->getAllPage();
        $data['specificPages'] = $this->posts->findBySlug($slug);
        $data['latestPosts'] = $this->posts->getLatestPost();
        $data['latestJobs'] = $this->job->getLatestJob();
        $data['jobpages'] = $this->job->findBySlug($slug);
        $data['postpages'] = $this->posts->findBySlug($slug);
        $data['latestPostByCategory'] = $this->posts->getLatestByCategory('mip');
        if ($request->get('slug')) {
           $data['jobapply'] = $this->job->findBySlug($request->get('slug'));
        }
        $view = $this->viewFactory($slug, 'page');
        return view($view, $data);
    }

    protected function viewFactory($category, $type)
    {
        $view = "website.".$type."-{$category}";
        if (view()->exists($view))
        {
            return $view;
        }

        return 'website.includes.'.$type.'-default';
    }
}
Website/ContactController.php000066400000001530151240153200012310 0ustar00<?php

namespace QxCMS\Http\Controllers\Website;

use Illuminate\Http\Request;
use QxCMS\Http\Requests\ContactFormRequest;
use QxCMS\Http\Controllers\Controller;

class ContactController extends Controller
{
    public function create()
    {
        return view('website.contact-us');
    }

    public function store(ContactFormRequest $request)
    {

    	\Mail::send('emails.contact',
        array(
            'name' => $request->get('name'),
            'email' => $request->get('email'),
            'user_message' => $request->get('message')
        ), function($message)
  	  {
        $message->from('noreply@mipinternational.com');
        $message->to('mip.intlmanpowerservices@gmail.com', 'Admin')->subject('MIP Website Inquiry');
    });
    	return \Redirect::route('contact')
      ->with('message', 'Thanks for contacting us!');
    }
}
Website/ApplyNowController.php000064400000052624151240153200012476 0ustar00<?php

namespace QxCMS\Http\Controllers\Website;

use Illuminate\Http\Request;
use QxCMS\Http\Requests\ApplyNowFormRequest;
use QxCMS\Http\Controllers\Controller;

use DB;

class ApplyNowController extends Controller
{
    public function create()
    {
        return view('website.apply-now');
    }
    

    public function store(ApplyNowFormRequest $request)
    {
      //return 1;
        $singaporeCountryID = 15;
        $taiwanCountryID = 28;
        $selectedCountryID = $request->get('selected_country_id');
        $appliyingForCTPosition = $request->get('appliyingForCTPosition');

        $questionWith = $request->get('questionWith');
        $firstname = $request->get('fname');
        $middlename = $request->get('mname');
        $lastname = $request->get('lname');
        $position = ucwords(strtolower($request->get('position')));
        $email = $request->get('email');
        
        //send email to applicant
        $applicantSubject = $position. ' Job Application';
        if(!empty($email)) {
            \Mail::send('emails.apply-auto-mail',
            array('email' => $email),
            function($message) use ($email, $firstname, $applicantSubject)
      	    {
                $message->from('noreply@mipinternational.com', 'MIP International Manpower Services Inc.');
                $message->to($email, $firstname)->subject($applicantSubject);
            });
        }
        
        //send email to company
        $companySubject = $firstname.' '.$middlename.' '.$lastname.' - '.$position;
    	\Mail::send('emails.apply-now',
        array(
            // Personal Info
            'position' => $position,
            'country' => $request->get('country'),
            'fname' => $firstname,
            'mname' => $middlename,
            'lname' => $lastname,
            'birthdate' => $request->get('birthdate'),
            'gender' => $request->get('gender'),
            'marital_status' => $request->get('marital_status'), // marital status
            'religon' => $request->get('religon'), // religon
            'provincial_address' => $request->get('provincial_address'), // provincial address
            'present_address' => $request->get('present_address'), // present address
            'telephone' => $request->get('telephone'), 
            'facebook' => $request->get('facebook'), // fb
            'email' => $email,
            'height' => $request->get('height'),
            'weight' => $request->get('weight'),
            'passport' => $request->get('passport'),
            'passportNo' => $request->get('passportNo'),
            'dateIssued' => $request->get('dateIssued'),
            'dateExpired' => $request->get('dateExpired'),
            'uploadPhoto' => $request->get('uploadPhoto'),
            'docfile' => $request->get('docfile'),
            
            // Education 1
            'education_level1' => $request->get('education_level1'),
            'school_university1' => $request->get('school_university1'),
            'course1' => $request->get('course1'),
            'startMonth1' => $request->get('startMonth1'),
            'startYear1' => $request->get('startYear1'),
            'endMonth1' => $request->get('endMonth1'),
            'endYear1' => $request->get('endYear1'),
            
            // Education 2
            'education_level2' => $request->get('education_level2'),
            'school_university2' => $request->get('school_university2'),
            'course2' => $request->get('course2'),
            'startMonth2' => $request->get('startMonth2'),
            'startYear2' => $request->get('startYear2'),
            'endMonth2' => $request->get('endMonth2'),
            'endYear2' => $request->get('endYear2'),
            
            // Education 3
            'education_level3' => $request->get('education_level3'),
            'school_university3' => $request->get('school_university3'),
            'course3' => $request->get('course3'),
            'startMonth3' => $request->get('startMonth3'),
            'startYear3' => $request->get('startYear3'),
            'endMonth3' => $request->get('endMonth3'),
            'endYear3' => $request->get('endYear3'),
            
            // Education 4
            'education_level4' => $request->get('education_level4'),
            'school_university4' => $request->get('school_university4'),
            'course4' => $request->get('course4'),
            'startMonth4' => $request->get('startMonth4'),
            'startYear4' => $request->get('startYear4'),
            'endMonth4' => $request->get('endMonth4'),
            'endYear4' => $request->get('endYear4'),
            
            // Work Experience 1
            'company_name1' => $request->get('company_name1'),
            'step3Position1' => $request->get('step3Position1'),
            'departmentName1' => $request->get('departmentName1'),
            'companyAddress1' => $request->get('companyAddress1'),
            'salaryCurrency1' => $request->get('salaryCurrency1'),
            'salary1' => $request->get('salary1'),
            'jobDescription1' => $request->get('jobDescription1'),
            'employmentStartMonth1' => $request->get('employmentStartMonth1'),
            'employmentStartYear1' => $request->get('employmentStartYear1'),
            'employmentEndMonth1' => $request->get('employmentEndMonth1'),
            'employmentEndYear1' => $request->get('employmentEndYear1'),
            
            // Work Experience 2
            'company_name2' => $request->get('company_name2'),
            'step3Position2' => $request->get('step3Position2'),
            'departmentName2' => $request->get('departmentName2'),
            'companyAddress2' => $request->get('companyAddress2'),
            'salaryCurrency2' => $request->get('salaryCurrency2'),
            'salary2' => $request->get('salary2'),
            'jobDescription2' => $request->get('jobDescription2'),
            'employmentStartMonth2' => $request->get('employmentStartMonth2'),
            'employmentStartYear2' => $request->get('employmentStartYear2'),
            'employmentEndMonth2' => $request->get('employmentEndMonth2'),
            'employmentEndYear2' => $request->get('employmentEndYear2'),
            
            // Work Experience 3
            'company_name3' => $request->get('company_name3'),
            'step3Position3' => $request->get('step3Position3'),
            'departmentName3' => $request->get('departmentName3'),
            'companyAddress3' => $request->get('companyAddress3'),
            'salaryCurrency3' => $request->get('salaryCurrency3'),
            'salary3' => $request->get('salary3'),
            'jobDescription3' => $request->get('jobDescription3'),
            'employmentStartMonth3' => $request->get('employmentStartMonth3'),
            'employmentStartYear3' => $request->get('employmentStartYear3'),
            'employmentEndMonth3' => $request->get('employmentEndMonth3'),
            'employmentEndYear3' => $request->get('employmentEndYear3'),
            
            // Work Experience 4
            'company_name4' => $request->get('company_name4'),
            'step3Position4' => $request->get('step3Position4'),
            'departmentName4' => $request->get('departmentName4'),
            'companyAddress4' => $request->get('companyAddress4'),
            'salaryCurrency4' => $request->get('salaryCurrency4'),
            'salary4' => $request->get('salary4'),
            'jobDescription4' => $request->get('jobDescription4'),
            'employmentStartMonth4' => $request->get('employmentStartMonth4'),
            'employmentStartYear4' => $request->get('employmentStartYear4'),
            'employmentEndMonth4' => $request->get('employmentEndMonth4'),
            'employmentEndYear4' => $request->get('employmentEndYear4'),
            
            // Work Experience 5
            'company_name5' => $request->get('company_name5'),
            'step3Position5' => $request->get('step3Position5'),
            'departmentName5' => $request->get('departmentName5'),
            'companyAddress5' => $request->get('companyAddress5'),
            'salaryCurrency5' => $request->get('salaryCurrency5'),
            'salary5' => $request->get('salary5'),
            'jobDescription5' => $request->get('jobDescription5'),
            'employmentStartMonth5' => $request->get('employmentStartMonth5'),
            'employmentStartYear5' => $request->get('employmentStartYear5'),
            'employmentEndMonth5' => $request->get('employmentEndMonth5'),
            'employmentEndYear5' => $request->get('employmentEndYear5'),
            
            // Work Experience 6
            'company_name6' => $request->get('company_name6'),
            'step3Position6' => $request->get('step3Position6'),
            'departmentName6' => $request->get('departmentName6'),
            'companyAddress6' => $request->get('companyAddress6'),
            'salaryCurrency6' => $request->get('salaryCurrency6'),
            'salary6' => $request->get('salary6'),
            'jobDescription6' => $request->get('jobDescription6'),
            'employmentStartMonth6' => $request->get('employmentStartMonth6'),
            'employmentStartYear6' => $request->get('employmentStartYear6'),
            'employmentEndMonth6' => $request->get('employmentEndMonth6'),
            'employmentEndYear6' => $request->get('employmentEndYear6'),
            
            // Work Experience 7
            'company_name7' => $request->get('company_name7'),
            'step3Position7' => $request->get('step3Position7'),
            'departmentName7' => $request->get('departmentName7'),
            'companyAddress7' => $request->get('companyAddress7'),
            'salaryCurrency7' => $request->get('salaryCurrency7'),
            'salary7' => $request->get('salary7'),
            'jobDescription7' => $request->get('jobDescription7'),
            'employmentStartMonth7' => $request->get('employmentStartMonth7'),
            'employmentStartYear7' => $request->get('employmentStartYear7'),
            'employmentEndMonth7' => $request->get('employmentEndMonth7'),
            'employmentEndYear7' => $request->get('employmentEndYear7'),
            
            // Work Experience 8
            'company_name8' => $request->get('company_name8'),
            'step3Position8' => $request->get('step3Position8'),
            'departmentName8' => $request->get('departmentName8'),
            'companyAddress8' => $request->get('companyAddress8'),
            'salaryCurrency8' => $request->get('salaryCurrency8'),
            'salary8' => $request->get('salary8'),
            'jobDescription8' => $request->get('jobDescription8'),
            'employmentStartMonth8' => $request->get('employmentStartMonth8'),
            'employmentStartYear8' => $request->get('employmentStartYear8'),
            'employmentEndMonth8' => $request->get('employmentEndMonth8'),
            'employmentEndYear8' => $request->get('employmentEndYear8'),
            
            // Work Experience 9
            'company_name9' => $request->get('company_name9'),
            'step3Position9' => $request->get('step3Position9'),
            'departmentName9' => $request->get('departmentName9'),
            'companyAddress9' => $request->get('companyAddress9'),
            'salaryCurrency9' => $request->get('salaryCurrency9'),
            'salary9' => $request->get('salary9'),
            'jobDescription9' => $request->get('jobDescription9'),
            'employmentStartMonth9' => $request->get('employmentStartMonth9'),
            'employmentStartYear9' => $request->get('employmentStartYear9'),
            'employmentEndMonth9' => $request->get('employmentEndMonth9'),
            'employmentEndYear9' => $request->get('employmentEndYear9'),
            
            // Work Experience 10
            'company_name10' => $request->get('company_name10'),
            'step3Position10' => $request->get('step3Position10'),
            'departmentName10' => $request->get('departmentName10'),
            'companyAddress10' => $request->get('companyAddress10'),
            'salaryCurrency10' => $request->get('salaryCurrency10'),
            'salary10' => $request->get('salary10'),
            'jobDescription10' => $request->get('jobDescription10'),
            'employmentStartMonth10' => $request->get('employmentStartMonth10'),
            'employmentStartYear10' => $request->get('employmentStartYear10'),
            'employmentEndMonth10' => $request->get('employmentEndMonth10'),
            'employmentEndYear10' => $request->get('employmentEndYear10'),
            
            // Work Experience 11
            'company_name11' => $request->get('company_name11'),
            'step3Position11' => $request->get('step3Position11'),
            'departmentName11' => $request->get('departmentName11'),
            'companyAddress11' => $request->get('companyAddress11'),
            'salaryCurrency11' => $request->get('salaryCurrency11'),
            'salary11' => $request->get('salary11'),
            'jobDescription11' => $request->get('jobDescription11'),
            'employmentStartMonth11' => $request->get('employmentStartMonth11'),
            'employmentStartYear11' => $request->get('employmentStartYear11'),
            'employmentEndMonth11' => $request->get('employmentEndMonth11'),
            'employmentEndYear11' => $request->get('employmentEndYear11'),
            
            // Work Experience 12
            'company_name12' => $request->get('company_name12'),
            'step3Position12' => $request->get('step3Position12'),
            'departmentName12' => $request->get('departmentName12'),
            'companyAddress12' => $request->get('companyAddress12'),
            'salaryCurrency12' => $request->get('salaryCurrency12'),
            'salary12' => $request->get('salary12'),
            'jobDescription12' => $request->get('jobDescription12'),
            'employmentStartMonth12' => $request->get('employmentStartMonth12'),
            'employmentStartYear12' => $request->get('employmentStartYear12'),
            'employmentEndMonth12' => $request->get('employmentEndMonth12'),
            'employmentEndYear12' => $request->get('employmentEndYear12'),
            
            // Work Experience 13
            'company_name13' => $request->get('company_name13'),
            'step3Position13' => $request->get('step3Position13'),
            'departmentName13' => $request->get('departmentName13'),
            'companyAddress13' => $request->get('companyAddress13'),
            'salaryCurrency13' => $request->get('salaryCurrency13'),
            'salary13' => $request->get('salary13'),
            'jobDescription13' => $request->get('jobDescription13'),
            'employmentStartMonth13' => $request->get('employmentStartMonth13'),
            'employmentStartYear13' => $request->get('employmentStartYear13'),
            'employmentEndMonth13' => $request->get('employmentEndMonth13'),
            'employmentEndYear13' => $request->get('employmentEndYear13'),
            
            // Work Experience 14
            'company_name14' => $request->get('company_name14'),
            'step3Position14' => $request->get('step3Position14'),
            'departmentName14' => $request->get('departmentName14'),
            'companyAddress14' => $request->get('companyAddress14'),
            'salaryCurrency14' => $request->get('salaryCurrency14'),
            'salary14' => $request->get('salary14'),
            'jobDescription14' => $request->get('jobDescription14'),
            'employmentStartMonth14' => $request->get('employmentStartMonth14'),
            'employmentStartYear14' => $request->get('employmentStartYear14'),
            'employmentEndMonth14' => $request->get('employmentEndMonth14'),
            'employmentEndYear14' => $request->get('employmentEndYear14'),
            
            // Work Experience 15
            'company_name15' => $request->get('company_name15'),
            'step3Position15' => $request->get('step3Position15'),
            'departmentName15' => $request->get('departmentName15'),
            'companyAddress15' => $request->get('companyAddress15'),
            'salaryCurrency15' => $request->get('salaryCurrency15'),
            'salary15' => $request->get('salary15'),
            'jobDescription15' => $request->get('jobDescription15'),
            'employmentStartMonth15' => $request->get('employmentStartMonth15'),
            'employmentStartYear15' => $request->get('employmentStartYear15'),
            'employmentEndMonth15' => $request->get('employmentEndMonth15'),
            'employmentEndYear15' => $request->get('employmentEndYear15'),
            
            
            // Taiwan - Factory Worker Position
            'taiwanFactoryExperienceElectronics' => $request->get('taiwanFactoryExperienceElectronics'),
            'taiwanFactoryExperienceSemicon' => $request->get('taiwanFactoryExperienceSemicon'),
            'taiwanFactoryExperienceSoldering' => $request->get('taiwanFactoryExperienceSoldering'),
            'taiwanFactoryExperienceCNC' => $request->get('taiwanFactoryExperienceCNC'),
            'taiwanFactoryExperienceSewer' => $request->get('taiwanFactoryExperienceSewer'),
            'taiwanFactoryFirstTimeAbroad' => $request->get('taiwanFactoryFirstTimeAbroad'),
            'taiwanFactorySmoking' => $request->get('taiwanFactorySmoking'),
            'taiwanFactoryDrinkingAlcohol' => $request->get('taiwanFactoryDrinkingAlcohol'),
            'taiwanFactoryHandSweat' => $request->get('taiwanFactoryHandSweat'),
            'taiwanFactoryEyesight' => $request->get('taiwanFactoryEyesight'),
            
            // Taiwan - Factory Worker Position
            'singaporeNurseOverseasExperience' => $request->get('singaporeNurseOverseasExperience'),
            'singaporeNurseWhatCountry' => $request->get('singaporeNurseWhatCountry'),
            'singaporeNurseNameEmployer' => $request->get('singaporeNurseNameEmployer'),
            'singaporeNurseBedCapacity' => $request->get('singaporeNurseBedCapacity'),
            'singaporeNurseAreaExposure' => $request->get('singaporeNurseAreaExposure'),
            'singaporeNursePosition' => $request->get('singaporeNursePosition'),
            
            // Domestic Helper
            'domesticHelperOverseasExperience' => $request->get('domesticHelperOverseasExperience'),
            'domesticHelperWorkingPeriod' => $request->get('domesticHelperWorkingPeriod'),
            'domesticHelperLeaving' => $request->get('domesticHelperLeaving'),
            'domesticHelperTakingCareBabies' => $request->get('domesticHelperTakingCareBabies'),
            'domesticHelperTakingCareAges' => $request->get('domesticHelperTakingCareAges'),
            'domesticHelperCook' => $request->get('domesticHelperCook'),
            
            // Korea Performing Arts
            'koreaPerformingArtsSinger' => $request->get('koreaPerformingArtsSinger'),
            'koreaPerformingArtsPosition' => $request->get('koreaPerformingArtsPosition'),
            'koreaPerformingArtsWorkingPeriod' => $request->get('koreaPerformingArtsWorkingPeriod'),
            
            // China English Teacher
            'chinaEnglishTeacherExperience' => $request->get('chinaEnglishTeacherExperience'),
            'chinaEnglishTeacherArtsPosition' => $request->get('chinaEnglishTeacherArtsPosition'),
            'chinaEnglishTeacherWorkingPeriod' => $request->get('chinaEnglishTeacherWorkingPeriod')
            

        ), function($message) use ($request, $companySubject, $singaporeCountryID, $taiwanCountryID, $selectedCountryID, $appliyingForCTPosition)
  	    {
            $to_email = "mip.intlmanpowerservices@gmail.com";
            if($selectedCountryID == $singaporeCountryID) $to_email = "applycvs.singapore@gmail.com";
            if($selectedCountryID == $taiwanCountryID) $to_email = "applycvs.taiwan@gmail.com";
            if($appliyingForCTPosition == 1) {
                  if(($selectedCountryID == $taiwanCountryID) || ($selectedCountryID == $singaporeCountryID)) {
                     $to_email = "applycvs.dhct@gmail.com";
                  }
            }

            /*$to_email = "danilo@quantumx.com";
            if($selectedCountryID == $singaporeCountryID) $to_email = "jayson@quantumx.com";
            if($selectedCountryID == $taiwanCountryID) $to_email = "christinejoy@quantumx.com";
            if($appliyingForCTPosition == 1) {
                  if(($selectedCountryID == $taiwanCountryID) || ($selectedCountryID == $singaporeCountryID)) {
                     $to_email = "jude@quantumx.com";
                  }
            }*/

            $message->from('noreply@mipinternational.com', 'MIP Website Application');
            $message->to([$to_email])->subject($companySubject);
            //$message->to(['danilo@quantumx.com'])->subject($companySubject);
            //$message->to(['jovylou@quantumx.com'])->subject($companySubject);
            
            if(!empty($request['uploadPhoto'])){
                $message->attach($request['uploadPhoto']->getRealPath(), array(
                    'as'=>$request['uploadPhoto']->getClientOriginalName(),
                    'mime' => $request['uploadPhoto']->getMimeType())
                );
            }
            
            if(!empty($request['docfile'])){
                    $message->attach($request['docfile']->getRealPath(), array(
                    'as'=>$request['docfile']->getClientOriginalName(),
                    'mime' => $request['docfile']->getMimeType())
                );
            }
            
        });//end
        
    	return \Redirect::route('applynow')
            ->with('message', 'Message Sent. Thanks for applying to us!')->with('questionWith', $questionWith);
        
    } // function end
}Website/GeneralApplicationController.php000066400000042733151240153200014470 0ustar00<?php

namespace QxCMS\Http\Controllers\Website;

use Illuminate\Http\Request;
use QxCMS\Http\Requests\ApplyNowFormRequest; //
use QxCMS\Http\Controllers\Controller;

use DB;

class GeneralApplicationController extends Controller
{
    public function create()
    {
        return view('website.general-application');
    }
    
    
    public function store(ApplyNowFormRequest $request)
    {
        $questionWith = $request->get('questionWith');
        $firstname = $request->get('fname');
        $middlename = $request->get('mname');
        $lastname = $request->get('lname');
        $position = ucwords(strtolower($request->get('position')));
        $email = $request->get('email');
        
        //send email to applicant
        $applicantSubject = $position. ' | General Application';
        if(!empty($email)) {
            \Mail::send('emails.apply-auto-mail',
            array('email' => $email),
            function($message) use ($email, $firstname, $applicantSubject)
      	    {
                $message->from('noreply@mipinternational.com', 'MIP International Manpower Services Inc.');
                $message->to($email, $firstname)->subject($applicantSubject);
            });
        }
        
        //send email to company
        $companySubject = $firstname.' '.$middlename.' '.$lastname.' - '.$position;
    	\Mail::send('emails.general-application',
        array(
            // Personal Info
            'position' => $position,
            'country' => $request->get('country'),
            'fname' => $firstname,
            'mname' => $middlename,
            'lname' => $lastname,
            'birthdate' => $request->get('birthdate'),
            'gender' => $request->get('gender'),
            'marital_status' => $request->get('marital_status'), // marital status
            'religon' => $request->get('religon'), // religon
            'provincial_address' => $request->get('provincial_address'), // provincial address
            'present_address' => $request->get('present_address'), // present address
            'telephone' => $request->get('telephone'),
            'facebook' => $request->get('facebook'), // fb
            'email' => $email,
            'height' => $request->get('height'),
            'weight' => $request->get('weight'),
            'passport' => $request->get('passport'),
            'passportNo' => $request->get('passportNo'),
            'dateIssued' => $request->get('dateIssued'),
            'dateExpired' => $request->get('dateExpired'),
            'uploadPhoto' => $request->get('uploadPhoto'),
            'docfile' => $request->get('docfile'),
            
            // Education 1
            'education_level1' => $request->get('education_level1'),
            'school_university1' => $request->get('school_university1'),
            'course1' => $request->get('course1'),
            'startMonth1' => $request->get('startMonth1'),
            'startYear1' => $request->get('startYear1'),
            'endMonth1' => $request->get('endMonth1'),
            'endYear1' => $request->get('endYear1'),
            
            // Education 2
            'education_level2' => $request->get('education_level2'),
            'school_university2' => $request->get('school_university2'),
            'course2' => $request->get('course2'),
            'startMonth2' => $request->get('startMonth2'),
            'startYear2' => $request->get('startYear2'),
            'endMonth2' => $request->get('endMonth2'),
            'endYear2' => $request->get('endYear2'),
            
            // Education 3
            'education_level3' => $request->get('education_level3'),
            'school_university3' => $request->get('school_university3'),
            'course3' => $request->get('course3'),
            'startMonth3' => $request->get('startMonth3'),
            'startYear3' => $request->get('startYear3'),
            'endMonth3' => $request->get('endMonth3'),
            'endYear3' => $request->get('endYear3'),
            
            // Education 4
            'education_level4' => $request->get('education_level4'),
            'school_university4' => $request->get('school_university4'),
            'course4' => $request->get('course4'),
            'startMonth4' => $request->get('startMonth4'),
            'startYear4' => $request->get('startYear4'),
            'endMonth4' => $request->get('endMonth4'),
            'endYear4' => $request->get('endYear4'),
            
            // Work Experience 1
            'company_name1' => $request->get('company_name1'),
            'step3Position1' => $request->get('step3Position1'),
            'departmentName1' => $request->get('departmentName1'),
            'companyAddress1' => $request->get('companyAddress1'),
            'salaryCurrency1' => $request->get('salaryCurrency1'),
            'salary1' => $request->get('salary1'),
            'jobDescription1' => $request->get('jobDescription1'),
            'employmentStartMonth1' => $request->get('employmentStartMonth1'),
            'employmentStartYear1' => $request->get('employmentStartYear1'),
            'employmentEndMonth1' => $request->get('employmentEndMonth1'),
            'employmentEndYear1' => $request->get('employmentEndYear1'),
            
            // Work Experience 2
            'company_name2' => $request->get('company_name2'),
            'step3Position2' => $request->get('step3Position2'),
            'departmentName2' => $request->get('departmentName2'),
            'companyAddress2' => $request->get('companyAddress2'),
            'salaryCurrency2' => $request->get('salaryCurrency2'),
            'salary2' => $request->get('salary2'),
            'jobDescription2' => $request->get('jobDescription2'),
            'employmentStartMonth2' => $request->get('employmentStartMonth2'),
            'employmentStartYear2' => $request->get('employmentStartYear2'),
            'employmentEndMonth2' => $request->get('employmentEndMonth2'),
            'employmentEndYear2' => $request->get('employmentEndYear2'),
            
            // Work Experience 3
            'company_name3' => $request->get('company_name3'),
            'step3Position3' => $request->get('step3Position3'),
            'departmentName3' => $request->get('departmentName3'),
            'companyAddress3' => $request->get('companyAddress3'),
            'salaryCurrency3' => $request->get('salaryCurrency3'),
            'salary3' => $request->get('salary3'),
            'jobDescription3' => $request->get('jobDescription3'),
            'employmentStartMonth3' => $request->get('employmentStartMonth3'),
            'employmentStartYear3' => $request->get('employmentStartYear3'),
            'employmentEndMonth3' => $request->get('employmentEndMonth3'),
            'employmentEndYear3' => $request->get('employmentEndYear3'),
            
            // Work Experience 4
            'company_name4' => $request->get('company_name4'),
            'step3Position4' => $request->get('step3Position4'),
            'departmentName4' => $request->get('departmentName4'),
            'companyAddress4' => $request->get('companyAddress4'),
            'salaryCurrency4' => $request->get('salaryCurrency4'),
            'salary4' => $request->get('salary4'),
            'jobDescription4' => $request->get('jobDescription4'),
            'employmentStartMonth4' => $request->get('employmentStartMonth4'),
            'employmentStartYear4' => $request->get('employmentStartYear4'),
            'employmentEndMonth4' => $request->get('employmentEndMonth4'),
            'employmentEndYear4' => $request->get('employmentEndYear4'),
            
            // Work Experience 5
            'company_name5' => $request->get('company_name5'),
            'step3Position5' => $request->get('step3Position5'),
            'departmentName5' => $request->get('departmentName5'),
            'companyAddress5' => $request->get('companyAddress5'),
            'salaryCurrency5' => $request->get('salaryCurrency5'),
            'salary5' => $request->get('salary5'),
            'jobDescription5' => $request->get('jobDescription5'),
            'employmentStartMonth5' => $request->get('employmentStartMonth5'),
            'employmentStartYear5' => $request->get('employmentStartYear5'),
            'employmentEndMonth5' => $request->get('employmentEndMonth5'),
            'employmentEndYear5' => $request->get('employmentEndYear5'),
            
            // Work Experience 6
            'company_name6' => $request->get('company_name6'),
            'step3Position6' => $request->get('step3Position6'),
            'departmentName6' => $request->get('departmentName6'),
            'companyAddress6' => $request->get('companyAddress6'),
            'salaryCurrency6' => $request->get('salaryCurrency6'),
            'salary6' => $request->get('salary6'),
            'jobDescription6' => $request->get('jobDescription6'),
            'employmentStartMonth6' => $request->get('employmentStartMonth6'),
            'employmentStartYear6' => $request->get('employmentStartYear6'),
            'employmentEndMonth6' => $request->get('employmentEndMonth6'),
            'employmentEndYear6' => $request->get('employmentEndYear6'),
            
            // Work Experience 7
            'company_name7' => $request->get('company_name7'),
            'step3Position7' => $request->get('step3Position7'),
            'departmentName7' => $request->get('departmentName7'),
            'companyAddress7' => $request->get('companyAddress7'),
            'salaryCurrency7' => $request->get('salaryCurrency7'),
            'salary7' => $request->get('salary7'),
            'jobDescription7' => $request->get('jobDescription7'),
            'employmentStartMonth7' => $request->get('employmentStartMonth7'),
            'employmentStartYear7' => $request->get('employmentStartYear7'),
            'employmentEndMonth7' => $request->get('employmentEndMonth7'),
            'employmentEndYear7' => $request->get('employmentEndYear7'),
            
            // Work Experience 8
            'company_name8' => $request->get('company_name8'),
            'step3Position8' => $request->get('step3Position8'),
            'departmentName8' => $request->get('departmentName8'),
            'companyAddress8' => $request->get('companyAddress8'),
            'salaryCurrency8' => $request->get('salaryCurrency8'),
            'salary8' => $request->get('salary8'),
            'jobDescription8' => $request->get('jobDescription8'),
            'employmentStartMonth8' => $request->get('employmentStartMonth8'),
            'employmentStartYear8' => $request->get('employmentStartYear8'),
            'employmentEndMonth8' => $request->get('employmentEndMonth8'),
            'employmentEndYear8' => $request->get('employmentEndYear8'),
            
            // Work Experience 9
            'company_name9' => $request->get('company_name9'),
            'step3Position9' => $request->get('step3Position9'),
            'departmentName9' => $request->get('departmentName9'),
            'companyAddress9' => $request->get('companyAddress9'),
            'salaryCurrency9' => $request->get('salaryCurrency9'),
            'salary9' => $request->get('salary9'),
            'jobDescription9' => $request->get('jobDescription9'),
            'employmentStartMonth9' => $request->get('employmentStartMonth9'),
            'employmentStartYear9' => $request->get('employmentStartYear9'),
            'employmentEndMonth9' => $request->get('employmentEndMonth9'),
            'employmentEndYear9' => $request->get('employmentEndYear9'),
            
            // Work Experience 10
            'company_name10' => $request->get('company_name10'),
            'step3Position10' => $request->get('step3Position10'),
            'departmentName10' => $request->get('departmentName10'),
            'companyAddress10' => $request->get('companyAddress10'),
            'salaryCurrency10' => $request->get('salaryCurrency10'),
            'salary10' => $request->get('salary10'),
            'jobDescription10' => $request->get('jobDescription10'),
            'employmentStartMonth10' => $request->get('employmentStartMonth10'),
            'employmentStartYear10' => $request->get('employmentStartYear10'),
            'employmentEndMonth10' => $request->get('employmentEndMonth10'),
            'employmentEndYear10' => $request->get('employmentEndYear10'),
            
            // Work Experience 11
            'company_name11' => $request->get('company_name11'),
            'step3Position11' => $request->get('step3Position11'),
            'departmentName11' => $request->get('departmentName11'),
            'companyAddress11' => $request->get('companyAddress11'),
            'salaryCurrency11' => $request->get('salaryCurrency11'),
            'salary11' => $request->get('salary11'),
            'jobDescription11' => $request->get('jobDescription11'),
            'employmentStartMonth11' => $request->get('employmentStartMonth11'),
            'employmentStartYear11' => $request->get('employmentStartYear11'),
            'employmentEndMonth11' => $request->get('employmentEndMonth11'),
            'employmentEndYear11' => $request->get('employmentEndYear11'),
            
            // Work Experience 12
            'company_name12' => $request->get('company_name12'),
            'step3Position12' => $request->get('step3Position12'),
            'departmentName12' => $request->get('departmentName12'),
            'companyAddress12' => $request->get('companyAddress12'),
            'salaryCurrency12' => $request->get('salaryCurrency12'),
            'salary12' => $request->get('salary12'),
            'jobDescription12' => $request->get('jobDescription12'),
            'employmentStartMonth12' => $request->get('employmentStartMonth12'),
            'employmentStartYear12' => $request->get('employmentStartYear12'),
            'employmentEndMonth12' => $request->get('employmentEndMonth12'),
            'employmentEndYear12' => $request->get('employmentEndYear12'),
            
            // Work Experience 13
            'company_name13' => $request->get('company_name13'),
            'step3Position13' => $request->get('step3Position13'),
            'departmentName13' => $request->get('departmentName13'),
            'companyAddress13' => $request->get('companyAddress13'),
            'salaryCurrency13' => $request->get('salaryCurrency13'),
            'salary13' => $request->get('salary13'),
            'jobDescription13' => $request->get('jobDescription13'),
            'employmentStartMonth13' => $request->get('employmentStartMonth13'),
            'employmentStartYear13' => $request->get('employmentStartYear13'),
            'employmentEndMonth13' => $request->get('employmentEndMonth13'),
            'employmentEndYear13' => $request->get('employmentEndYear13'),
            
            // Work Experience 14
            'company_name14' => $request->get('company_name14'),
            'step3Position14' => $request->get('step3Position14'),
            'departmentName14' => $request->get('departmentName14'),
            'companyAddress14' => $request->get('companyAddress14'),
            'salaryCurrency14' => $request->get('salaryCurrency14'),
            'salary14' => $request->get('salary14'),
            'jobDescription14' => $request->get('jobDescription14'),
            'employmentStartMonth14' => $request->get('employmentStartMonth14'),
            'employmentStartYear14' => $request->get('employmentStartYear14'),
            'employmentEndMonth14' => $request->get('employmentEndMonth14'),
            'employmentEndYear14' => $request->get('employmentEndYear14'),
            
            // Work Experience 15
            'company_name15' => $request->get('company_name15'),
            'step3Position15' => $request->get('step3Position15'),
            'departmentName15' => $request->get('departmentName15'),
            'companyAddress15' => $request->get('companyAddress15'),
            'salaryCurrency15' => $request->get('salaryCurrency15'),
            'salary15' => $request->get('salary15'),
            'jobDescription15' => $request->get('jobDescription15'),
            'employmentStartMonth15' => $request->get('employmentStartMonth15'),
            'employmentStartYear15' => $request->get('employmentStartYear15'),
            'employmentEndMonth15' => $request->get('employmentEndMonth15'),
            'employmentEndYear15' => $request->get('employmentEndYear15')
            
        ), function($message) use ($request, $companySubject)
  	    {
            $message->from('noreply@mipinternational.com', 'MIP General Application');
            $message->to(['mip.intlmanpowerservices@gmail.com'])->subject($companySubject);
            //$message->to(['jovylou@quantumx.com', 'christinejoy@quantumx.com'])->subject($companySubject);
            //$message->to(['jovylou@quantumx.com'])->subject($companySubject);
            
            if(!empty($request['uploadPhoto'])){
                $message->attach($request['uploadPhoto']->getRealPath(), array(
                    'as'=>$request['uploadPhoto']->getClientOriginalName(),
                    'mime' => $request['uploadPhoto']->getMimeType())
                );
            }
            
            if(!empty($request['docfile'])){
                    $message->attach($request['docfile']->getRealPath(), array(
                    'as'=>$request['docfile']->getClientOriginalName(),
                    'mime' => $request['docfile']->getMimeType())
                );
            }
            
        });
        
    	return \Redirect::route('applygeneral')
            ->with('message', 'Message Sent. Thanks for applying to us!')->with('questionWith', $questionWith);
        
    } // function end
    
} // class end
Auth/ForgotPasswordController.php000066400000000556151240153200013206 0ustar00<?php

namespace QxCMS\Http\Controllers\Auth;

use QxCMS\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use QxCMS\Modules\Likod\Models\Clients\User;

class ForgotPasswordController extends Controller
{

    use SendsPasswordResetEmails;

    public function __construct()
    {
        $this->middleware('guest');
    }
    
}
Auth/LoginController.php000066400000001671151240153200011272 0ustar00<?php

namespace QxCMS\Http\Controllers\Auth;

use QxCMS\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest', ['except' => 'logout']);
    }
}
Auth/RegisterController.php000066400000003405151240153200012003 0ustar00<?php

namespace QxCMS\Http\Controllers\Auth;

use QxCMS\User;
use QxCMS\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;

class RegisterController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Register Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users as well as their
    | validation and creation. By default this controller uses a trait to
    | provide this functionality without requiring any additional code.
    |
    */

    use RegistersUsers;

    /**
     * Where to redirect users after registration.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest');
    }

    /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */
    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|min:6|confirmed',
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return User
     */
    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }
}
Auth/ResetPasswordController.php000066400000001711151240153200013022 0ustar00<?php

namespace QxCMS\Http\Controllers\Auth;

use QxCMS\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;

class ResetPasswordController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Password Reset Controller
    |--------------------------------------------------------------------------
    |
    | This controller is responsible for handling password reset requests
    | and uses a simple trait to include this behavior. You're free to
    | explore this trait and override any methods you wish to tweak.
    |
    */

    use ResetsPasswords;

    /**
     * Where to redirect users after resetting their password.
     *
     * @var string
     */
    protected $redirectTo = '/client/auth/login';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest');
    }
}
Controller.php000064400000000467151240153200007400 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;

abstract class Controller extends BaseController
{
    use DispatchesJobs, ValidatesRequests;
}
ItemsController.php000064400000007106151521004610010401 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use Illuminate\Support\Facades\Storage;
use UniSharp\LaravelFilemanager\Events\FileIsMoving;
use UniSharp\LaravelFilemanager\Events\FileWasMoving;
use UniSharp\LaravelFilemanager\Events\FolderIsMoving;
use UniSharp\LaravelFilemanager\Events\FolderWasMoving;

class ItemsController extends LfmController
{
    /**
     * Get the images to load for a selected folder.
     *
     * @return mixed
     */
    public function getItems()
    {
        $currentPage = self::getCurrentPageFromRequest();

        $perPage = $this->helper->getPaginationPerPage();
        $items = array_merge($this->lfm->folders(), $this->lfm->files());

        return [
            'items' => array_map(function ($item) {
                return $item->fill()->attributes;
            }, array_slice($items, ($currentPage - 1) * $perPage, $perPage)),
            'paginator' => [
                'current_page' => $currentPage,
                'total' => count($items),
                'per_page' => $perPage,
            ],
            'display' => $this->helper->getDisplayMode(),
            'working_dir' => $this->lfm->path('working_dir'),
        ];
    }

    public function move()
    {
        $items = request('items');
        $folder_types = array_filter(['user', 'share'], function ($type) {
            return $this->helper->allowFolderType($type);
        });
        return view('laravel-filemanager::move')
            ->with([
                'root_folders' => array_map(function ($type) use ($folder_types) {
                    $path = $this->lfm->dir($this->helper->getRootFolder($type));

                    return (object) [
                        'name' => trans('laravel-filemanager::lfm.title-' . $type),
                        'url' => $path->path('working_dir'),
                        'children' => $path->folders(),
                        'has_next' => ! ($type == end($folder_types)),
                    ];
                }, $folder_types),
            ])
            ->with('items', $items);
    }

    public function doMove()
    {
        $target = $this->helper->input('goToFolder');
        $items = $this->helper->input('items');

        foreach ($items as $item) {
            $old_file = $this->lfm->pretty($item);
            $is_directory = $old_file->isDirectory();

            $file = $this->lfm->setName($item);

            if (!Storage::disk($this->helper->config('disk'))->exists($file->path('storage'))) {
                abort(404);
            }

            $old_path = $old_file->path();

            if ($old_file->hasThumb()) {
                $new_file = $this->lfm->setName($item)->thumb()->dir($target);
                if ($is_directory) {
                    event(new FolderIsMoving($old_file->path(), $new_file->path()));
                } else {
                    event(new FileIsMoving($old_file->path(), $new_file->path()));
                }
                $this->lfm->setName($item)->thumb()->move($new_file);
            }
            $new_file = $this->lfm->setName($item)->dir($target);
            $this->lfm->setName($item)->move($new_file);
            if ($is_directory) {
                event(new FolderWasMoving($old_path, $new_file->path()));
            } else {
                event(new FileWasMoving($old_path, $new_file->path()));
            }
        };

        return parent::$success_response;
    }

    private static function getCurrentPageFromRequest()
    {
        $currentPage = (int) request()->get('page', 1);
        $currentPage = $currentPage < 1 ? 1 : $currentPage;

        return $currentPage;
    }
}
UploadController.php000064400000004071151521004610010542 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Log;
use UniSharp\LaravelFilemanager\Lfm;

class UploadController extends LfmController
{
    protected $errors;

    public function __construct()
    {
        parent::__construct();
        $this->errors = [];
    }

    /**
     * Upload files
     *
     * @param void
     *
     * @return JsonResponse
     */
    public function upload()
    {
        $uploaded_files = request()->file('upload');
        $error_bag = [];
        $new_filename = null;

        foreach (is_array($uploaded_files) ? $uploaded_files : [$uploaded_files] as $file) {
            try {
                $this->lfm->validateUploadedFile($file);

                $new_filename = $this->lfm->upload($file);
            } catch (\Exception $e) {
                Log::error($e->getMessage(), [
                    'file' => $e->getFile(),
                    'line' => $e->getLine(),
                    'trace' => $e->getTraceAsString()
                ]);
                array_push($error_bag, $e->getMessage());
            } catch (\Error $e) {
                Log::error($e->getMessage(), [
                    'file' => $e->getFile(),
                    'line' => $e->getLine(),
                    'trace' => $e->getTraceAsString()
                ]);
                array_push($error_bag, 'Some error occured during uploading.');
            }
        }

        if (is_array($uploaded_files)) {
            $response = count($error_bag) > 0 ? $error_bag : parent::$success_response;
        } else { // upload via ckeditor5 expects json responses
            if (is_null($new_filename)) {
                $response = [
                    'error' => [ 'message' =>  $error_bag[0] ]
                ];
            } else {
                $url = $this->lfm->setName($new_filename)->url();

                $response = [
                    'url' => $url,
                    'uploaded' => $url
                ];
            }
        }

        return response()->json($response);
    }
}
CropController.php000064400000003642151521004610010224 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use Intervention\Image\Facades\Image as InterventionImageV2;
use Intervention\Image\Laravel\Facades\Image as InterventionImageV3;
use UniSharp\LaravelFilemanager\Events\ImageIsCropping;
use UniSharp\LaravelFilemanager\Events\ImageWasCropped;

class CropController extends LfmController
{
    /**
     * Show crop page.
     *
     * @return mixed
     */
    public function getCrop()
    {
        return view('laravel-filemanager::crop')
            ->with([
                'working_dir' => request('working_dir'),
                'img' => $this->lfm->pretty(request('img'))
            ]);
    }

    /**
     * Crop the image (called via ajax).
     */
    public function getCropImage($overWrite = true)
    {
        $image_name = request('img');
        $image_path = $this->lfm->setName($image_name)->path('absolute');
        $crop_path = $image_path;

        if (! $overWrite) {
            $fileParts = explode('.', $image_name);
            $fileParts[count($fileParts) - 2] = $fileParts[count($fileParts) - 2] . '_cropped_' . time();
            $crop_path = $this->lfm->setName(implode('.', $fileParts))->path('absolute');
        }

        event(new ImageIsCropping($image_path));

        $crop_info = request()->only('dataWidth', 'dataHeight', 'dataX', 'dataY');

        // crop image
        if (class_exists(InterventionImageV2::class)) {
            InterventionImageV2::make($image_path)
                ->crop(...array_values($crop_info))
                ->save($crop_path);
        } else {
            InterventionImageV3::read($image_path)
                ->crop(...array_values($crop_info))
                ->save($crop_path);
        }

        // make new thumbnail
        $this->lfm->generateThumbnail($image_name);

        event(new ImageWasCropped($image_path));
    }

    public function getNewCropImage()
    {
        $this->getCropimage(false);
    }
}
FolderController.php000064400000004127151521004610010533 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use UniSharp\LaravelFilemanager\Events\FolderIsCreating;
use UniSharp\LaravelFilemanager\Events\FolderWasCreated;

class FolderController extends LfmController
{
    /**
     * Get list of folders as json to populate treeview.
     *
     * @return mixed
     */
    public function getFolders()
    {
        $folder_types = array_filter(['user', 'share'], function ($type) {
            return $this->helper->allowFolderType($type);
        });

        return view('laravel-filemanager::tree')
            ->with([
                'root_folders' => array_map(function ($type) use ($folder_types) {
                    $path = $this->lfm->dir($this->helper->getRootFolder($type));

                    return (object) [
                        'name' => trans('laravel-filemanager::lfm.title-' . $type),
                        'url' => $path->path('working_dir'),
                        'children' => $path->folders(),
                        'has_next' => ! ($type == end($folder_types)),
                    ];
                }, $folder_types),
            ]);
    }

    /**
     * Add a new folder.
     *
     * @return mixed
     */
    public function getAddfolder()
    {
        $folder_name = $this->helper->input('name');

        $new_path = $this->lfm->setName($folder_name)->path('absolute');

        event(new FolderIsCreating($new_path));

        try {
            if ($folder_name === null || $folder_name == '') {
                return $this->helper->error('folder-name');
            } elseif ($this->lfm->setName($folder_name)->exists()) {
                return $this->helper->error('folder-exist');
            } elseif (config('lfm.alphanumeric_directory') && preg_match('/[^\w-]/i', $folder_name)) {
                return $this->helper->error('folder-alnum');
            } else {
                $this->lfm->setName($folder_name)->createFolder();
            }
        } catch (\Exception $e) {
            return $e->getMessage();
        }

        event(new FolderWasCreated($new_path));

        return parent::$success_response;
    }
}
LfmController.php000064400000004567151521004610010046 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use UniSharp\LaravelFilemanager\Lfm;
use UniSharp\LaravelFilemanager\LfmPath;

class LfmController extends Controller
{
    protected static $success_response = 'OK';

    public function __construct()
    {
        $this->applyIniOverrides();
    }

    /**
     * Set up needed functions.
     *
     * @return object|null
     */
    public function __get($var_name)
    {
        if ($var_name === 'lfm') {
            return app(LfmPath::class);
        } elseif ($var_name === 'helper') {
            return app(Lfm::class);
        }
    }

    /**
     * Show the filemanager.
     *
     * @return mixed
     */
    public function show()
    {
        return view('laravel-filemanager::index')
            ->withHelper($this->helper);
    }

    /**
     * Check if any extension or config is missing.
     *
     * @return array
     */
    public function getErrors()
    {
        $arr_errors = [];

        if (! extension_loaded('gd') && ! extension_loaded('imagick')) {
            array_push($arr_errors, trans('laravel-filemanager::lfm.message-extension_not_found'));
        }

        if (! extension_loaded('exif')) {
            array_push($arr_errors, 'EXIF extension not found.');
        }

        if (! extension_loaded('fileinfo')) {
            array_push($arr_errors, 'Fileinfo extension not found.');
        }

        $mine_config_key = 'lfm.folder_categories.'
            . $this->helper->currentLfmType()
            . '.valid_mime';

        if (! is_array(config($mine_config_key))) {
            array_push($arr_errors, 'Config : ' . $mine_config_key . ' is not a valid array.');
        }

        return $arr_errors;
    }

    /**
     * Overrides settings in php.ini.
     *
     * @return null
     */
    private function applyIniOverrides()
    {
        $overrides = config('lfm.php_ini_overrides', []);

        if ($overrides && is_array($overrides) && count($overrides) === 0) {
            return;
        }

        foreach ($overrides as $key => $value) {
            if ($value && $value != 'false') {
                ini_set($key, $value);
            }
        }
    }

    // TODO: remove this after refactoring RenameController and DeleteController
    protected function error($error_type, $variables = [])
    {
        return trans(Lfm::PACKAGE_NAME . '::lfm.error-' . $error_type, $variables);
    }
}
DemoController.php000064400000000304151521004610010175 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

class DemoController extends LfmController
{
    public function index()
    {
        return view('laravel-filemanager::demo');
    }
}
RenameController.php000064400000005366151521004610010535 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use Illuminate\Support\Facades\Storage;
use UniSharp\LaravelFilemanager\Events\FolderIsRenaming;
use UniSharp\LaravelFilemanager\Events\FolderWasRenamed;
use UniSharp\LaravelFilemanager\Events\FileIsRenaming;
use UniSharp\LaravelFilemanager\Events\FileWasRenamed;
use UniSharp\LaravelFilemanager\Events\ImageIsRenaming;
use UniSharp\LaravelFilemanager\Events\ImageWasRenamed;

class RenameController extends LfmController
{
    public function getRename()
    {
        $old_name = $this->helper->input('file');
        $new_name = $this->helper->input('new_name');

        $file = $this->lfm->setName($old_name);

        if (!Storage::disk($this->helper->config('disk'))->exists($file->path('storage'))) {
            abort(404);
        }

        $old_file = $this->lfm->pretty($old_name);

        $is_directory = $file->isDirectory();

        if (empty($new_name)) {
            if ($is_directory) {
                return response()->json(parent::error('folder-name'), 400);
            } else {
                return response()->json(parent::error('file-name'), 400);
            }
        }

        if ($is_directory && config('lfm.alphanumeric_directory') && preg_match('/[^\w-]/i', $new_name)) {
            return response()->json(parent::error('folder-alnum'), 400);
        } elseif (config('lfm.alphanumeric_filename') && preg_match('/[^.\w-]/i', $new_name)) {
            return response()->json(parent::error('file-alnum'), 400);
        } elseif ($this->lfm->setName($new_name)->exists()) {
            return response()->json(parent::error('rename'), 400);
        }

        if (! $is_directory) {
            $extension = $old_file->extension();
            if ($extension) {
                $new_name = str_replace('.' . $extension, '', $new_name) . '.' . $extension;
            }
        }

        $new_path = $this->lfm->setName($new_name)->path('absolute');

        if ($is_directory) {
            event(new FolderIsRenaming($old_file->path(), $new_path));
        } else {
            event(new FileIsRenaming($old_file->path(), $new_path));
            event(new ImageIsRenaming($old_file->path(), $new_path));
        }

        $old_path = $old_file->path();

        if ($old_file->hasThumb()) {
            $this->lfm->setName($old_name)->thumb()
                ->move($this->lfm->setName($new_name)->thumb());
        }

        $this->lfm->setName($old_name)
            ->move($this->lfm->setName($new_name));

        if ($is_directory) {
            event(new FolderWasRenamed($old_path, $new_path));
        } else {
            event(new FileWasRenamed($old_path, $new_path));
            event(new ImageWasRenamed($old_path, $new_path));
        }

        return parent::$success_response;
    }
}
ResizeController.php000064400000005741151521004610010564 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use Intervention\Image\Facades\Image as InterventionImageV2;
use Intervention\Image\Laravel\Facades\Image as InterventionImageV3;
use UniSharp\LaravelFilemanager\Events\ImageIsResizing;
use UniSharp\LaravelFilemanager\Events\ImageWasResized;

class ResizeController extends LfmController
{
    /**
     * Dipsplay image for resizing.
     *
     * @return mixed
     */
    public function getResize()
    {
        $ratio = 1.0;
        $image = request('img');

        if (class_exists(InterventionImageV2::class)) {
            $original_image = InterventionImageV2::make($this->lfm->setName($image)->path('absolute'));
        } else {
            $original_image = InterventionImageV3::read($this->lfm->setName($image)->path('absolute'));
        }
        $original_width = $original_image->width();
        $original_height = $original_image->height();

        $scaled = false;

        // FIXME size should be configurable
        if ($original_width > 600) {
            $ratio = 600 / $original_width;
            $width = $original_width * $ratio;
            $height = $original_height * $ratio;
            $scaled = true;
        } else {
            $width = $original_width;
            $height = $original_height;
        }

        if ($height > 400) {
            $ratio = 400 / $original_height;
            $width = $original_width * $ratio;
            $height = $original_height * $ratio;
            $scaled = true;
        }

        return view('laravel-filemanager::resize')
            ->with('img', $this->lfm->pretty($image))
            ->with('height', number_format($height, 0))
            ->with('width', $width)
            ->with('original_height', $original_height)
            ->with('original_width', $original_width)
            ->with('scaled', $scaled)
            ->with('ratio', $ratio);
    }

    public function performResize($overWrite = true)
    {
        $image_name = request('img');
        $image_path = $this->lfm->setName(request('img'))->path('absolute');
        $resize_path = $image_path;

        if (! $overWrite) {
            $fileParts = explode('.', $image_name);
            $fileParts[count($fileParts) - 2] = $fileParts[count($fileParts) - 2] . '_resized_' . time();
            $resize_path = $this->lfm->setName(implode('.', $fileParts))->path('absolute');
        }

        event(new ImageIsResizing($image_path));

        if (class_exists(InterventionImageV2::class)) {
            InterventionImageV2::make($image_path)
                ->resize(request('dataWidth'), request('dataHeight'))
                ->save($resize_path);
        } else {
            InterventionImageV3::read($image_path)
                ->resize(request('dataWidth'), request('dataHeight'))
                ->save($resize_path);
        }
        event(new ImageWasResized($image_path));

        return parent::$success_response;
    }

    public function performResizeNew()
    {
        $this->performResize(false);
    }
}
DeleteController.php000064400000005055151521004610010523 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use Illuminate\Support\Facades\Storage;
use UniSharp\LaravelFilemanager\Events\FileIsDeleting;
use UniSharp\LaravelFilemanager\Events\FileWasDeleted;
use UniSharp\LaravelFilemanager\Events\FolderIsDeleting;
use UniSharp\LaravelFilemanager\Events\FolderWasDeleted;
use UniSharp\LaravelFilemanager\Events\ImageIsDeleting;
use UniSharp\LaravelFilemanager\Events\ImageWasDeleted;

class DeleteController extends LfmController
{
    /**
     * Delete image and associated thumbnail.
     *
     * @return mixed
     */
    public function getDelete()
    {
        $item_names = request('items');
        $errors = [];

        foreach ($item_names as $name_to_delete) {
            $file = $this->lfm->setName($name_to_delete);

            if ($file->isDirectory()) {
                event(new FolderIsDeleting($file->path('absolute')));
            } else {
                event(new FileIsDeleting($file->path('absolute')));
                event(new ImageIsDeleting($file->path('absolute')));
            }

            if (!Storage::disk($this->helper->config('disk'))->exists($file->path('storage'))) {
                abort(404);
            }

            $file_to_delete = $this->lfm->pretty($name_to_delete);
            $file_path = $file_to_delete->path('absolute');

            if (is_null($name_to_delete)) {
                array_push($errors, parent::error('folder-name'));
                continue;
            }

            if (! $this->lfm->setName($name_to_delete)->exists()) {
                array_push($errors, parent::error('folder-not-found', ['folder' => $file_path]));
                continue;
            }

            if ($this->lfm->setName($name_to_delete)->isDirectory()) {
                if (! $this->lfm->setName($name_to_delete)->directoryIsEmpty()) {
                    array_push($errors, parent::error('delete-folder'));
                    continue;
                }

                $this->lfm->setName($name_to_delete)->delete();

                event(new FolderWasDeleted($file_path));
            } else {
                if ($file_to_delete->isImage()) {
                    $this->lfm->setName($name_to_delete)->thumb()->delete();
                }

                $this->lfm->setName($name_to_delete)->delete();

                event(new FileWasDeleted($file_path));
                event(new ImageWasDeleted($file_path));
            }
        }

        if (count($errors) > 0) {
            return response()->json($errors, 400);
        }

        return parent::$success_response;
    }
}
RedirectController.php000064400000000730151521004610011055 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use Illuminate\Support\Facades\Storage;

class RedirectController extends LfmController
{
    public function showFile($file_path)
    {
        $storage = Storage::disk($this->helper->config('disk'));

        if (! $storage->exists($file_path)) {
            abort(404);
        }

        return response($storage->get($file_path))
            ->header('Content-Type', $storage->mimeType($file_path));
    }
}
DownloadController.php000064400000000733151521004610011066 0ustar00<?php

namespace UniSharp\LaravelFilemanager\Controllers;

use Illuminate\Support\Facades\Storage;

class DownloadController extends LfmController
{
    public function getDownload()
    {
        $file = $this->lfm->setName(request('file'));

        if (!Storage::disk($this->helper->config('disk'))->exists($file->path('storage'))) {
            abort(404);
        }

        return Storage::disk($this->helper->config('disk'))->download($file->path('storage'));
    }
}
ReCaptchaController.php000064400000001337151521130520011152 0ustar00<?php
/**
 * Copyright (c) 2017 - present
 * LaravelGoogleRecaptcha - ReCaptchaController.php
 * author: Roberto Belotti - roby.belotti@gmail.com
 * web : robertobelotti.com, github.com/biscolab
 * Initial version created on: 4/2/2019
 * MIT license: https://github.com/biscolab/laravel-recaptcha/blob/master/LICENSE
 */

namespace Biscolab\ReCaptcha\Controllers;

use Illuminate\Routing\Controller;

/**
 * Class ReCaptchaController
 * @package Biscolab\ReCaptcha\Controllers
 */
class ReCaptchaController extends Controller
{

	/**
	 * @return array
	 */
	public function validateV3(): array
	{

		$token = request()->input(config('recaptcha.default_token_parameter_name', 'token'), '');

		return recaptcha()->validate($token);
	}
}