HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/rentman.komma.pro/app/controllers/BaseController.php
<?php

use Illuminate\Routing\Controller;

class BaseController extends Controller
{

    public $languageService;

    public function __construct()
    {
        $this->languageService = \App::make('Komma\LanguageService');
        $this->languageService->setLanguage();
        $this->languageService->checkRouteWithSetLanguage();
        $this->setWebsiteConfig();
        $this->loadTranslations();
    }

    public function setCurrentLanguage(){

        $inputLanguage = '';

        if(Input::has('lang')){
            $inputLanguage = Input::get('lang');
            $this->languageService->setCurrentLanguage($inputLanguage);

            if($inputLanguage != 'en') \Session::put('currency', 'eur');

        }
    }

    public function loadTranslations(){

        $lang = $this->languageService->getCurrentLanguageId();
        $translations = \Komma\Kms\Translations\Models\Translation::where('language_id', $lang)
            ->select('code_name', 'translation')
            ->get();
        $translationObject = (object)[];
        foreach ($translations as $translation){
            $codename = $translation->code_name;
            $translationObject->$codename = $translation->translation;
        }
        View::share('kommaLang', $translationObject);

    }

    public function setCurrency(){

        $currency = 'eur';

        if(Input::has('currency')){
            $currency = Input::get('currency');
            \Session::put('currency', $currency);
        }
    }

    public function setWebsiteConfig(){
        $config = \Komma\Kms\WebsiteConfig\Model\WebsiteConfig::all();

        foreach ($config as $setting){
            \Config::set('business.'.$setting->code_name, $setting->value);
        }
    }

    public function setCurrentLanguageByRoute(){
        $this->languageService->setCurrentLanguage(\Request::segment(1));
    }


    public function emailAdministrator($exception, $code)
	{
		//Check if we exclude the email for the current url
		if($this->checkExcludedErrors($code)) return false;

		$mailer = \App::make('Komma\Mailers\Mailer');

		$mailer->sendTo(\Config::get('business.admin_emails'), 'Fout Code ' . $code, 'emails/error',
				[
						'code' => $code,
						'stack' => $exception->__toString(),
						'path' => \Request::path()
				]);

        $mailer->sendTo('support@rentman.nl', 'Fout Code ' . $code, 'emails/error',
            [
                'code' => $code,
                'stack' => $exception->__toString(),
                'path' => \Request::path()
            ]);
	}

	public function abortPage($type = 404)
	{
		$view = \View::make('layouts.pages.'.$type)->render();
		return \Response::make($view, $type);

	}


	public function checkExcludedErrors($code){

		//if($code == 500) return false;

        if($code == 500 && \Request::segment(1)) //Optional error if project images in kms give an error
        {
            switch (\Request::segment(2))
            {
                case 'posts':
                case 'projects':
                case 'services':
                case 'reference':
                    return true;
                default:
                    break;
            }

            if(strpos(\Request::segment(2),'-blocks')) return true;
        }


        if($code == 404) return true;

        //check if last segments starts with tel
        $segments = Request::segments();
        if(substr(end($segments), 0, 4)=== 'tel:') return true;
        if(substr(end($segments), 0, 2)=== 'wp') return true;
        if(end($segments) == ').html(msg[key][0]).addClass(') return true;
        if(end($segments) == '],_default:k.htmlSerialize') return true;
        if(end($segments) == ',data:b}).done(function(a){e=arguments,g.html(d') return true;
        if(end($segments) == ').length,k.htmlSerialize=!!b.getElementsByTagName(') return true;
        if(end($segments) == ').length,k.html5Clone=') return true;
        if(end($segments) == ',shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),') return true;

        switch(\Request::segment(1)){
            case 'xmlrpc.php':
            case 'wp-content':
            case 'kms':
            case 'apple-touch-icon.png':
            case 'wp-login.php':
            case 'wp-admin':
            case 'wp':
            case 'wordpress':
            case 'administrator':
            case 'www.googletagmanager.com':
            case 'autodiscover':
            case 'browserconfig.xml':
            case 'sql':
            case 'mysql':
            case 'phpmyadmin':
            case 'editor':
            case 'manage':
            case 'admin':
            case 'FCK':
            case 'FCKeditor':
                return true;

            default:
                return false;
        }
	}

}