Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function read($sessionId)
 {
     if (System::getVar('sessionstoretofile')) {
         $path = DataUtil::formatForOS(session_save_path());
         if (file_exists("{$path}/{$sessionId}")) {
             $result = file_get_contents("{$path}/{$sessionId}");
             if ($result) {
                 $result = unserialize($result);
             }
         }
     } else {
         $result = DBUtil::selectObjectByID('session_info', $sessionId, 'sessid');
         if (!$result) {
             return false;
         }
     }
     if (is_array($result) && isset($result['sessid'])) {
         $GLOBALS['_ZSession']['obj'] = array('sessid' => $result['sessid'], 'ipaddr' => $result['ipaddr'], 'uid' => $result['uid'], 'lastused' => $result['lastused']);
     }
     // security feature to change session id's periodically
     SessionUtil::random_regenerate();
     return isset($result['vars']) ? $result['vars'] : '';
 }