src/Form/ChooseFormType.php line 13

  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  5. use Symfony\Component\Form\Extension\Core\Type\TextType;
  6. use Symfony\Component\Form\FormBuilderInterface;
  7. use Symfony\Component\OptionsResolver\OptionsResolver;
  8. use Symfony\Contracts\Translation\TranslatorInterface;
  9. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  10. class ChooseFormType extends AbstractType
  11. {
  12.     public function __construct(private TranslatorInterface $translator)
  13.     {
  14.     }
  15.     public function buildForm(FormBuilderInterface $builder, array $options): void
  16.     {
  17.         $builder
  18.             ->add('prefix',ChoiceType::class,[
  19.                 'label' => "allform.choose.prefix.label",
  20.                 'choices' => [
  21.                     'pays.FR' => '33'// France
  22.                     'pays.AF' => '93'// Afghanistan
  23.                     'pays.AL' => '355'// Albania
  24.                     'pays.DZ' => '213'// Algeria
  25.                     'pays.AD' => '376'// Andorra
  26.                     'pays.AO' => '244'// Angola
  27.                     'pays.AG' => '1-268'// Antigua and Barbuda
  28.                     'pays.AR' => '54'// Argentina
  29.                     'pays.AM' => '374'// Armenia
  30.                     'pays.AU' => '61'// Australia
  31.                     'pays.AT' => '43'// Austria
  32.                     'pays.AZ' => '994'// Azerbaijan
  33.                     'pays.BS' => '1-242'// Bahamas
  34.                     'pays.BH' => '973'// Bahrain
  35.                     'pays.BD' => '880'// Bangladesh
  36.                     'pays.BB' => '1-246'// Barbados
  37.                     'pays.BY' => '375'// Belarus
  38.                     'pays.BE' => '32'// Belgium
  39.                     'pays.BZ' => '501'// Belize
  40.                     'pays.BJ' => '229'// Benin
  41.                     'pays.BT' => '975'// Bhutan
  42.                     'pays.BO' => '591'// Bolivia
  43.                     'pays.BA' => '387'// Bosnia and Herzegovina
  44.                     'pays.BW' => '267'// Botswana
  45.                     'pays.BR' => '55'// Brazil
  46.                     'pays.BN' => '673'// Brunei
  47.                     'pays.BG' => '359'// Bulgaria
  48.                     'pays.BF' => '226'// Burkina Faso
  49.                     'pays.BI' => '257'// Burundi
  50.                     'pays.CV' => '238'// Cape Verde
  51.                     'pays.KH' => '855'// Cambodia
  52.                     'pays.CM' => '237'// Cameroon
  53.                     'pays.CA' => '1'// Canada
  54.                     'pays.CF' => '236'// Central African Republic
  55.                     'pays.TD' => '235'// Chad
  56.                     'pays.CL' => '56'// Chile
  57.                     'pays.CN' => '86'// China
  58.                     'pays.CO' => '57'// Colombia
  59.                     'pays.KM' => '269'// Comoros
  60.                     'pays.CG' => '242'// Congo (Brazzaville)
  61.                     'pays.CD' => '243'// Congo (Kinshasa)
  62.                     'pays.CR' => '506'// Costa Rica
  63.                     'pays.HR' => '385'// Croatia
  64.                     'pays.CU' => '53'// Cuba
  65.                     'pays.CY' => '357'// Cyprus
  66.                     'pays.CZ' => '420'// Czech Republic
  67.                     'pays.DK' => '45'// Denmark
  68.                     'pays.DJ' => '253'// Djibouti
  69.                     'pays.DM' => '1-767'// Dominica
  70.                     'pays.DO' => '1-809'// Dominican Republic
  71.                     'pays.EC' => '593'// Ecuador
  72.                     'pays.EG' => '20'// Egypt
  73.                     'pays.SV' => '503'// El Salvador
  74.                     'pays.GQ' => '240'// Equatorial Guinea
  75.                     'pays.ER' => '291'// Eritrea
  76.                     'pays.EE' => '372'// Estonia
  77.                     'pays.ET' => '251'// Ethiopia
  78.                     'pays.FJ' => '679'// Fiji
  79.                     'pays.FI' => '358'// Finland
  80.                     'pays.GA' => '241'// Gabon
  81.                     'pays.GM' => '220'// Gambia
  82.                     'pays.GE' => '995'// Georgia
  83.                     'pays.DE' => '49'// Germany
  84.                     'pays.GH' => '233'// Ghana
  85.                     'pays.GR' => '30'// Greece
  86.                     'pays.GD' => '1-473'// Grenada
  87.                     'pays.GT' => '502'// Guatemala
  88.                     'pays.GN' => '224'// Guinea
  89.                     'pays.GW' => '245'// Guinea-Bissau
  90.                     'pays.GY' => '592'// Guyana
  91.                     'pays.HT' => '509'// Haiti
  92.                     'pays.HN' => '504'// Honduras
  93.                     'pays.HU' => '36'// Hungary
  94.                     'pays.IS' => '354'// Iceland
  95.                     'pays.IN' => '91'// India
  96.                     'pays.ID' => '62'// Indonesia
  97.                     'pays.IR' => '98'// Iran
  98.                     'pays.IQ' => '964'// Iraq
  99.                     'pays.IE' => '353'// Ireland
  100.                     'pays.IL' => '972'// Israel
  101.                     'pays.IT' => '39'// Italy
  102.                     'pays.CI' => '225'// Ivory Coast
  103.                     'pays.JM' => '1-876'// Jamaica
  104.                     'pays.JP' => '81'// Japan
  105.                     'pays.JO' => '962'// Jordan
  106.                     'pays.KZ' => '7'// Kazakhstan
  107.                     'pays.KE' => '254'// Kenya
  108.                     'pays.KI' => '686'// Kiribati
  109.                     'pays.KW' => '965'// Kuwait
  110.                     'pays.KG' => '996'// Kyrgyzstan
  111.                     'pays.LA' => '856'// Laos
  112.                     'pays.LV' => '371'// Latvia
  113.                     'pays.LB' => '961'// Lebanon
  114.                     'pays.LS' => '266'// Lesotho
  115.                     'pays.LR' => '231'// Liberia
  116.                     'pays.LY' => '218'// Libya
  117.                     'pays.LI' => '423'// Liechtenstein
  118.                     'pays.LT' => '370'// Lithuania
  119.                     'pays.LU' => '352'// Luxembourg
  120.                     'pays.MG' => '261'// Madagascar
  121.                     'pays.MW' => '265'// Malawi
  122.                     'pays.MY' => '60'// Malaysia
  123.                     'pays.MV' => '960'// Maldives
  124.                     'pays.ML' => '223'// Mali
  125.                     'pays.MT' => '356'// Malta
  126.                     'pays.MH' => '692'// Marshall Islands
  127.                     'pays.MR' => '222'// Mauritania
  128.                     'pays.MU' => '230'// Mauritius
  129.                     'pays.MX' => '52'// Mexico
  130.                     'pays.FM' => '691'// Micronesia
  131.                     'pays.MD' => '373'// Moldova
  132.                     'pays.MC' => '377'// Monaco
  133.                     'pays.MN' => '976'// Mongolia
  134.                     'pays.ME' => '382'// Montenegro
  135.                     'pays.MA' => '212'// Morocco
  136.                     'pays.MZ' => '258'// Mozambique
  137.                     'pays.MM' => '95'// Myanmar
  138.                     'pays.NA' => '264'// Namibia
  139.                     'pays.NR' => '674'// Nauru
  140.                     'pays.NP' => '977'// Nepal
  141.                     'pays.NL' => '31'// Netherlands
  142.                     'pays.NZ' => '64'// New Zealand
  143.                     'pays.NI' => '505'// Nicaragua
  144.                     'pays.NE' => '227'// Niger
  145.                     'pays.NG' => '234'// Nigeria
  146.                     'pays.KP' => '850'// North Korea
  147.                     'pays.NO' => '47'// Norway
  148.                     'pays.OM' => '968'// Oman
  149.                     'pays.PK' => '92'// Pakistan
  150.                     'pays.PW' => '680'// Palau
  151.                     'pays.PA' => '507'// Panama
  152.                     'pays.PG' => '675'// Papua New Guinea
  153.                     'pays.PY' => '595'// Paraguay
  154.                     'pays.PE' => '51'// Peru
  155.                     'pays.PH' => '63'// Philippines
  156.                     'pays.PL' => '48'// Poland
  157.                     'pays.PT' => '351'// Portugal
  158.                     'pays.QA' => '974'// Qatar
  159.                     'pays.RO' => '40'// Romania
  160.                     'pays.RU' => '7'// Russia
  161.                     'pays.RW' => '250'// Rwanda
  162.                     'pays.KN' => '1-869'// Saint Kitts and Nevis
  163.                     'pays.LC' => '1-758'// Saint Lucia
  164.                     'pays.VC' => '1-784'// Saint Vincent and the Grenadines
  165.                     'pays.WS' => '685'// Samoa
  166.                     'pays.SM' => '378'// San Marino
  167.                     'pays.ST' => '239'// Sao Tome and Principe
  168.                     'pays.SA' => '966'// Saudi Arabia
  169.                     'pays.SN' => '221'// Senegal
  170.                     'pays.RS' => '381'// Serbia
  171.                     'pays.SC' => '248'// Seychelles
  172.                     'pays.SL' => '232'// Sierra Leone
  173.                     'pays.SG' => '65'// Singapore
  174.                     'pays.SK' => '421'// Slovakia
  175.                     'pays.SI' => '386'// Slovenia
  176.                     'pays.SB' => '677'// Solomon Islands
  177.                     'pays.SO' => '252'// Somalia
  178.                     'pays.ZA' => '27'// South Africa
  179.                     'pays.KR' => '82'// South Korea
  180.                     'pays.ES' => '34'// Spain
  181.                     'pays.LK' => '94'// Sri Lanka
  182.                     'pays.SD' => '249'// Sudan
  183.                     'pays.SR' => '597'// Suriname
  184.                     'pays.SE' => '46'// Sweden
  185.                     'pays.CH' => '41'// Switzerland
  186.                     'pays.SY' => '963'// Syria
  187.                     'pays.TJ' => '992'// Tajikistan
  188.                     'pays.TZ' => '255'// Tanzania
  189.                     'pays.TH' => '66'// Thailand
  190.                     'pays.TG' => '228'// Togo
  191.                     'pays.TO' => '676'// Tonga
  192.                     'pays.TT' => '1-868'// Trinidad and Tobago
  193.                     'pays.TN' => '216'// Tunisia
  194.                     'pays.TR' => '90'// Turkey
  195.                     'pays.TM' => '993'// Turkmenistan
  196.                     'pays.TV' => '688'// Tuvalu
  197.                     'pays.UG' => '256'// Uganda
  198.                     'pays.UA' => '380'// Ukraine
  199.                     'pays.AE' => '971'// United Arab Emirates
  200.                     'pays.GB' => '44'// United Kingdom
  201.                     'pays.US' => '1'// United States
  202.                     'pays.UY' => '598'// Uruguay
  203.                     'pays.UZ' => '998'// Uzbekistan
  204.                     'pays.VU' => '678'// Vanuatu
  205.                     'pays.VA' => '39-06'// Vatican City
  206.                     'pays.VE' => '58'// Venezuela
  207.                     'pays.VN' => '84'// Vietnam
  208.                     'pays.YE' => '967'// Yemen
  209.                     'pays.ZM' => '260'// Zambia
  210.                     'pays.ZW' => '263'// Zimbabwe
  211.                 ],
  212.                 'required' => true,
  213.                 'attr' => [
  214.                     'class' => 'appearance-none rounded-none relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-t-md focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 focus:z-10 sm:text-sm'
  215.                 ],
  216.             ])
  217.             ->add('identifier',TextType::class,[
  218.                 'label' => false,
  219.                 'attr' => [
  220.                     'placeholder' => 'allform.choose.identifier.placeholder',
  221.                     'class' => 'appearance-none mt-5 rounded-none relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-t-md focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 focus:z-10 sm:text-sm'
  222.                 ],
  223.                 'required' => true
  224.             ])
  225.             ->add('acceptTerms'CheckboxType::class, [
  226.                 'label' => 'allform.choose.sms_legal.check_condition',
  227.                 'required' => true,
  228.                 'mapped' => false,
  229.             ])
  230.         ;
  231.     }
  232.     public function configureOptions(OptionsResolver $resolver): void
  233.     {
  234.         $resolver->setDefaults([
  235.             // Configure your form options here
  236.         ]);
  237.     }
  238. }