From ebc6c5a528f58c65388fa00d8245a047534b11a9 Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Sat, 13 Aug 2016 18:33:23 +0200
Subject: [PATCH] Merge in from VM / WC: Provide more date/time variables

---
 ordernumber_helper.php | 33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/ordernumber_helper.php b/ordernumber_helper.php
index ecb9775..0d6f49a 100644
--- a/ordernumber_helper.php
+++ b/ordernumber_helper.php
@@ -226,18 +226,33 @@ class OrdernumberHelper {
 		}
 		return self::randomString ($alphabet, $len);
 	}
+	
+	public function getDateTime($utime) {
+		$time = new DateTime();
+		$time->setTimestamp($utime);
+		return $time;
+	}
 
 	public function setupDateTimeReplacements (&$reps, $details, $nrtype) {
 		$utime = microtime(true);
-		$reps["[year]"] = date ("Y", $utime);
-		$reps["[year2]"] = date ("y", $utime);
-		$reps["[month]"] = date("m", $utime);
-		$reps["[day]"] = date("d", $utime);
-		$reps["[hour]"] = date("H", $utime);
-		$reps["[hour12]"] = date("h", $utime);
-		$reps["[ampm]"] = date("a", $utime);
-		$reps["[minute]"] = date("i", $utime);
-		$reps["[second]"] = date("s", $utime);
+		$time = $this->getDateTime($utime);
+		$reps["[year]"] = $time->format ("Y");
+		$reps["[year2]"] = $time->format ("y");
+		$reps["[month]"] = $time->format("m");
+		$reps["[monthname]"] = $time->format("F");
+		$reps["[monthname3]"] = $time->format("M");
+		$reps["[week]"] = $time->format("W");
+		$reps["[weeknumberyear]"] = $time->format("o");
+		$reps["[day]"] = $time->format("d");
+		$reps["[dayofyear]"] = $time->format("z")+1;
+		$reps["[weekday]"] = $time->format("N");
+		$reps["[weekdayname3]"] = $time->format("D");
+		$reps["[weekdayname]"] = $time->format("l");
+		$reps["[hour]"] = $time->format("H");
+		$reps["[hour12]"] = $time->format("h");
+		$reps["[ampm]"] = $time->format("a");
+		$reps["[minute]"] = $time->format("i");
+		$reps["[second]"] = $time->format("s");
 		$milliseconds = (int)(1000*($utime - (int)$utime));
 		$millisecondsstring = sprintf('%03d', $milliseconds);
 		$reps["[decisecond]"] = $millisecondsstring[0];
-- 
GitLab