62 lines
1.5 KiB
PHP
62 lines
1.5 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the FOSUserBundle package.
|
|
*
|
|
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace FOS\UserBundle\Util;
|
|
|
|
use FOS\UserBundle\Model\UserInterface;
|
|
|
|
/**
|
|
* Class updating the canonical fields of the user.
|
|
*
|
|
* @author Christophe Coevoet <stof@notk.org>
|
|
*/
|
|
class CanonicalFieldsUpdater
|
|
{
|
|
private $usernameCanonicalizer;
|
|
private $emailCanonicalizer;
|
|
|
|
public function __construct(CanonicalizerInterface $usernameCanonicalizer, CanonicalizerInterface $emailCanonicalizer)
|
|
{
|
|
$this->usernameCanonicalizer = $usernameCanonicalizer;
|
|
$this->emailCanonicalizer = $emailCanonicalizer;
|
|
}
|
|
|
|
public function updateCanonicalFields(UserInterface $user)
|
|
{
|
|
$user->setUsernameCanonical($this->canonicalizeUsername($user->getUsername()));
|
|
$user->setEmailCanonical($this->canonicalizeEmail($user->getEmail()));
|
|
}
|
|
|
|
/**
|
|
* Canonicalizes an email.
|
|
*
|
|
* @param string|null $email
|
|
*
|
|
* @return string|null
|
|
*/
|
|
public function canonicalizeEmail($email)
|
|
{
|
|
return $this->emailCanonicalizer->canonicalize($email);
|
|
}
|
|
|
|
/**
|
|
* Canonicalizes a username.
|
|
*
|
|
* @param string|null $username
|
|
*
|
|
* @return string|null
|
|
*/
|
|
public function canonicalizeUsername($username)
|
|
{
|
|
return $this->usernameCanonicalizer->canonicalize($username);
|
|
}
|
|
}
|