/** * saving the entity * * @param BaseEntityAbstract $entity The entity that we are trying to populate for * * @return BaseEntityAbstract */ public static function save(BaseEntityAbstract $entity) { $qry = new DaoQuery(get_class($entity)); $entity->preSave(); $params = self::_getParams($entity); $id = $entity->getId(); if (trim($id) === '') { $now = new UDate(); $params['active'] = 1; $entity->setActive(true); $params['created'] = $entity->getCreated(); if (!$params['created'] instanceof UDate) { $params['created'] = trim($now); $entity->setCreated($now); } $params['updated'] = $entity->getUpdated(); if (!$params['updated'] instanceof UDate) { $params['updated'] = trim($now); $entity->setUpdated($now); } self::_execSql($qry->generateForInsert(), $params, $id); $entity->setId($id); } else { $params['id'] = $id; $params['updated'] = new UDate(); self::_execSql($qry->generateForUpdate(), $params); } $entity->postSave(); return $entity; }