Nessuna descrizione

UserAgentsRepository.php 699B

12345678910111213141516171819202122232425262728
  1. <?php declare(strict_types=1);
  2. namespace MailPoet\Statistics;
  3. if (!defined('ABSPATH')) exit;
  4. use MailPoet\Doctrine\Repository;
  5. use MailPoet\Entities\UserAgentEntity;
  6. /**
  7. * @extends Repository<UserAgentEntity>
  8. */
  9. class UserAgentsRepository extends Repository {
  10. protected function getEntityClassName() {
  11. return UserAgentEntity::class;
  12. }
  13. public function findOrCreate(string $userAgent): UserAgentEntity {
  14. $hash = (string)crc32($userAgent);
  15. $userAgentEntity = $this->findOneBy(['hash' => $hash]);
  16. if ($userAgentEntity) return $userAgentEntity;
  17. $userAgentEntity = new UserAgentEntity($userAgent);
  18. $this->persist($userAgentEntity);
  19. return $userAgentEntity;
  20. }
  21. }