timgavin

Web Developer at Freelance

Member Since 5 Years Ago

West Palm

Experience Points
22,220
Total
Experience

2,780 experience to go until the next level!

In case you were wondering, you earn Laracasts experience when you:

  • Complete a lesson — 100pts
  • Create a forum thread — 50pts
  • Reply to a thread — 10pts
  • Leave a reply that is liked — 50pts
  • Receive a "Best Reply" award — 500pts
Lessons Completed
222
Lessons
Completed
Best Reply Awards
2
Best Reply
Awards
  • start-engines Created with Sketch.

    Start Your Engines

    Earned once you have completed your first Laracasts lesson.

  • first-thousand Created with Sketch.

    First Thousand

    Earned once you have earned your first 1000 experience points.

  • 1-year Created with Sketch.

    One Year Member

    Earned when you have been with Laracasts for 1 year.

  • 2-years Created with Sketch.

    Two Year Member

    Earned when you have been with Laracasts for 2 years.

  • 3-years Created with Sketch.

    Three Year Member

    Earned when you have been with Laracasts for 3 years.

  • 4-years Created with Sketch.

    Four Year Member

    Earned when you have been with Laracasts for 4 years.

  • 5-years Created with Sketch.

    Five Year Member

    Earned when you have been with Laracasts for 5 years.

  • school-session Created with Sketch.

    School In Session

    Earned when at least one Laracasts series has been fully completed.

  • welcome-newcomer Created with Sketch.

    Welcome To The Community

    Earned after your first post on the Laracasts forum.

  • full-time-student Created with Sketch.

    Full Time Learner

    Earned once 100 Laracasts lessons have been completed.

  • pay-it-forward Created with Sketch.

    Pay It Forward

    Earned once you receive your first "Best Reply" award on the Laracasts forum.

  • subscriber-token Created with Sketch.

    Subscriber

    Earned if you are a paying Laracasts subscriber.

  • lifer-token Created with Sketch.

    Lifer

    Earned if you have a lifetime subscription to Laracasts.

  • lara-evanghelist Created with Sketch.

    Laracasts Evangelist

    Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.

  • chatty-cathy Created with Sketch.

    Chatty Cathy

    Earned once you have achieved 500 forum replies.

  • lara-veteran Created with Sketch.

    Laracasts Veteran

    Earned once your experience points passes 100,000.

  • 10k-strong Created with Sketch.

    Ten Thousand Strong

    Earned once your experience points hits 10,000.

  • lara-master Created with Sketch.

    Laracasts Master

    Earned once 1000 Laracasts lessons have been completed.

  • laracasts-tutor Created with Sketch.

    Laracasts Tutor

    Earned once your "Best Reply" award count is 100 or more.

  • laracasts-sensei Created with Sketch.

    Laracasts Sensei

    Earned once your experience points passes 1 million.

  • top-50 Created with Sketch.

    Top 50

    Earned once your experience points ranks in the top 50 of all Laracasts users.

Level 5
22,220 XP
Oct
30
2 weeks ago
Activity icon

Replied to Difference Between Two Times In Seconds

Thank you, that worked perfectly.

Just out of curiosity, if I wanted the refresh time to be 00:01 instead of 00:00, would I just do the following?

$refresh = now()->addDay()->startOfDay()->addMinutes(1)->diffInSeconds(now());
Oct
29
3 weeks ago
Activity icon

Started a new Conversation Difference Between Two Times In Seconds

I need to refresh a page every day at 00:00 Europe/London time; I'm using the meta refresh tag to handle the refresh, and I'm handling all of this using the server's time, not the client's time.

So if a user loads the page at 23:55 server time, and sits on it for 5 minus, I need the page to refresh at the 5 minute mark, as it'll be 00:00 Europe/London time.

This sees like a no-brainer, but for some reason what I'm doing isn't working; the page didn't refresh at the correct time.

config/app.php

'timezone' => 'Europe/London',
$startTime = Carbon::now();

$endTime = new Carbon($startTime->year.'-'.$startTime->month.'-'.$startTime->day . '00:00');

$refresh = $endTime->diffInSeconds($startTime);

in blade

<meta http-equiv="refresh" content="{{ $refresh }};https://example.com/news?ref=1">
Oct
12
1 month ago
Activity icon

Started a new Conversation Schedule Timezone Confirmation

I need a script to run every night, 12:00 am London time. I'm just asking for confirmation that I have it set up correctly.

config/app.php

'timezone' => 'UTC',

app/Console/Kernel.php

$schedule->command('update:users')->dailyAt('00:00')->timezone('Europe/London');

The timezone is probably redundant... just trying to cover my bases :)

Oct
05
1 month ago
Activity icon

Replied to Password Validation Length Fails

I actually slapped myself for that. thanks!

Activity icon

Started a new Conversation Password Validation Length Fails

I'm setting up a registration controller for registration via an API. When testing in Postman I am sending a password that is only 4 chars: 1111

My password validation requires that the min be 8, however, password validation is letting the password through and creating the user with only 4 chars as a password.

How do I make it so the password is 8 chars min?

Am I misunderstanding how this works?

$validator = Validator::make($request->all(), [
    'username' => 'required', 'string', 'min:3', 'max:20', 'unique:users',
    'password' => 'required', 'string', 'min:8',
]);

if ($validator->fails()) {
    return ['data' => $validator->messages()->first()];
}
May
25
5 months ago
Activity icon

Replied to Help With Booking System Timezone Offsets

@WILLJOHNATHAN - Yes, they will be in their timezone, but it has to show a user across the planet that that hour has been reserverd in THEIR timezone, which means it has to shift days. If someone in Asia schedules on a Monday, someone in the US will see that on a Tuesday. Not sure this is actually possible without using full dates...

Activity icon

Replied to Help With Booking System Timezone Offsets

@EJDELMONICO - Yes, I already have that working. My problem is with international conversion, which I'm actually not sure is possible without a full date.

May
22
5 months ago
Activity icon

Started a new Conversation Help With Booking System Timezone Offsets

A client ordered a booking system: they wanted a seven day schedule (Mon-Sun) that would allow for people to book an hour on each day. This system is global, so it's based on UTC.

Basically, the user picks a day - let's say Monday - and a time (12:pm EST) and reserves that block. So we store it like so:

reserved_day = 1;
reserved_time = 5:00:00

Day 1 = Monday

5:00:00 = 12:pm EST UTC.

So this means if you're in the America/Los_Angeles time zone, you'd see this as 9:00 am Monday. It's working as it should.

Keep in mind this is not a calendar app; there are only 168 blocks of time available to book (24 hours in a day * 7 days), so Monday has 24 blocks, Tuesday has 24 blocks, etc.

Now here's the rub: if someone books in Asia, where it's a day ahead, should the app be able to reflect that? So if someone in Bangkok registers on a Monday, should a person in Chicago see that as a reserved time on Tuesday? Or should they see it as reserved time on Monday?

If you think they should see it on a Tuesday, how is this accomplished? Carbon timezone only seems to do the hours, not the days.

May
17
6 months ago
Activity icon

Replied to How To Create Custom Email Verification Template | Laravel 5.7

For anyone in the future wondering how to do this. Open AppServiceProvider.php and enter the following.

AppServiceProvider

<?php

namespace App\Providers;

use Carbon\Carbon;
use Illuminate\Auth\Notifications\VerifyEmail;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        VerifyEmail::toMailUsing(function ($notifiable) {
            $verifyUrl = URL::temporarySignedRoute(
                'verification.verify', Carbon::now()->addMinutes(60), ['id' => $notifiable->getKey()]
            );

            return (new MailMessage)
                ->subject('Welcome!')
                ->markdown('emails.verify', ['url' => $verifyUrl]);
        });
    }

    public function register()
    {
        //
    }
}

The Email View

Then create a view at emails/verify.blade.php and add your content.

@component('mail::message')

Thank you for registering!

@component('mail::button', ['url' => $url])
Verify Email
@endcomponent


Regards,<br>
{{ config('app.name') }}

@endcomponent

Source: https://twitter.com/stefanbauerme/status/1037704501862559745/