/**
  * Making new User to register.
  * @param RegisterFO $fo
  * @return User
  */
 private function makeUser(RegisterFO $fo)
 {
     $user = new User();
     $user->setLogin($fo->getLogin());
     $user->setFirstname($fo->getFirstname());
     $user->setLastname($fo->getLastname());
     $user->setEmail($fo->getEmail());
     $user->setPassword($fo->getPassword());
     $user->setGender($fo->getGender());
     $user->setBirthdate($fo->getBirthdate());
     $user->setLatestIP(null);
     $user->setLastActive(null);
     $user->setActivation($this->makeActivationHash($user));
     return $user;
 }
 /**
  * Update User with latest activity date.
  * @param User $user
  */
 private function updateUserActivity(User $user)
 {
     $user->setLastActive(null);
     DAOFactory::getUserDAO()->save($user);
 }
 /**
  * Used to register new User.
  * 
  * @param array $request Register form Credentials to be used to register new User.
  * @return integer Number of successfully affected rows in User table.
  */
 public function register($request)
 {
     $login = $request[RegisterEnum::LOGIN];
     $password = md5($request[RegisterEnum::PASSWORD]);
     $firstname = $request[RegisterEnum::FIRSTNAME];
     $lastname = $request[RegisterEnum::LASTNAME];
     $email = $request[RegisterEnum::EMAIL];
     $gender = $request[RegisterEnum::GENDER];
     $year = $request[RegisterEnum::YEAR];
     $month = $request[RegisterEnum::MONTH];
     $day = $request[RegisterEnum::DAY];
     $birthdate = $year . '-' . $month . '-' . $day;
     $vo = new User();
     $vo->setLogin($this->db->escape($login));
     $vo->setPassword($this->db->escape($password));
     $vo->setFirstname($this->db->escape($firstname));
     $vo->setLastname($this->db->escape($lastname));
     $vo->setEmail($this->db->escape($email));
     $vo->setOnline(0);
     $vo->setGender($gender);
     $vo->setBirthdate($birthdate);
     $vo->setAvatar(0);
     $vo->setActive(0);
     $vo->setVisitNumber(0);
     $vo->setLastActive(' ');
     $dao = $this->dao->getDAO("User");
     return $dao->save($vo);
 }