Example #1
0
 /**
  * @group IL_Init
  */
 public function testBasicSessionBehaviour()
 {
     global $ilUser;
     include_once "./Services/Authentication/classes/class.ilSession.php";
     $result = "";
     ilSession::_writeData("123456", "Testdata");
     if (ilSession::_exists("123456")) {
         $result .= "exists-";
     }
     if (ilSession::_getData("123456") == "Testdata") {
         $result .= "write-get-";
     }
     $duplicate = ilSession::_duplicate("123456");
     if (ilSession::_getData($duplicate) == "Testdata") {
         $result .= "duplicate-";
     }
     ilSession::_destroy("123456");
     if (!ilSession::_exists("123456")) {
         $result .= "destroy-";
     }
     ilSession::_destroyExpiredSessions();
     if (ilSession::_exists($duplicate)) {
         $result .= "destroyExp-";
     }
     ilSession::_destroyByUserId($ilUser->getId());
     if (!ilSession::_exists($duplicate)) {
         $result .= "destroyByUser-";
     }
     $this->assertEquals("exists-write-get-duplicate-destroy-destroyExp-destroyByUser-", $result);
 }
 /**
  * Duplicate session
  *
  * @param	string		session id
  * @return	string		new session id
  */
 static function _duplicate($a_session_id)
 {
     global $ilDB;
     // Create new session id
     $new_session = $a_session_id;
     do {
         $new_session = md5($new_session);
         $q = "SELECT * FROM usr_session WHERE " . "session_id = " . $ilDB->quote($new_session, "text");
         $res = $ilDB->query($q);
     } while ($ilDB->fetchAssoc($res));
     $query = "SELECT * FROM usr_session " . "WHERE session_id = " . $ilDB->quote($a_session_id, "text");
     $res = $ilDB->query($query);
     while ($row = $ilDB->fetchObject($res)) {
         ilSession::_writeData($new_session, $row->data);
         return $new_session;
     }
     return false;
 }
 /**
  * Writes serialized session data to the database.
  *
  * @param	integer		$session_id		session id
  * @param	string		$data			session data
  */
 public function write($session_id, $data)
 {
     return ilSession::_writeData($session_id, $data);
 }