Found a problem with form framework using a deprecated timezone:
US/Central.

If using deprecated timezone US/Central, you cannot validate the date
fields.

Havent tested all deprecated timezones, but think it gives sence to give
the user an error un deprecated usage of php.
Improved the locale check to a one-liner.
Only check if version is above required for running symfony2.
merged branch hollodk/master (PR #335)

Commits
-------

c0183b0 Only check if version is above required for running symfony2.
e16f52b Improved the locale check to a one-liner.
60b25f0 Found a problem with form framework using a deprecated timezone: US/Central.

Discussion
----------

bug with deprecated timezone in form framework

I found a problem with form framework when using a deprecated timezone.

I used deprecated timezone US/Central, and could not validate the date
fields. Got the error "invalid date", eventho i could not choose different in the select box of dates..

Havent tested all deprecated timezones, but think it gives sence to give
the user an error un deprecated usage of php.

---------------------------------------------------------------------------

by neilferreira at 2012-05-17T12:04:59Z

This permalink provides you with a slightly better solution, rather than having a large array of time stamps that are to be maintained outside of PHP itself:
http://stackoverflow.com/questions/5703359/validating-timezone-name-coming-in-from-different-site/5703565#5703565

---------------------------------------------------------------------------

by hollodk at 2012-05-17T15:24:42Z

neil it was some good points.. i have made it to a oneliner instead of:

(in_array(date_default_timezone_get(), \DateTimeZone::listIdentifiers())),

but i dont know if that is good enought, a requirement is php 5.2 or bigger.. i can do following:

1.
only make as a requirement if version is greater than 5.2 else ignore the check since this static variable is only available in versions above 5.2.

2.
if php version is smaller, make a manual list of allowed timezones... but you properly dont look at symfony if you use versions below.. so i dont know if that is important.

any thoughts, i think no #1 should be good enough..

---------------------------------------------------------------------------

by hollodk at 2012-05-17T15:34:15Z

hmm.. if you dont have the required version of php, you cannot run symfony2 anyway and have to fix this first..

When you have fixed the php version, you will get this error if you run a deprecated version.. So i think to skip the check if you dont have the required version is the best solution, the other fix would just create a long ugly array.. so please let me know if im wrong.

---------------------------------------------------------------------------

by stof at 2012-05-17T15:41:25Z

Making the requirement pass on PHP 5.2 (and so not using namespaces and closures) was needed to be able to ensure you really have 5.3+. However, making them pass on PHP 5.1 is totally useless (if someone still uses PHP 5.1, we don't care about him as even 5.2 is EOL now). So just use the DateTimeZone class for the requirement.

---------------------------------------------------------------------------

by hollodk at 2012-05-17T15:45:02Z

okay, i actually added the requirement check, because the check script would break if the variable does not exists.. :/ if that is okay, you can make the pull else i can remove the if statement?
tweaked previous merge