/**
  * @param string $userName
  *
  * @return WiseChatUser
  */
 private function createUserAndSave($userName)
 {
     WiseChatContainer::load('model/WiseChatUser');
     // construct username and user object:
     $user = new WiseChatUser();
     $user->setName($userName);
     $user->setSessionId($this->userSessionDAO->getSessionId());
     $user->setIp($this->getRemoteAddress());
     if ($this->options->isOptionEnabled('collect_user_stats', true)) {
         $this->fillWithGeoDetails($user);
     }
     // save user in DB and in the session:
     $this->usersDAO->save($user);
     $this->userSessionDAO->set(self::SESSION_KEY_USER_ID, $user->getId());
     return $user;
 }
Beispiel #2
0
 /**
  * Converts raw object into WiseChatUser object.
  *
  * @param stdClass $rawUserData
  *
  * @return WiseChatUser
  */
 private function populateUserData($rawUserData)
 {
     $user = new WiseChatUser();
     if (strlen($rawUserData->id) > 0) {
         $user->setId(intval($rawUserData->id));
     }
     if (strlen($rawUserData->wp_id) > 0) {
         $user->setWordPressId(intval($rawUserData->wp_id));
     }
     $user->setName($rawUserData->name);
     $user->setSessionId($rawUserData->session_id);
     $user->setIp($rawUserData->ip);
     $user->setData(json_decode($rawUserData->data, true));
     return $user;
 }