Skip to content

jeroenvdgulik/BertTimezoneBundle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Readable Timezone Field Type for Symfony2

The stock Symfony2 timezone field type organizes all of the Olson Timezone Identifiers in PHP by Continent and displays them to the user. This dropdown is pretty bad from a UI perspective. This bundles provides an alternate dropdown that is similar to the one found when choosing a time zone on a Windows computer.

This is my first symfony2 bundle, feedback welcome!

Installation

Edit your deps file and add the following:

[BertTimezoneBundle]
    git=git://github.com/bertrandom/BertTimezoneBundle.git
    target=/bundles/Bert/TimezoneBundle

Run the vendors install script:

bin/vendors install

This will pull down the latest version of this bundle from github. Alternatively you can just put the files in /vendor/bundles/Bert/TimezoneBundle

Next, add the namespace to the end of the registerNamespaces bit in autoload.php:

$loader->registerNamespaces(array(
    'Symfony'          => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'),
    'Sensio'           => __DIR__.'/../vendor/bundles',

    .
    .
    .

	'Bert' 			   => __DIR__.'/../vendor/bundles',
));

Add the bundle in AppKernel.php:

$bundles = array(
    new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
    new Symfony\Bundle\SecurityBundle\SecurityBundle(),

    .
    .
    .

	new Bert\TimezoneBundle\BertTimezoneBundle(),
);

That's it, the field type should be ready to use.

Usage

Simply use the field type readabletimezone in your form builder, e.g.:

$builder
    ->add('username')
    ->add('plainPassword', 'repeated', array('type' => 'password'))
	->add('firstname')
	->add('lastname')
	->add('email', 'email')
	->add('timezone', 'readabletimezone')
;

Data

The data is taken from the work of two blog posts on the subject of readable timezones:

Presenting a list of Timezones to the user

Olson Time Zone Database to Standard Windows Time Zone v0.1

I've made mirrors of these two posts and put them in Resources/source/mirrors/ in case the blog posts go away.

The timezone data itself can be found in Resources/config/timezones.yml

Credits

Bertrand Fan (bertrand@fan.net)

Timezone data provided by Avi Block and Tim Davis, see Data section for more details.

About

Readable Timezone Field Type for Symfony2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%