/** * Lay thong tin user tu session (danh cho user da login hoac su dung remember me * */ public function updateFromSession($registry) { $setting = $registry->setting; if ($registry->session->has('userLogin') && $registry->session->get('userLogin') > 0) { //New way $userid = (int) $registry->session->get('userLogin'); $myCacher = new Cacher(self::cacheBuildKeystringDetail($userid)); $userInfo = $myCacher->get(); if (!$userInfo || $registry->request->query->has('live')) { $sql = 'SELECT * FROM lit_ac_user u INNER JOIN lit_ac_user_profile up ON u.u_id = up.u_id WHERE u.u_id = ?'; $userInfo = $this->db->query($sql, array($userid))->fetch(); $myCacher->set($userInfo, 3600); } $this->getDataByArray($userInfo); } elseif ($registry->request->cookies->has('myHashing') && strlen($registry->request->cookies->get('myHashing')) > 0) { $cookieRememberMeInfo = \Litpi\ViephpHashing::cookiehasingParser($registry->request->cookies->get('myHashing')); $myUserTmp = new self(); $myUserTmp->getData($cookieRememberMeInfo['userid']); if (\Litpi\ViephpHashing::authenticateCookiehashing($cookieRememberMeInfo['shortPasswordString'], $myUserTmp->password)) { $registry->session->migrate(); $this->copy($myUserTmp); //////////////////////////////////////////////////////////////////////////////////// //UPDATE LAST LOGIN TIME $sql = 'UPDATE ' . TABLE_PREFIX . 'ac_user_profile SET up_datelastlogin = ? WHERE u_id = ? LIMIT 1'; $this->db->query($sql, array(time(), $this->id)); $registry->session->set('userLogin', $this->id); $registry->session->set('loginauto', 1); } } }