From 5cba85dac6516841fc0a9f73f680ca3b9e5d9787 Mon Sep 17 00:00:00 2001 From: Robert Kolner Date: Wed, 29 Feb 2012 18:15:14 +0100 Subject: [PATCH] =?UTF-8?q?[Inside]=20Pr=C3=B8vde=20=C3=A5=20fikse=20utsen?= =?UTF-8?q?ding=20av=20mailer=20n=C3=A5r=20et=20kort=20blir=20produsert.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inside/User.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/inside/User.php b/inside/User.php index 69bc2fe..9f90ae5 100644 --- a/inside/User.php +++ b/inside/User.php @@ -771,8 +771,20 @@ class User { * $newDate = YYYY | YYYY/YY */ public function updateLastSticker($newDate) { - if(!preg_match('#^\d{4}(/\d{2})?$#', $newDate)) - throw new Exception("Invalid date format: $newDate"); + if(!preg_match('#^\d{4}(/\d{2})?$#', $newDate)) { + // If not known format, try to convert it: + $tempDate = strtotime($newDate); + if (!$tempDate) { + throw new Exception("Invalid date format: $newDate"); + } else { + // Determine if we want to have YYYY or YYYY/YY: + $currentYear = (int)date("Y", $tempDate); + $previousYear = $currentYear - 1; + $newDate = ((int)date("n", $tempDate) <= 8) ? + ((string)$previousYear) . "/" . ((string)($currentYear % 100)) : + (string)$currentYear; + } + } $sql = "UPDATE din_user SET lastSticker = '$newDate' WHERE id = $this->id LIMIT 1"; $result = $this->conn->query($sql);