1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
<?php
use MediaWiki\Request\WebRequest;
use MediaWiki\Session\SessionBackend;
use MediaWiki\Session\SessionInfo;
use MediaWiki\Session\SessionProvider;
use MediaWiki\Session\UserInfo;
/**
* Dummy session provider
*
* An implementation of a session provider that doesn't actually do anything.
*/
class DummySessionProvider extends SessionProvider {
public const ID = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
public function provideSessionInfo( WebRequest $request ) {
return new SessionInfo( SessionInfo::MIN_PRIORITY, [
'provider' => $this,
'id' => self::ID,
'persisted' => true,
'userInfo' => UserInfo::newAnonymous(),
] );
}
public function newSessionInfo( $id = null ) {
return new SessionInfo( SessionInfo::MIN_PRIORITY, [
'id' => $id,
'idIsSafe' => true,
'provider' => $this,
'persisted' => false,
'userInfo' => UserInfo::newAnonymous(),
] );
}
public function persistsSessionId() {
return true;
}
public function canChangeUser() {
return $this->persistsSessionId();
}
public function persistSession( SessionBackend $session, WebRequest $request ) {
}
public function unpersistSession( WebRequest $request ) {
}
public function immutableSessionCouldExistForUser( $user ) {
return false;
}
public function preventImmutableSessionsForUser( $user ) {
}
public function suggestLoginUsername( WebRequest $request ) {
return $request->getCookie( 'UserName' );
}
}
|