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

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