Development

/branches/1.4/lib/widget/i18n/sfWidgetFormI18nChoiceLanguage.class.php

You must first sign up to be able to contribute.

root/branches/1.4/lib/widget/i18n/sfWidgetFormI18nChoiceLanguage.class.php

Revision 23810, 1.8 kB (checked in by Kris.Wallsmith, 4 years ago)

[1.3] set svn:eol-style property to native and svn:keywords property to Id on all .php files

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1 <?php
2
3 /*
4  * This file is part of the symfony package.
5  * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
6  *
7  * For the full copyright and license information, please view the LICENSE
8  * file that was distributed with this source code.
9  */
10
11 /**
12  * sfWidgetFormI18nChoiceLanguage represents a language choice widget.
13  *
14  * @package    symfony
15  * @subpackage widget
16  * @author     Fabien Potencier <fabien.potencier@symfony-project.com>
17  * @version    SVN: $Id$
18  */
19 class sfWidgetFormI18nChoiceLanguage extends sfWidgetFormChoice
20 {
21   /**
22    * Constructor.
23    *
24    * Available options:
25    *
26    *  * culture:   The culture to use for internationalized strings
27    *  * languages: An array of language codes to use
28    *  * add_empty: Whether to add a first empty value or not (false by default)
29    *               If the option is not a Boolean, the value will be used as the text value
30    *
31    * @param array $options     An array of options
32    * @param array $attributes  An array of default HTML attributes
33    *
34    * @see sfWidgetFormChoice
35    */
36   protected function configure($options = array(), $attributes = array())
37   {
38     parent::configure($options, $attributes);
39
40     $this->addOption('culture');
41     $this->addOption('languages');
42     $this->addOption('add_empty', false);
43
44     // populate choices with all languages
45     $culture = isset($options['culture']) ? $options['culture'] : 'en';
46
47     $languages = sfCultureInfo::getInstance($culture)->getLanguages(isset($options['languages']) ? $options['languages'] : null);
48
49     $addEmpty = isset($options['add_empty']) ? $options['add_empty'] : false;
50     if (false !== $addEmpty)
51     {
52       $languages = array_merge(array('' => true === $addEmpty ? '' : $addEmpty), $languages);
53     }
54
55     $this->setOption('choices', $languages);
56   }
57 }
58
Note: See TracBrowser for help on using the browser.