vendor/shopware/core/Framework/Routing/Annotation/LoginRequired.php line 47

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Framework\Routing\Annotation;
  3. use Sensio\Bundle\FrameworkExtraBundle\Configuration\ConfigurationInterface;
  4. use Shopware\Core\Framework\Feature;
  5. use Shopware\Core\System\SalesChannel\SalesChannelContext;
  6. /**
  7.  * @deprecated tag:v6.5.0 - Use route defaults with "_loginRequired". Example: @Route(defaults={"_loginRequired"=true)
  8.  * Annotation for store-api/storefront
  9.  *
  10.  * @Annotation
  11.  */
  12. class LoginRequired implements ConfigurationInterface
  13. {
  14.     /**
  15.      * @var bool
  16.      */
  17.     private $allowGuest;
  18.     public function __construct(array $values)
  19.     {
  20.         $this->allowGuest = isset($values['allowGuest']) ? $values['allowGuest'] : false;
  21.     }
  22.     /**
  23.      * @return string
  24.      */
  25.     public function getAliasName()
  26.     {
  27.         Feature::triggerDeprecationOrThrow(
  28.             'v6.5.0.0',
  29.             Feature::deprecatedClassMessage(__CLASS__'v6.5.0.0''"@Route(defaults={"_loginRequired"=true)"')
  30.         );
  31.         return 'loginRequired';
  32.     }
  33.     /**
  34.      * @return bool
  35.      */
  36.     public function allowArray()
  37.     {
  38.         Feature::triggerDeprecationOrThrow(
  39.             'v6.5.0.0',
  40.             Feature::deprecatedClassMessage(__CLASS__'v6.5.0.0''"@Route(defaults={"_loginRequired"=true)"')
  41.         );
  42.         return false;
  43.     }
  44.     public function isLoggedIn(SalesChannelContext $context): bool
  45.     {
  46.         Feature::triggerDeprecationOrThrow(
  47.             'v6.5.0.0',
  48.             Feature::deprecatedClassMessage(__CLASS__'v6.5.0.0''"@Route(defaults={"_loginRequired"=true)"')
  49.         );
  50.         if ($context->getCustomer() === null) {
  51.             return false;
  52.         }
  53.         if ($context->getCustomer()->getGuest() && $this->isAllowGuest() === false) {
  54.             return false;
  55.         }
  56.         return true;
  57.     }
  58.     public function isAllowGuest(): bool
  59.     {
  60.         Feature::triggerDeprecationOrThrow(
  61.             'v6.5.0.0',
  62.             Feature::deprecatedClassMessage(__CLASS__'v6.5.0.0''"@Route(defaults={"_loginRequired"=true)"')
  63.         );
  64.         return $this->allowGuest;
  65.     }
  66.     public function setAllowGuest(bool $allowGuest): void
  67.     {
  68.         Feature::triggerDeprecationOrThrow(
  69.             'v6.5.0.0',
  70.             Feature::deprecatedClassMessage(__CLASS__'v6.5.0.0''"@Route(defaults={"_loginRequired"=true)"')
  71.         );
  72.         $this->allowGuest $allowGuest;
  73.     }
  74. }