enflow / laravel-outdated-browser
Add an outdated browser message with easy
Fund package maintenance!
enflow.nl/contact
Installs: 13 906
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 4
Forks: 0
Open Issues: 1
Requires
- php: ^8.2
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.5|^11.0
This package is auto-updated.
Last update: 2024-10-08 22:07:42 UTC
README
The enflow/laravel-outdated-browser
package provides an easy way to warn your users about an outdated browser.
The user is presented with a full-screen page to encourage them to upgrade to a modern browser. They may skip this message and continue to view the website in their (crappy) browser.
Installation
You can install the package via composer:
composer require enflow/laravel-outdated-browser
Usage
You should add the \Enflow\OutdatedBrowser\OutdatedBrowserMiddleware
class to your App\Http\Kernel
file.
Add it to the bottom of the web
group:
'web' => [ ..., \Enflow\OutdatedBrowser\OutdatedBrowserMiddleware::class, ],
Config
Pushing the config file by running:
php artisan vendor:publish --provider="Enflow\OutdatedBrowser\OutdatedBrowserServiceProvider" --tag=config
Detector classes
A detector class can be specified via the config file, which should implement the Enflow\OutdatedBrowser\Detector\Detector
interface.
This class is responsible for determining if the user should be presented with an outdated browser message.
By default, the UserAgentDetector
is used, which searches for the outdated-browser.blocked_user_agent_regexes
key for regexes to match the user agent against.
For the UserAgentDetector
, all users with Internet Explorer are presented with the gate. You may change the regexes to your need.
Memory classes
A memory class can be specified via the config file, which should implement the Enflow\OutdatedBrowser\Memory\Memory
interface.
This class is responsible for checking if the user continued through the gate, and responsible for saving when the user pressed 'Proceed'.
Inspector classes
A inspector class can be specified via the config file, which should implement the Enflow\OutdatedBrowser\Inspector\Inspector
interface.
This class is responsible for checking the request and determining if now is the right time to show the 'outdated browser' gate. By default, the FirstUserRequest
inspector is used, which will show the gate on the first GET request, excluding AJAX requests.
View
You may publish the gate
view to overrule it's styling and make it your own:
php artisan vendor:publish --provider="Enflow\OutdatedBrowser\OutdatedBrowserServiceProvider" --tag=views
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email michel@enflow.nl instead of using the issue tracker.
Credits
About Enflow
Enflow is a digital creative agency based in Alphen aan den Rijn, Netherlands. We specialize in developing web applications, mobile applications and websites. You can find more info on our website.
License
The MIT License (MIT). Please see License File for more information.