From c4d02a91f658e859d00512f9da1f24f7c749fb20 Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Fri, 19 Jul 2013 13:20:21 -0400 Subject: [PATCH 01/10] Add DATE_SQL and DATE_SQLTIMESTAMP --- ext/date/php_date.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 0f8822a90600..2cb0667d05a8 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -797,6 +797,10 @@ PHP_RSHUTDOWN_FUNCTION(date) #define DATE_FORMAT_ISO8601 "Y-m-d\\TH:i:sO" +#define DATE_FORMAT_SQL "Y-m-d" + +#define DATE_FORMAT_SQLTIMESTAMP "Y-m-d H:i:s + #define DATE_TZ_ERRMSG \ "It is not safe to rely on the system's timezone settings. You are " \ "*required* to use the date.timezone setting or the " \ @@ -842,6 +846,9 @@ PHP_MINIT_FUNCTION(date) */ REGISTER_STRING_CONSTANT("DATE_RSS", DATE_FORMAT_RFC1123, CONST_CS | CONST_PERSISTENT); REGISTER_STRING_CONSTANT("DATE_W3C", DATE_FORMAT_RFC3339, CONST_CS | CONST_PERSISTENT); + + REGISTER_STRING_CONSTANT("DATE_SQL", DATE_FORMAT_SQL, CONST_CS | CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("DATE_SQLTIMESTAMP", DATE_FORMAT_SQLTIMESTAMP, CONST_CS | CONST_PERSISTENT);DateTime REGISTER_LONG_CONSTANT("SUNFUNCS_RET_TIMESTAMP", SUNFUNCS_RET_TIMESTAMP, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SUNFUNCS_RET_STRING", SUNFUNCS_RET_STRING, CONST_CS | CONST_PERSISTENT); @@ -2011,7 +2018,9 @@ static void date_register_classes(TSRMLS_D) REGISTER_DATE_CLASS_CONST_STRING("RFC3339", DATE_FORMAT_RFC3339); REGISTER_DATE_CLASS_CONST_STRING("RSS", DATE_FORMAT_RFC1123); REGISTER_DATE_CLASS_CONST_STRING("W3C", DATE_FORMAT_RFC3339); - + REGISTER_DATE_CLASS_CONST_STRING("SQL", DATE_FORMAT_SQL); + REGISTER_DATE_CLASS_CONST_STRING("SQLTIMESTAMP", DATE_FORMAT_SQLTIMESTAMP); + INIT_CLASS_ENTRY(ce_immutable, "DateTimeImmutable", date_funcs_immutable); ce_immutable.create_object = date_object_new_date; date_ce_immutable = zend_register_internal_class_ex(&ce_immutable, NULL, NULL TSRMLS_CC); From 13147d3d0ac14b3bfe16e201fe33fb5e79031d4d Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Sun, 21 Jul 2013 03:03:05 -0400 Subject: [PATCH 02/10] Update Tests for DateTime::SQL and DateTime::SQL_TIMESTAMP --- ext/date/tests/DateTime_format_basic2.phpt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/date/tests/DateTime_format_basic2.phpt b/ext/date/tests/DateTime_format_basic2.phpt index d7adaa5df887..a817ec9a48aa 100644 --- a/ext/date/tests/DateTime_format_basic2.phpt +++ b/ext/date/tests/DateTime_format_basic2.phpt @@ -21,10 +21,12 @@ var_dump( $date->format( DateTime::RFC822) ) ; var_dump( $date->format( DateTime::RFC850) ) ; var_dump( $date->format( DateTime::RFC1036) ) ; var_dump( $date->format( DateTime::RFC1123) ) ; -var_dump( $date->format( DateTime:: RFC2822) ) ; +var_dump( $date->format( DateTime::RFC2822) ) ; var_dump( $date->format( DateTime::RFC3339) ) ; var_dump( $date->format( DateTime::RSS) ) ; var_dump( $date->format( DateTime::W3C) ) ; +var_dump( $date->format( DateTime::SQL) ) ; +var_dump( $date->format( DateTime::SQL_TIMESTAMP) ) ; ?> ===DONE=== @@ -41,4 +43,6 @@ string(31) "Thu, 14 Jul 2005 22:30:41 +0100" string(25) "2005-07-14T22:30:41+01:00" string(31) "Thu, 14 Jul 2005 22:30:41 +0100" string(25) "2005-07-14T22:30:41+01:00" +string(10) "2005-07-14" +string(19) "2005-07-14 22:30:41" ===DONE=== From abab64e6c190faf86d31daa284f484c3fda53034 Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Sun, 21 Jul 2013 03:11:54 -0400 Subject: [PATCH 03/10] Fix SQLTIMESTAMP constant in DateTime_format_basic2 Test --- ext/date/tests/DateTime_format_basic2.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/date/tests/DateTime_format_basic2.phpt b/ext/date/tests/DateTime_format_basic2.phpt index a817ec9a48aa..69f93436ab31 100644 --- a/ext/date/tests/DateTime_format_basic2.phpt +++ b/ext/date/tests/DateTime_format_basic2.phpt @@ -26,7 +26,7 @@ var_dump( $date->format( DateTime::RFC3339) ) ; var_dump( $date->format( DateTime::RSS) ) ; var_dump( $date->format( DateTime::W3C) ) ; var_dump( $date->format( DateTime::SQL) ) ; -var_dump( $date->format( DateTime::SQL_TIMESTAMP) ) ; +var_dump( $date->format( DateTime::SQLTIMESTAMP) ) ; ?> ===DONE=== From ff5e236ef68662f44bd27f638da4ddd10bcfae23 Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Sun, 21 Jul 2013 03:14:07 -0400 Subject: [PATCH 04/10] Update strtotime2 with DATE_SQL and DATE_SQLTIMESTAMP constants --- ext/date/tests/strtotime2.phpt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/date/tests/strtotime2.phpt b/ext/date/tests/strtotime2.phpt index b8b605923dbc..0fafb33f7420 100644 --- a/ext/date/tests/strtotime2.phpt +++ b/ext/date/tests/strtotime2.phpt @@ -17,7 +17,9 @@ $constants = array( 'DATE_RFC2822', 'DATE_RFC3339', 'DATE_RSS', - 'DATE_W3C' + 'DATE_W3C', + 'DATE_SQL', + 'DATE_SQLTIMESTAMP' ); @@ -38,3 +40,5 @@ DATE_RFC2822: OK DATE_RFC3339: OK DATE_RSS: OK DATE_W3C: OK +DATE_SQL: OK +DATE_SQLTIMESTAMP: OK From 4c7de7cd9d8c4270c3eeca4b13dbf81642150eb5 Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Sun, 21 Jul 2013 03:16:50 -0400 Subject: [PATCH 05/10] Update date_constants.phpt with DATE_SQL and DATE_SQLTIMESTAMP --- ext/date/tests/date_constants.phpt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ext/date/tests/date_constants.phpt b/ext/date/tests/date_constants.phpt index 132e24159bf8..94027a8edd91 100644 --- a/ext/date/tests/date_constants.phpt +++ b/ext/date/tests/date_constants.phpt @@ -14,7 +14,9 @@ Date constants DATE_RFC2822, DATE_RFC3339, DATE_RSS, - DATE_W3C + DATE_W3C, + DATE_SQL, + DATE_SQLTIMESTAMP ); foreach($constants as $const) { @@ -35,7 +37,9 @@ Date constants DATE_RFC2822 == DateTime::RFC2822, DATE_RFC3339 == DateTime::RFC3339, DATE_RSS == DateTime::RSS, - DATE_W3C == DateTime::W3C + DATE_W3C == DateTime::W3C, + DATE_SQL == DateTime::SQL, + DATE_SQLTIMESTAMP == DateTime::SQLTIMESTAMP ); ?> --EXPECT-- @@ -61,6 +65,10 @@ string(31) "Sat, 01 Jul 2006 14:27:30 +0200" string(31) "Tue, 30 May 2006 14:32:13 +0200" string(25) "2006-07-01T14:27:30+02:00" string(25) "2006-05-30T14:32:13+02:00" +string(10) "2006-07-01" +string(10) "2006-05-30" +string(19) "2006-07-01 14:27:30" +string(19) "2006-05-30 14:32:13" bool(true) bool(true) @@ -73,3 +81,5 @@ bool(true) bool(true) bool(true) bool(true) +bool(true) +bool(true) From 014885ba282ceba34e25ebc50cf09ef1c64964c2 Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Thu, 5 Sep 2013 13:53:33 -0400 Subject: [PATCH 06/10] Fix some errant typos in php_date.c --- ext/date/php_date.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 2cb0667d05a8..9de0696d42f4 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -799,7 +799,7 @@ PHP_RSHUTDOWN_FUNCTION(date) #define DATE_FORMAT_SQL "Y-m-d" -#define DATE_FORMAT_SQLTIMESTAMP "Y-m-d H:i:s +#define DATE_FORMAT_SQLTIMESTAMP "Y-m-d H:i:s" #define DATE_TZ_ERRMSG \ "It is not safe to rely on the system's timezone settings. You are " \ @@ -848,7 +848,7 @@ PHP_MINIT_FUNCTION(date) REGISTER_STRING_CONSTANT("DATE_W3C", DATE_FORMAT_RFC3339, CONST_CS | CONST_PERSISTENT); REGISTER_STRING_CONSTANT("DATE_SQL", DATE_FORMAT_SQL, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("DATE_SQLTIMESTAMP", DATE_FORMAT_SQLTIMESTAMP, CONST_CS | CONST_PERSISTENT);DateTime + REGISTER_STRING_CONSTANT("DATE_SQLTIMESTAMP", DATE_FORMAT_SQLTIMESTAMP, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SUNFUNCS_RET_TIMESTAMP", SUNFUNCS_RET_TIMESTAMP, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SUNFUNCS_RET_STRING", SUNFUNCS_RET_STRING, CONST_CS | CONST_PERSISTENT); From 5e1455cb5b910652d945ace61f2358cadc71e26a Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Thu, 5 Sep 2013 15:31:40 -0400 Subject: [PATCH 07/10] Fix an errant space in php_date.c --- ext/date/php_date.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 9de0696d42f4..c45280b3691f 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -799,7 +799,7 @@ PHP_RSHUTDOWN_FUNCTION(date) #define DATE_FORMAT_SQL "Y-m-d" -#define DATE_FORMAT_SQLTIMESTAMP "Y-m-d H:i:s" +#define DATE_FORMAT_SQLTIMESTAMP "Y-m-d H:i:s" #define DATE_TZ_ERRMSG \ "It is not safe to rely on the system's timezone settings. You are " \ From 4b88e1f86ebb0d4ed81ecdab099f55629bb99d43 Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Thu, 5 Sep 2013 16:04:48 -0400 Subject: [PATCH 08/10] Update DateTime_verify.phpt with new constants --- ext/date/tests/DateTime_verify.phpt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/date/tests/DateTime_verify.phpt b/ext/date/tests/DateTime_verify.phpt index a03911f5c829..73273f617c9e 100644 --- a/ext/date/tests/DateTime_verify.phpt +++ b/ext/date/tests/DateTime_verify.phpt @@ -156,7 +156,7 @@ array(18) { } } ..and get names of all its class constants -array(11) { +array(13) { ["ATOM"]=> string(13) "Y-m-d\TH:i:sP" ["COOKIE"]=> @@ -179,5 +179,9 @@ array(11) { string(16) "D, d M Y H:i:s O" ["W3C"]=> string(13) "Y-m-d\TH:i:sP" + ["SQL"]=> + string(5) "Y-m-d + ["SQLTIMESTAMP"]=> + string(11) "Y-m-d H:i:s" } -===DONE=== \ No newline at end of file +===DONE=== From 96003e5de90945eb9661de933423a329f607d8cd Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Thu, 5 Sep 2013 16:07:55 -0400 Subject: [PATCH 09/10] Remove DATE_SQL Test from strtotime2.phpt --- ext/date/tests/strtotime2.phpt | 2 -- 1 file changed, 2 deletions(-) diff --git a/ext/date/tests/strtotime2.phpt b/ext/date/tests/strtotime2.phpt index 0fafb33f7420..c9987a83ec0d 100644 --- a/ext/date/tests/strtotime2.phpt +++ b/ext/date/tests/strtotime2.phpt @@ -18,7 +18,6 @@ $constants = array( 'DATE_RFC3339', 'DATE_RSS', 'DATE_W3C', - 'DATE_SQL', 'DATE_SQLTIMESTAMP' ); @@ -40,5 +39,4 @@ DATE_RFC2822: OK DATE_RFC3339: OK DATE_RSS: OK DATE_W3C: OK -DATE_SQL: OK DATE_SQLTIMESTAMP: OK From 53bfcc1cdfcf0e039aafe9e92cb4f53e1b0bb106 Mon Sep 17 00:00:00 2001 From: Navarr Barnier Date: Thu, 5 Sep 2013 16:55:43 -0400 Subject: [PATCH 10/10] Fix an errant and obvious typo in DateTime_verify.phpt (missing quotation) --- ext/date/tests/DateTime_verify.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/date/tests/DateTime_verify.phpt b/ext/date/tests/DateTime_verify.phpt index 73273f617c9e..955d88f24041 100644 --- a/ext/date/tests/DateTime_verify.phpt +++ b/ext/date/tests/DateTime_verify.phpt @@ -180,7 +180,7 @@ array(13) { ["W3C"]=> string(13) "Y-m-d\TH:i:sP" ["SQL"]=> - string(5) "Y-m-d + string(5) "Y-m-d" ["SQLTIMESTAMP"]=> string(11) "Y-m-d H:i:s" }