Cake-day displaying wrong amount of years!
Page: 1/2»
  Go to:
Pengling Feb 19
Well this is an odd one! I just hopped online, and yay, it's my cake-day, I've been here for two years now! But, if I mouse over the cake, it says "Pengling has been here for 1 years" - I think the counter's gotten a bit confused, Liam...
Quoting: PenglingWell this is an odd one! I just hopped online, and yay, it's my cake-day, I've been here for two years now! But, if I mouse over the cake, it says "Pengling has been here for 1 years" - I think the counter's gotten a bit confused, Liam...
So you could say the cake is a lie???.......

Naaaaa the counter just wishes you wernt around as much....... I can relate to that......

J/K......
Congrats on your cake day!!!.......
Right, managed to stop myself laughing at the blowfly/prince of space long enough to answer, anyway, I'm going to take a pot-luck guess at the cause here:

So, the website appears to be detecting "cake day" by the date, which makes sense. But the actual calculation for the length of time registered used by the cake is probably a calculation based on timestamps. You registered around ~8PM, so as far as that calculation is concerned you haven't been here 2 years until 8PM passes.

So, if it's this, it should be a 2-minute fix for Liam.

(Bear in mind, I don't have access to the code so, I could be totally wrong.)
Ehvis Feb 19
Quoting: BlackBloodRum(Bear in mind, I don't have access to the code so, I could be totally wrong.)

https://gitlab.com/liamdawe/gamingonlinux

So, now you should be able to tell us.
whizse Feb 19
Quoting: PenglingWell this is an odd one! I just hopped online, and yay, it's my cake-day, I've been here for two years now! But, if I mouse over the cake, it says "Pengling has been here for 1 years" - I think the counter's gotten a bit confused, Liam...
In other words, until the bug is fixed you only deserve half a cake? That I can fix:

Quoting: Ehvis
Quoting: BlackBloodRum(Bear in mind, I don't have access to the code so, I could be totally wrong.)

https://gitlab.com/liamdawe/gamingonlinux

So, now you should be able to tell us.
Interesting!

So, from:
https://gitlab.com/liamdawe/gamingonlinux/-/blob/master/public_html/includes/class_user.php?ref_type=heads#L583

We got:
 
// give them a cake icon if they have been here for x years
public function cake_day($reg_date, $username)
{
$date1 = new DateTime();
$date1->setTimestamp($reg_date);

$date2 = new DateTime();

$cake_icon = '';
if ($date1->format('d-m') === $date2->format('d-m')) 
{
// calculate how many years
$total_years = $date1->diff($date2)->format('%y');
if ($total_years > 0)
{
$cake_icon = '<img src="/templates/default/images/cake.png" alt="'.$total_years.' years" class="tooltip-top" title="'.$username.' has been here for '.$total_years.' years" />';
}
}
return $cake_icon;
}


It's doing a difference comparison between $date2 (unformatted therefore, current timestamp) with $date1 which has been set to the users registration timestamp, so we're comparing timestamps.
Liam Dawe Feb 19
Concerning.

Looking into it.
Pengling Feb 19
Quoting: StoneColdSpiderSo you could say the cake is a lie???.......
Haha!

Quoting: StoneColdSpiderJ/K......
Congrats on your cake day!!!.......
Thanks man.

Quoting: BlackBloodRumRight, managed to stop myself laughing at the blowfly/prince of space long enough to answer,
A classic!

Quoting: whizseIn other words, until the bug is fixed you only deserve half a cake? That I can fix:

Aw, you took half my cake!

Quoting: Liam DaweFixed.
Yay, thanks Liam! Now I can be proud of that cake!
Liam Dawe Feb 19
Because there could be some random timing differences when doing the date comparison, I simply moved it over to a basic year minus year. Simpler solution. May not *always* be exact with leap years and such, but generally will be more accurate on just a basic "yay it's been x years".
Quoting: Liam DaweBecause there could be some random timing differences when doing the date comparison, I simply moved it over to a basic year minus year. Simpler solution. May not *always* be exact with leap years and such, but generally will be more accurate on just a basic "yay it's been x years".
I don't think it has to be overly exact, just needs to work. Your solution description sounds good enough and fixed the issue, what more could someone want?
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.