function get($base, $opts=array())
{
- $ce = DB_DataObject::factory('core_enum');
- $ce->query('
- SELECT
- *, TIME_FORMAT(TIMEDIFF(NOW(), CONVERT_TZ(NOW(), Name, "UTC")), "%H:%i") as offset
- FROM
- mysql.time_zone_name
- ORDER BY
- offset DESC,
- Name DESC
- ');
-
- $data = array();
- while($ce->fetch()) {
- // ignroe timezone such as 'CET' and 'America/Argentina/Buenos_Aires'
- if(substr_count($ce->Name, '/') != 1) {
- continue;
- }
- $ar = explode('/', $ce->Name);
- // ignore timezone such as 'Etc/GMT+8'
- if($ar[0] == 'Etc') {
- continue;
- }
-
- if(!empty($_REQUEST['region']) && $ar[0] != $_REQUEST['region']) {
- continue;
- }
-
- $data[] = array(
- 'region' => $ar[0],
- 'area' => $ar[1],
- 'offset' => $ce->offset
- );
- }
+ $data = self::getTimezones();
echo json_encode(array(
'data' => $data,