@@ -253,7 +253,7 @@ class UnityWebPortalTestCase extends TestCase
253253{
254254 private ?string $ last_user_nickname = null ;
255255 private ?string $ current_user_nickname = null ;
256- private array $ uid_to_latest_session_id = [];
256+ private array $ nickname_to_latest_session_id = [];
257257 // FIXME these names are wrong
258258 private static array $ UID2ATTRIBUTES = [
259259 "user1_org1_test " => ["user1@org1.test " , "foo " , "bar " , "user1@org1.test " ],
@@ -529,12 +529,13 @@ function switchUser(
529529 if (session_status () === PHP_SESSION_ACTIVE ) {
530530 session_write_close ();
531531 }
532- if (!$ reuse_last_session || !array_key_exists ($ nickname , $ this ->uid_to_latest_session_id )) {
532+ $ previous_session_id = $ this ->nickname_to_latest_session_id [$ nickname ] ?? null ;
533+ if (!$ reuse_last_session || !$ previous_session_id ) {
533534 $ session_id = str_replace (["_ " , "@ " , ". " ], "- " , uniqid ($ eppn . "_ " ));
534- $ this ->uid_to_latest_session_id [ $ uid ] = $ session_id ;
535+ $ this ->nickname_to_latest_session_id [ $ nickname ] = $ session_id ;
535536 session_id ($ session_id );
536537 } else {
537- session_id ($ this -> uid_to_latest_session_id [ $ uid ] );
538+ session_id ($ previous_session_id );
538539 }
539540 $ this ->last_user_nickname = $ this ->current_user_nickname ;
540541 $ this ->current_user_nickname = $ nickname ;
0 commit comments