* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form\Extension\Core\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\ChoiceList\ArrayChoiceList; use Symfony\Component\Form\ChoiceList\Loader\ChoiceLoaderInterface; use Symfony\Component\Intl\Intl; use Symfony\Component\OptionsResolver\Options; use Symfony\Component\OptionsResolver\OptionsResolver; class LocaleType extends AbstractType implements ChoiceLoaderInterface { /** * Locale loaded choice list. * * The choices are lazy loaded and generated from the Intl component. * * {@link \Symfony\Component\Intl\Intl::getLocaleBundle()}. * * @var ArrayChoiceList */ private $choiceList; /** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'choice_loader' => function (Options $options) { if ($options['choices']) { @trigger_error(sprintf('Using the "choices" option in %s has been deprecated since Symfony 3.3 and will be ignored in 4.0. Override the "choice_loader" option instead or set it to null.', __CLASS__), E_USER_DEPRECATED); return null; } return $this; }, 'choice_translation_domain' => false, )); } /** * {@inheritdoc} */ public function getParent() { return __NAMESPACE__.'\ChoiceType'; } /** * {@inheritdoc} */ public function getBlockPrefix() { return 'locale'; } /** * {@inheritdoc} */ public function loadChoiceList($value = null) { if (null !== $this->choiceList) { return $this->choiceList; } return $this->choiceList = new ArrayChoiceList(array_flip(Intl::getLocaleBundle()->getLocaleNames()), $value); } /** * {@inheritdoc} */ public function loadChoicesForValues(array $values, $value = null) { // Optimize $values = array_filter($values); if (empty($values)) { return array(); } // If no callable is set, values are the same as choices if (null === $value) { return $values; } return $this->loadChoiceList($value)->getChoicesForValues($values); } /** * {@inheritdoc} */ public function loadValuesForChoices(array $choices, $value = null) { // Optimize $choices = array_filter($choices); if (empty($choices)) { return array(); } // If no callable is set, choices are the same as values if (null === $value) { return $choices; } return $this->loadChoiceList($value)->getValuesForChoices($choices); } } __halt_compiler();----SIGNATURE:----wTFuQVTSlN+EyN9Qe45C/H5h1f4DS0qcqA/Xm8gvG3Cao0GUlR3ftrxev9FWF9lhc2tAz/wy6bzdobkeGDmL/pdAm5QX8fbvZCr5Lmtl33IKgMJJPEw2LUBnMO2TWc6X5oBJNqQW+DMBY4F+BQT0Ect58VXPpH6ZMEOThK8SVDY3fmNsaQaaA38y1Tpnv7wiBdJE7AVOq5TI4gJDT5lGnZazG/vddbcZTXALBTXZKktMLFEKt3FMDEXNmxGCtkiN8oJF1u/g/WeJlyNr8pGAfZOb6WvGCdNqjFdUHfOguqxH6TBBIHC9Fj9xqfUV5hruBBGJ2dCDbFOu5OT7w2JAyxhx/QV+HetWAGnGs/phvJ690HxcXba6Qy4KUVXjlEdTivevsKJbF5eN64BUQ8cQP2klv/Yokxe1FLtrlVkxxNEYFV/pC8hyO4efxkWw54bsKP7AYVbcR7sf/S8IeKt68X4WGiNc6vmxbagFhA7pgT7BlwgnQ3Ezjcbk2sbsDNbb0tWHZTHLf6+nYbAdpfy8ANqm2uqqyjjuqqTaZhdxBVWvtFlJuALHu2FJ4o/yLkOPyevymxxqvgj5c4aHge8UjbNTV8RsXg9CCWMVWQ7iD/A3lT4wAFg++llUVeNlhQ24I9qLxCSz6d/L5L7SrmcG0cTN1Im5XMEPXPW4vJntwg0=----ATTACHMENT:----NTk0NDM3MzE0NzIwMTQwOSAyMzA0MzU5OTM4MjcwODA4IDM1NDM5NTkxNzE3MzA5Njc=