Bug: Call to timezone_abbreviations_list() in CMS Builder v1.10

4 posts by 2 authors in: Forums > CMS Builder
Last Post: March 20, 2008   (RSS)

By webdude - March 20, 2008

In the file lib/menus/admin/actionHandler.php

There is a call to PHP function timezone_abbreviations_list() which is only available on PHP versions > 5.10 ish (depending on who you talk to). PHP manual says PHP >= 5.1.0 (http://php.net/timezone_abbreviations_list).

This is causing the Admin:General Settings page to crash with fatal error: Call to undefined function timezone_abbreviations_list() in ... lib/menus/admin/actionHandler.php

We are running official updated CentOS 5 (which is essentially RHEL5) and the function is not available in the PHP version (5.16).

Any thoughts? How can I be the only one noticing this? Maybe I'm the only one running CMS Builder v1.10 who doesn't have bleeding-ish edge PHP and who has tried to view the Admin:General Settings page.

Re: [webdude] Bug: Call to timezone_abbreviations_list() in CMS Builder v1.10

By Dave - March 20, 2008

That's strange. So that must mean that you have date_default_timezone_set() but not timezone_abbreviations_list()?

The php docs say both should be available from v5.10 up but I as well have noticed the PHP docs aren't always accurate.

There's a fallback system for PHP versions that don't support the recent PHP5.1(ish) timezone functions but it checks to see if date_default_timezone_set() is defined to see if that's necessary.

Can you just try this code on your server and let me know what it prints? Save it as test.php:

<?php
echo "This is PHP v" . phpversion() . "<br/>\n";
echo "date_default_timezone_set: " . function_exists('date_default_timezone_set') . "<br/>\n";
echo "timezone_abbreviations_list: " . function_exists('timezone_abbreviations_list') . "<br/>\n";
?>


Thanks for the bug report!
Dave Edis - Senior Developer
interactivetools.com

Re: [Dave] Bug: Call to timezone_abbreviations_list() in CMS Builder v1.10

By webdude - March 20, 2008

Hi Dave,

Well I guess this explains the bug. Here is the output to the code you asked me to run:
This is PHP v5.1.6
date_default_timezone_set: 1
timezone_abbreviations_list:

Your hypothesis seems correct. Either PHP docs are a little screwy or my php is a little screwy (or both?).

Let me know if this helps... I really appreciate your patience in troubleshooting!