/** * Generate a time zone selection menu * * @param $name string The name of the selection field * @param $default The default value * @return string * @since v3.0.1 */ public static function timeZoneSelectMenu($name, $default = null) { if (!isset($default)) { $default = date_default_timezone_get(); } $result = array(); foreach (DateTime::getTimeZones() as $zone => $zones_array) { foreach ($zones_array as $key => $value) { $result[] = array('id' => $key, 'text' => $value, 'group' => $zone); } } return HTML::selectMenu($name, $result, $default); }
public function testTimeZoneSelectMenu() { $result = array(); foreach (DateTime::getTimeZones() as $zone => $zones_array) { foreach ($zones_array as $key => $value) { $result[] = array('id' => $key, 'text' => $value, 'group' => $zone); } } $this->assertEquals(HTML::selectMenu('timezone', $result, 'Europe/Berlin'), HTML::timeZoneSelectMenu('timezone', 'Europe/Berlin')); }