httpoz / locked
Laravel package to lock an app after x - date.
Requires
- php: ^7.3|^8.0
- illuminate/support: ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-11-13 08:36:22 UTC
README
Laravel package to lock an app after x - date.
Composer
composer require httpoz/locked:^v8.0
Config File
To publish the package config's file to your application. Run this command inside your terminal.
php artisan vendor:publish --provider="HttpOz\Locked\LockedServiceProvider"
This package allows you to define your own rules that will determine whether the routes using the middleware should be locked or not. To get started open config/locked.php
and set enabled to true
. Next list your rule classes in the rules array.
Rules
Your custom rule classes need to extend HttpOz\Locked\Rules\Rule
;
<?php use HttpOz\Locked\Rules\Rule; class InActivePeriod extends Rule { /** * The boolean response of this rule is used to determine whether the rule has passed or not. */ public function passes() : bool { return strtotime( 'today' ) >= strtotime('2018-05-31') && strtotime( 'today' ) <= strtotime('2022-05-31'); } }
The application will be locked on the first false
returned from your rules.
Middleware
This package comes with the IsLocked
middleware. You must add it to your app/Http/Kernel.php file.
<?php /** * The application's route middleware. * * @var array */ protected $routeMiddleware = [ // ... 'isLocked' => \HttpOz\Locked\Middleware\IsLocked::class, ];
Now you can easily protect your routes.
<?php Route::group(['middleware' => 'isLocked'], function(){ // your routes });
It throws \HttpOz\Locked\Exceptions\ApplicationLocked if the logic determines the application is locked at this point in time which in turn renders a view.
You can override the view with your own by creating a file here resources\views\vendor\httpoz\locked\locked.blade.php