Before proceed, you may want to follow up
- Send Welcome Email Notification with Event and Listener and
- Enable Account Activation in Order to Login to the System
Create a middleware
| <?php | |
| /** | |
| * Validates a given latitude $lat | |
| * | |
| * @param float|int|string $lat Latitude | |
| * @return bool `true` if $lat is valid, `false` if not | |
| */ | |
| function validateLatitude($lat) { | |
| return preg_match('/^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$/', $lat); |
Before proceed, you may want to follow up
Create a middleware
Before proceed, you may want to follow up Send Welcome Email Notification with Event and Listener.
Create new migration script to add activation_token and activated_at column in users table.
php artisan make:migration add_activation_column --table=users
| <?php | |
| namespace app\Observers; | |
| use Illuminate\Database\Eloquent\Model; | |
| class ReadOnly | |
| { | |
| /** | |
| * Listen to the Model creating event. |
assertArrayHasKey()
assertClassHasAttribute()
assertArraySubset()
assertClassHasStaticAttribute()
assertContains()
assertContainsOnly()
assertContainsOnlyInstancesOf()
assertCount()
assertDirectoryExists()
assertDirectoryIsReadable()
| @mixin for-size($range) { | |
| $phone-upper-boundary: 600px; | |
| $tablet-portrait-upper-boundary: 900px; | |
| $tablet-landscape-upper-boundary: 1200px; | |
| $desktop-upper-boundary: 1800px; | |
| @if $range == phone-only { | |
| @media (max-width: #{$phone-upper-boundary - 1}) { @content; } | |
| } @else if $range == tablet-portrait-up { | |
| @media (min-width: $phone-upper-boundary) { @content; } |
| @mixin for-size($size) { | |
| @if $size == phone-only { | |
| @media (max-width: 599px) { @content; } | |
| } @else if $size == tablet-portrait-up { | |
| @media (min-width: 600px) { @content; } | |
| } @else if $size == tablet-landscape-up { | |
| @media (min-width: 900px) { @content; } | |
| } @else if $size == desktop-up { | |
| @media (min-width: 1200px) { @content; } | |
| } @else if $size == big-desktop-up { |
| @mixin for-phone-only { | |
| @media (max-width: 599px) { @content; } | |
| } | |
| @mixin for-tablet-portrait-up { | |
| @media (min-width: 600px) { @content; } | |
| } | |
| @mixin for-tablet-landscape-up { | |
| @media (min-width: 900px) { @content; } | |
| } | |
| @mixin for-desktop-up { |
| var parser = document.createElement('a'); | |
| parser.href = "http://example.com:3000/pathname/?search=test#hash"; | |
| parser.protocol; // => "http:" | |
| parser.hostname; // => "example.com" | |
| parser.port; // => "3000" | |
| parser.pathname; // => "/pathname/" | |
| parser.search; // => "?search=test" | |
| parser.hash; // => "#hash" | |
| parser.host; // => "example.com:3000" |