src/Eccube/Form/EventListener/ConvertKanaListener.php line 45

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.ec-cube.co.jp/
  8.  *
  9.  * For the full copyright and license information, please view the LICENSE
  10.  * file that was distributed with this source code.
  11.  */
  12. namespace Eccube\Form\EventListener;
  13. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  14. use Symfony\Component\Form\FormEvent;
  15. use Symfony\Component\Form\FormEvents;
  16. class ConvertKanaListener implements EventSubscriberInterface
  17. {
  18.     /**
  19.      * @var string
  20.      */
  21.     protected $option;
  22.     /**
  23.      * @var string
  24.      */
  25.     protected $encoding;
  26.     public function __construct($option 'a'$encoding 'utf-8')
  27.     {
  28.         $this->option $option;
  29.         $this->encoding $encoding;
  30.     }
  31.     public static function getSubscribedEvents()
  32.     {
  33.         return [
  34.             FormEvents::PRE_SUBMIT => 'onPreSubmit',
  35.         ];
  36.     }
  37.     public function onPreSubmit(FormEvent $event)
  38.     {
  39.         $data $event->getData();
  40.         if (is_array($data)) {
  41.             foreach ($data as &$value) {
  42.                 $value mb_convert_kana($value$this->option$this->encoding);
  43.             }
  44.         } else {
  45.             $data mb_convert_kana($data$this->option$this->encoding);
  46.         }
  47.         $event->setData($data);
  48.     }
  49. }