/**
  * Listen a preUpdate lifecycle event. Checking and encrypt entities fields
  * which have @Encrypted annotation. Using changesets to avoid preUpdate event
  * restrictions
  * @param LifecycleEventArgs $args 
  */
 public function preUpdate(PreUpdateEventArgs $args)
 {
     $reflectionClass = new ReflectionClass($args->getEntity());
     $properties = $reflectionClass->getProperties();
     foreach ($properties as $refProperty) {
         $propName = $refProperty->getName();
         if ($this->annReader->getPropertyAnnotation($refProperty, self::ENCRYPTED_ANN_NAME) && $args->hasChangedField($propName)) {
             $args->setNewValue($propName, $this->encryptor->encrypt($args->getNewValue($propName)));
         }
     }
 }
Exemplo n.º 2
0
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     $user = $eventArgs->getEntity();
     if ($user instanceof User) {
         if ($eventArgs->hasChangedField('password')) {
             $password = $this->encodePassword($user);
             $eventArgs->setNewValue('password', $password);
             $user->setPassword($password);
         }
     }
 }
Exemplo n.º 3
0
 /**
  * @param PreUpdateEventArgs $args
  */
 public function preUpdate(PreUpdateEventArgs $args)
 {
     $entity = $args->getEntity();
     switch (true) {
         case $entity instanceof User:
             if ($entity->getPlainPassword()) {
                 $args->setNewValue('password', $this->encodePlainPassword($entity));
             }
             break;
     }
 }
 /**
  * PreUpdate event listener
  *
  * Only computes password change if password is one of file to be changed
  *
  * @param PreUpdateEventArgs $eventArgs Event args
  */
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     $entity = $eventArgs->getEntity();
     if ($this->checkEntityType($entity)) {
         if ($eventArgs->hasChangedField('password')) {
             $password = $entity->getPassword();
             if (!empty($password)) {
                 $encodedPassword = $this->encryptPassword($password);
                 $eventArgs->setNewValue('password', $encodedPassword);
             }
         }
     }
 }
Exemplo n.º 5
0
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     $eventArgs->setNewValue('name', 'Bob');
 }