Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/enflow/laravel-outdated-browser
Add an outdated browser gate with ease
https://github.com/enflow/laravel-outdated-browser
Last synced: about 2 months ago
JSON representation
Add an outdated browser gate with ease
- Host: GitHub
- URL: https://github.com/enflow/laravel-outdated-browser
- Owner: enflow
- License: mit
- Created: 2020-11-23T16:08:58.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-15T10:41:19.000Z (11 months ago)
- Last Synced: 2024-03-15T11:53:34.541Z (11 months ago)
- Language: PHP
- Homepage:
- Size: 294 KB
- Stars: 3
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# Outdated browsers warnings
[![Latest Version on Packagist](https://img.shields.io/packagist/v/enflow/laravel-outdated-browser.svg?style=flat-square)](https://packagist.org/packages/enflow/laravel-outdated-browser)
![GitHub Workflow Status](https://github.com/enflow/laravel-outdated-browser/workflows/run-tests/badge.svg)
[![Total Downloads](https://img.shields.io/packagist/dt/enflow/laravel-outdated-browser.svg?style=flat-square)](https://packagist.org/packages/enflow/laravel-outdated-browser)
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.
![Gate Example](./docs/gate.png)
## Installation
You can install the package via composer:
``` bash
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:```php
'web' => [
...,
\Enflow\OutdatedBrowser\OutdatedBrowserMiddleware::class,
],
```
## Config
Pushing the config file by running:
``` bash
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:```bash
php artisan vendor:publish --provider="Enflow\OutdatedBrowser\OutdatedBrowserServiceProvider" --tag=views
```
## Testing
``` bash
$ composer test
```
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
## Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
## Credits
- [Michel Bardelmeijer](https://github.com/mbardelmeijer)
- [Ron Kesting](https://github.com/ronkesting)
- [All Contributors](../../contributors)
## 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](https://enflow.nl/en).
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.