]> granicus.if.org Git - php/commitdiff
- MFH: Add some missing elements from the return value.
authorDerick Rethans <derick@php.net>
Wed, 13 Feb 2008 21:53:12 +0000 (21:53 +0000)
committerDerick Rethans <derick@php.net>
Wed, 13 Feb 2008 21:53:12 +0000 (21:53 +0000)
ext/date/php_date.c

index 2a8c63650a8eb1d538bdeb6def50644c18fd67b5..4637f35d2daaefbc2106e14c733be8a1c941b3fa 100644 (file)
@@ -1973,7 +1973,7 @@ void php_date_do_return_parsed_time(INTERNAL_FUNCTION_PARAMETERS, timelib_time *
                                break;
                }
        }
-       if (parsed_time->have_relative || parsed_time->have_weekday_relative) {
+       if (parsed_time->have_relative || parsed_time->have_weekday_relative || parsed_time->have_special_relative || parsed_time->relative.first_last_day_of) {
                MAKE_STD_ZVAL(element);
                array_init(element);
        }
@@ -1988,7 +1988,13 @@ void php_date_do_return_parsed_time(INTERNAL_FUNCTION_PARAMETERS, timelib_time *
        if (parsed_time->have_weekday_relative) {
                add_assoc_long(element, "weekday", parsed_time->relative.weekday);
        }
-       if (parsed_time->have_relative || parsed_time->have_weekday_relative) {
+       if (parsed_time->have_special_relative && (parsed_time->special.type == TIMELIB_SPECIAL_WEEKDAY)) {
+               add_assoc_long(element, "weekdays", parsed_time->special.amount);
+       }
+       if (parsed_time->relative.first_last_day_of) {
+               add_assoc_bool(element, parsed_time->relative.first_last_day_of == 1 ? "first_day_of_month" : "last_day_of_month", 1);
+       }
+       if (parsed_time->have_relative || parsed_time->have_weekday_relative || parsed_time->have_special_relative || parsed_time->relative.first_last_day_of) {
                add_assoc_zval(return_value, "relative", element);
        }
        timelib_time_dtor(parsed_time);