Beispiel #1
0
/**
 * Kill user session.
 *
 * @param int $id
 * @return void
 */
function report_usersessions_kill_session($id)
{
    global $DB, $USER;
    $session = $DB->get_record('sessions', array('id' => $id, 'userid' => $USER->id), 'id, sid');
    if (!$session or $session->sid === session_id()) {
        // Do not delete the current session!
        return;
    }
    \core\session\manager::kill_session($session->sid);
}
/**
 * Terminates one sessions, auth hooks are not executed.
 *
 * @deprecated since 2.6
 * @param string $sid session id
 */
function session_kill($sid)
{
    debugging('session_kill() is deprecated, use \\core\\session\\manager::kill_session() instead', DEBUG_DEVELOPER);
    \core\session\manager::kill_session($sid);
}
Beispiel #3
0
 /**
  * To delete a host, we must delete all current sessions that users from
  * that host are currently engaged in.
  *
  * @param   string  $sessionidarray   An array of session hashes
  * @return  bool                      True on success
  */
 function end_local_sessions(&$sessionArray)
 {
     global $CFG;
     if (is_array($sessionArray)) {
         while ($session = array_pop($sessionArray)) {
             \core\session\manager::kill_session($session->session_id);
         }
         return true;
     }
     return false;
 }
 public function test_kill_session()
 {
     global $DB, $USER;
     $this->resetAfterTest();
     $this->setAdminUser();
     $userid = $USER->id;
     $sid = md5('hokus');
     $record = new \stdClass();
     $record->state = 0;
     $record->sid = $sid;
     $record->sessdata = null;
     $record->userid = $userid;
     $record->timecreated = time() - 60 * 60;
     $record->timemodified = time() - 30;
     $record->firstip = $record->lastip = '10.0.0.1';
     $DB->insert_record('sessions', $record);
     $record->userid = 0;
     $record->sid = md5('pokus');
     $DB->insert_record('sessions', $record);
     $this->assertEquals(2, $DB->count_records('sessions'));
     \core\session\manager::kill_session($sid);
     $this->assertEquals(1, $DB->count_records('sessions'));
     $this->assertFalse($DB->record_exists('sessions', array('sid' => $sid)));
     $this->assertSame($userid, $USER->id);
 }