bertrandom/timezone-bundle

Readable Timezone Field Type for Symfony2

Installs: 12 513

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 3

Type:symfony-bundle

dev-master 2014-06-03 16:16 UTC

This package is not auto-updated.

Last update: 2024-04-21 00:32:59 UTC


README

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.