app/Plugin/ECCUBE4LineLoginIntegration42/Form/Extension/MypageChangeLineLoginExtension.php line 36

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2015 LOCKON CO.,LTD. All Rights Reserved.
  6.  * http://www.lockon.co.jp/
  7.  *
  8.  * For the full copyright and license information, please view the LICENSE
  9.  * file that was distributed with this source code.
  10.  */
  11. namespace Plugin\ECCUBE4LineLoginIntegration42\Form\Extension;
  12. use Eccube\Form\Type\Front\EntryType;
  13. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  14. use Symfony\Component\Form\AbstractTypeExtension;
  15. use Symfony\Component\Form\FormBuilderInterface;
  16. use Symfony\Component\DependencyInjection\ContainerInterface;
  17. use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
  18. use Plugin\ECCUBE4LineLoginIntegration42\Controller\LineLoginIntegrationController;
  19. use Plugin\ECCUBE4LineLoginIntegration42\Entity\LineLoginIntegration;
  20. class MypageChangeLineLoginExtension extends AbstractTypeExtension
  21. {
  22.     private $container;
  23.     private $session;
  24.     private $tokenStorage;
  25.     public function __construct(
  26.         TokenStorageInterface $tokenStorage,
  27.         ContainerInterface $container
  28.     ) {
  29.         $this->container $container;
  30.         $this->tokenStorage $tokenStorage;
  31.         $this->session $this->container->get('session');
  32.     }
  33.     public function buildForm(FormBuilderInterface $builder, array $options)
  34.     {
  35.         // LINEにログインしていなくても連携を解除できるようにするにはこの条件を見直す($options['data']->getId)
  36.         // LINEログインしている場合に表示
  37.         $lineUserId $this->session->get(LineLoginIntegrationController::PLUGIN_LINE_LOGIN_INTEGRATION_SSO_USERID);
  38.         if (!empty($lineUserId)) {
  39.             $builder
  40.                 ->add('is_line_delete'CheckboxType::class, [
  41.                     'required' => false,
  42.                     'label' => '解除',
  43.                     'mapped' => false,
  44.                     'value' => '0',
  45.                 ]);
  46.         }
  47.     }
  48.     public function getExtendedType()
  49.     {
  50.         return EntryType::class;
  51.     }
  52.     /**
  53.      * Return the class of the type being extended.
  54.      */
  55.     public static function getExtendedTypes(): iterable
  56.     {
  57.         return [EntryType::class];
  58.     }
  59. }