/** * Terminates all sessions, auth hooks are not executed. * Useful in upgrade scripts. * * @deprecated since 2.6 */ function session_kill_all() { debugging('session_kill_all() is deprecated, use \\core\\session\\manager::kill_all_sessions() instead', DEBUG_DEVELOPER); \core\session\manager::kill_all_sessions(); }
public function test_kill_all_sessions() { 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->sid = md5('hokus2'); $DB->insert_record('sessions', $record); $record->userid = 0; $record->sid = md5('pokus'); $DB->insert_record('sessions', $record); $this->assertEquals(3, $DB->count_records('sessions')); \core\session\manager::kill_all_sessions(); $this->assertEquals(0, $DB->count_records('sessions')); $this->assertSame(0, $USER->id); }