objectManager = $objectManager; $this->securityConfig = $securityConfig; $this->instanceName = $instanceName; } /** * Create class instance with specified parameters * * @param int $securityEventType * @param string $accountReference * @param string $longIp * @return Collection * @since 100.1.0 */ public function create( $securityEventType = null, $accountReference = null, $longIp = null ) { /** @var Collection $collection */ $collection = $this->objectManager->create($this->instanceName); if (null !== $securityEventType) { $collection->filterByRequestType($securityEventType); switch ($this->securityConfig->getPasswordResetProtectionType()) { case ResetMethod::OPTION_BY_EMAIL: $collection->filterByAccountReference($accountReference); break; case ResetMethod::OPTION_BY_IP: $collection->filterByIp($longIp); break; case ResetMethod::OPTION_BY_IP_AND_EMAIL: $collection->filterByIpOrAccountReference($longIp, $accountReference); break; default: } } return $collection; } }