Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getDoubleOptInConfirmDate example
if
(
!
$this
->
isCustomerConfirmed
(
$customer
)
)
{
// Make sure to only throw this exception after it has been verified it was a valid login
throw
CustomerException::
customerOptinNotCompleted
(
$customer
->
getId
(
)
)
;
}
return
$customer
;
}
private
function
isCustomerConfirmed
(
CustomerEntity
$customer
)
: bool
{
return
!
$customer
->
getDoubleOptInRegistration
(
)
||
$customer
->
getDoubleOptInConfirmDate
(
)
;
}
private
function
loginByCustomer
(
CustomerEntity
$customer
, SalesChannelContext
$context
)
: string
{
$this
->customerRepository->
update
(
[
[
'id' =>
$customer
->
getId
(
)
,
'lastLogin' =>
new
\
DateTimeImmutable
(
)
,
]
,
]
,
$context
->
getContext
(
)
)
;
$this
->validator->
validate
(
[
'em' =>
$dataBag
->
get
(
'em'
)
,
'doubleOptInRegistration' =>
$customer
->
getDoubleOptInRegistration
(
)
,
]
,
$this
->
getBeforeConfirmValidation
(
hash
(
'sha1',
(string)
$customer
->
getEmail
(
)
)
)
)
;
if
(
(
!Feature::
isActive
(
'v6.6.0.0'
)
&&
$customer
->
getActive
(
)
)
||
$customer
->
getDoubleOptInConfirmDate
(
)
!== null
)
{
throw
CustomerException::
customerAlreadyConfirmed
(
$customer
->
getId
(
)
)
;
}
$customerUpdate
=
[
'id' =>
$customer
->
getId
(
)
,
'doubleOptInConfirmDate' =>
new
\
DateTimeImmutable
(
)
,
]
;
if
(
!Feature::
isActive
(
'v6.6.0.0'
)
)
{
$customerUpdate
[
'active'
]
= true;
}
$this
->customerRepository->
update
(
[
$customerUpdate
]
,
$context
->
getContext
(
)
)
;