views:

88

answers:

1

I am developing a new application using Symfony. I want to store the passwords hashed, so I overridded the save method in my User model:

public function save(Doctrine_Connection $conn = null)
{
    $this->setUserPassword( md5($this->getUserPassword()) );
return parent::save($conn);
}

This works good when a new user created. However, this causes problems when we edit a user without changing his password. This causes Doctrine to hash the already hashed password.

So, I need to check that whether the UserPassword is modified in this DoctrineRecord instance. How can I manage to do that?

+5  A: 

Solution: We need to override the setter method only:

public function setUserPassword($password)
{
    return $this->_set('user_password', md5($password));
}
Damn, 3rd question I look where the OP answered himself before anyone. I guess SO's gonna die soon, people became too smart !
Clement Herreman