protected function isExempt($data, $request)
    {
        // Grab all of the exemption classes to create/execute against
        $exemptions = $this->app['config']->get('maintenancemode.exemptions', []);
        foreach($exemptions as $className)
        {
            if(class_exists($className))
            {
                $exemption = new $className($this->app);
                if($exemption instanceof MaintenanceModeExemption)
                {
                    // Run the exemption check
                    if($exemption->isExempt())
                    {
                        return true;
                    }
                }
                else
                {
                    // Class doesn't match what we're looking for
                    throw new InvalidExemption($this->app['translator']->get($this->language . '.exceptions.invalid', ['class' => $className]));
                }
            }
            else
            {
                // Where's Waldo?
                throw new ExemptionDoesNotExist($this->app['translator']->get($this->language . '.exceptions.missing', ['class' => $className]));
            }
        }

        // Check for IP via the "allow" option
        if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) {
            return true;
        }

        return false;
    }
protected function isExempt($data, $request)
    {
        // Grab all of the exemption classes to create/execute against
        $exemptions = $this->app['config']->get('maintenancemode.exemptions', []);
        foreach($exemptions as $className)
        {
            if(class_exists($className))
            {
                $exemption = new $className($this->app);
                if($exemption instanceof MaintenanceModeExemption)
                {
                    // Run the exemption check
                    if($exemption->isExempt())
                    {
                        return true;
                    }
                }
                else
                {
                    // Class doesn't match what we're looking for
                    throw new InvalidExemption($this->app['translator']->get($this->language . '.exceptions.invalid', ['class' => $className]));
                }
            }
            else
            {
                // Where's Waldo?
                throw new ExemptionDoesNotExist($this->app['translator']->get($this->language . '.exceptions.missing', ['class' => $className]));
            }
        }

        // Check for IP via the "allow" option
        if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) {
            return true;
        }

        return false;
    }
protected function isExempt ( $ data , $ request ) { // Grab all of the exemption classes to create/execute against $ exemptions = $ this -> app [ 'config' ] -> get ( 'maintenancemode.exemptions' , [ ] ) ; foreach ( $ exemptions as $ className ) { if ( class_exists ( $ className ) ) { $ exemption = new $ className ( $ this -> app ) ; if ( $ exemption instanceof MaintenanceModeExemption ) { // Run the exemption check if ( $ exemption -> isExempt ( ) ) { return true ; } } else { // Class doesn't match what we're looking for throw new InvalidExemption ( $ this -> app [ 'translator' ] -> get ( $ this -> language . '.exceptions.invalid' , [ 'class' => $ className ] ) ) ; } } else { // Where's Waldo? throw new ExemptionDoesNotExist ( $ this -> app [ 'translator' ] -> get ( $ this -> language . '.exceptions.missing' , [ 'class' => $ className ] ) ) ; } } // Check for IP via the "allow" option if ( isset ( $ data [ 'allowed' ] ) && IpUtils :: checkIp ( $ request -> ip ( ) , ( array ) $ data [ 'allowed' ] ) ) { return true ; } return false ; }
Check if a user is exempt from the maintenance mode page

@param $data
@param $request

@return bool
@throws ExemptionDoesNotExist
@throws InvalidExemption
Check if a user is exempt from the maintenance mode page