public function save(User $user) { $data = ['id' => $user->getId(), 'firstname' => $user->getFirstname(), 'surname' => $user->getSurname(), 'email' => $user->getEmail()]; if (strlen($user->getPassword()) != 88) { $data['salt'] = uniqid(mt_rand()); $data['password'] = $this->encoder->encodePassword($user->getPassword(), $data['salt']); } if ($user->getId()) { $this->db->update('users', $data, ['id' => $user->getId()]); } else { $data['c_date'] = date('Y-m-d H:i:s'); $this->db->insert('users', $data); $user->setCDate($data['c_date']); $id = $this->db->lastInsertId(); $user->setId($id)->setSalt($data['salt'])->setPassword($data['password']); } }