public function save(Entity $entity, array $options = array()) { $nowString = date('Y-m-d H:i:s', time()); $restoreData = array(); if ($entity->isNew()) { if (!$entity->has('id')) { $entity->set('id', Util::generateId()); } if ($entity->hasField('createdAt')) { $entity->set('createdAt', $nowString); } if ($entity->hasField('modifiedAt')) { $entity->set('modifiedAt', $nowString); } if ($entity->hasField('createdById')) { $entity->set('createdById', $this->entityManager->getUser()->id); } if ($entity->has('modifiedById')) { $restoreData['modifiedById'] = $entity->get('modifiedById'); } if ($entity->has('modifiedAt')) { $restoreData['modifiedAt'] = $entity->get('modifiedAt'); } $entity->clear('modifiedById'); } else { if (empty($options['silent'])) { if ($entity->hasField('modifiedAt')) { $entity->set('modifiedAt', $nowString); } if ($entity->hasField('modifiedById')) { $entity->set('modifiedById', $this->entityManager->getUser()->id); } } if ($entity->has('createdById')) { $restoreData['createdById'] = $entity->get('createdById'); } if ($entity->has('createdAt')) { $restoreData['createdAt'] = $entity->get('createdAt'); } $entity->clear('createdById'); $entity->clear('createdAt'); } $this->restoreData = $restoreData; $result = parent::save($entity, $options); return $result; }
public function save(Entity $entity) { $nowString = date('Y-m-d H:i:s', time()); $restoreData = array(); if ($entity->isNew()) { if (!$entity->has('id')) { $entity->set('id', uniqid()); } if ($entity->hasField('createdAt')) { $entity->set('createdAt', $nowString); } if ($entity->hasField('createdById')) { $entity->set('createdById', $this->entityManager->getUser()->id); } if ($entity->has('modifiedById')) { $restoreData['modifiedById'] = $entity->get('modifiedById'); } if ($entity->has('modifiedAt')) { $restoreData['modifiedAt'] = $entity->get('modifiedAt'); } $entity->clear('modifiedById'); $entity->clear('modifiedAt'); } else { if ($entity->hasField('modifiedAt')) { $entity->set('modifiedAt', $nowString); } if ($entity->hasField('modifiedById')) { $entity->set('modifiedById', $this->entityManager->getUser()->id); } if ($entity->has('createdById')) { $restoreData['createdById'] = $entity->get('createdById'); } if ($entity->has('createdAt')) { $restoreData['createdAt'] = $entity->get('createdAt'); } $entity->clear('createdById'); $entity->clear('createdAt'); } $result = parent::save($entity); $entity->set($restoreData); $this->handleEmailAddressSave($entity); $this->handlePhoneNumberSave($entity); $this->handleSpecifiedRelations($entity); return $result; }