diff --git a/core/modules/system/tests/modules/session_test/lib/Drupal/session_test/Controller/SessionTestController.php b/core/modules/system/tests/modules/session_test/lib/Drupal/session_test/Controller/SessionTestController.php new file mode 100644 index 0000000..3fc4e9c --- /dev/null +++ b/core/modules/system/tests/modules/session_test/lib/Drupal/session_test/Controller/SessionTestController.php @@ -0,0 +1,118 @@ + $_SESSION['session_test_value'])); + } + else { + return ""; + } + } + + /** + * Print the current session ID. + */ + public function sessionTestId() { + + drupal_set_title('Session ID'); + + // Set a value in $_SESSION, so that drupal_session_commit() will start + // a session. + $_SESSION['test'] = 'test'; + + drupal_session_commit(); + + return 'session_id:' . session_id() . "\n"; + } + + + /** + * Print the current session ID as read from the cookie. + */ + public function sessionTestIdFromCookie() { + + return 'session_id:' . $_COOKIE[session_name()] . "\n"; + } + + /** + * Stores a value in $_SESSION['session_test_value']. + */ + public function sessionTestSet($value) { + + $_SESSION['session_test_value'] = $value; + + return String::Format('The current value of the stored session variable has been set to %val', array('%val' => $value)); + } + + /** + * Turns off session saving and then tries to save a value anyway. + */ + public function sessionTestNoSet($value) { + + drupal_save_session(FALSE); + $this->sessionTestSet($value); + + return String::Format('session saving was disabled, and then %val was set', array('%val' => $value)); + } + + /** + * Sets a message to me displayed on the following page. + */ + public function sessionTestSetMessage() { + + drupal_set_message(String::Format('This is a dummy message.')); + print String::Format('A message was set.'); + // Do not return anything, so the current request does not result in a themed + // page with messages. The message will be displayed in the following request + // instead. + } + + /** + * Sets a message but call drupal_save_session(FALSE). + */ + public function sessionTestSetMessageButDontSave() { + + drupal_save_session(FALSE); + $this->sessionTestSetMessage(); + } + + /** + * Stores a value in $_SESSION['session_test_value'] without having + * started the session in advance. + */ + public function sessionTestSetNotStarted() { + + if (!drupal_session_will_start()) { + $_SESSION['session_test_value'] = String::Format('Session was not started'); + } + } + + /** + * Only available if current user is logged in. + */ + public function sessionTestIsLoggedIn() { + + return 'User is logged in.'; + } + + +} \ No newline at end of file diff --git a/core/modules/system/tests/modules/session_test/session_test.module b/core/modules/system/tests/modules/session_test/session_test.module index b6e1a53..a81502e 100644 --- a/core/modules/system/tests/modules/session_test/session_test.module +++ b/core/modules/system/tests/modules/session_test/session_test.module @@ -1,152 +1,10 @@ 'Session value', - 'page callback' => '_session_test_get', - 'access arguments' => array('access content'), - 'type' => MENU_CALLBACK, - ); - $items['session-test/id'] = array( - 'title' => 'Session ID', - 'page callback' => '_session_test_id', - 'access arguments' => array('access content'), - 'type' => MENU_CALLBACK, - ); - $items['session-test/id-from-cookie'] = array( - 'title' => 'Session ID from cookie', - 'page callback' => '_session_test_id_from_cookie', - 'access arguments' => array('access content'), - 'type' => MENU_CALLBACK, - ); - $items['session-test/set/%'] = array( - 'title' => 'Set session value', - 'page callback' => '_session_test_set', - 'page arguments' => array(2), - 'access arguments' => array('access content'), - 'type' => MENU_CALLBACK, - ); - $items['session-test/no-set/%'] = array( - 'title' => 'Set session value but do not save session', - 'page callback' => '_session_test_no_set', - 'page arguments' => array(2), - 'access arguments' => array('access content'), - 'type' => MENU_CALLBACK, - ); - $items['session-test/set-message'] = array( - 'title' => 'Set message', - 'page callback' => '_session_test_set_message', - 'access arguments' => array('access content'), - 'type' => MENU_CALLBACK, - ); - $items['session-test/set-message-but-dont-save'] = array( - 'title' => 'Set message but do not save session', - 'page callback' => '_session_test_set_message_but_dont_save', - 'access arguments' => array('access content'), - 'type' => MENU_CALLBACK, - ); - $items['session-test/set-not-started'] = array( - 'title' => 'Set message when session is not started', - 'page callback' => '_session_test_set_not_started', - 'access arguments' => array('access content'), - 'type' => MENU_CALLBACK, - ); - $items['session-test/is-logged-in'] = array( - 'title' => 'Check if user is logged in', - 'page callback' => '_session_test_is_logged_in', - 'access callback' => 'user_is_logged_in', - 'type' => MENU_CALLBACK, - ); - - return $items; -} - -/** - * Page callback, prints the stored session value to the screen. - */ -function _session_test_get() { - if (!empty($_SESSION['session_test_value'])) { - return t('The current value of the stored session variable is: %val', array('%val' => $_SESSION['session_test_value'])); - } - else { - return ""; - } -} - -/** - * Page callback, stores a value in $_SESSION['session_test_value']. - */ -function _session_test_set($value) { - $_SESSION['session_test_value'] = $value; - return t('The current value of the stored session variable has been set to %val', array('%val' => $value)); -} - -/** - * Menu callback: turns off session saving and then tries to save a value - * anyway. - */ -function _session_test_no_set($value) { - drupal_save_session(FALSE); - _session_test_set($value); - return t('session saving was disabled, and then %val was set', array('%val' => $value)); -} - -/** - * Menu callback: print the current session ID. - */ -function _session_test_id() { - // Set a value in $_SESSION, so that drupal_session_commit() will start - // a session. - $_SESSION['test'] = 'test'; - - drupal_session_commit(); - - return 'session_id:' . session_id() . "\n"; -} - -/** - * Menu callback: print the current session ID as read from the cookie. - */ -function _session_test_id_from_cookie() { - return 'session_id:' . $_COOKIE[session_name()] . "\n"; -} - -/** - * Menu callback, sets a message to me displayed on the following page. - */ -function _session_test_set_message() { - drupal_set_message(t('This is a dummy message.')); - print t('A message was set.'); - // Do not return anything, so the current request does not result in a themed - // page with messages. The message will be displayed in the following request - // instead. -} - -/** - * Menu callback, sets a message but call drupal_save_session(FALSE). - */ -function _session_test_set_message_but_dont_save() { - drupal_save_session(FALSE); - _session_test_set_message(); -} - -/** - * Menu callback, stores a value in $_SESSION['session_test_value'] without - * having started the session in advance. - */ -function _session_test_set_not_started() { - if (!drupal_session_will_start()) { - $_SESSION['session_test_value'] = t('Session was not started'); - } -} - -/** * Implements hook_user_login(). */ function session_test_user_login($account) { + if ($account->getUsername() == 'session_test_user') { // Exit so we can verify that the session was regenerated // before hook_user_login() was called. @@ -158,12 +16,8 @@ function session_test_user_login($account) { * Implements hook_form_FORM_ID_alter(). */ function session_test_form_user_login_form_alter(&$form) { + $form['#https'] = TRUE; } -/** - * Menu callback, only available if current user is logged in. - */ -function _session_test_is_logged_in() { - return t('User is logged in.'); -} + diff --git a/core/modules/system/tests/modules/session_test/session_test.routing.yml b/core/modules/system/tests/modules/session_test/session_test.routing.yml new file mode 100644 index 0000000..3d9f08b --- /dev/null +++ b/core/modules/system/tests/modules/session_test/session_test.routing.yml @@ -0,0 +1,54 @@ +session_test_get: + pattern: 'session-test/get' + defaults: + _content: '\Drupal\session_test\Controller\SessionTestController::get' + requirements: + _permission: 'access content' +session_test_id: + pattern: 'session-test/id' + defaults: + _content: '\Drupal\session_test\Controller\SessionTestController::id' + requirements: + _permission: 'access content' +session_test_id_from_cookie: + pattern: 'session-test/id-from-cookie' + defaults: + _content: '\Drupal\session_test\Controller\SessionTestController::idFromCookie' + requirements: + _permission: 'access content' +session_test_set: + pattern: 'session-test/set/{id}' + defaults: + _content: '\Drupal\session_test\Controller\SessionTestController::set' + requirements: + _permission: 'access content' +session_test_no_set: + pattern: 'session-test/no-set/{id}' + defaults: + _content: '\Drupal\session_test\Controller\SessionTestController::noSet' + requirements: + _permission: 'access content' +session_test_set_message: + pattern: 'session-test/set-message' + defaults: + _content: '\Drupal\session_test\Controller\SessionTestController::setMessage' + requirements: + _permission: 'access content' +session_test_set_message_but_dont_save: + pattern: 'session-test/set-message-but-dont-save' + defaults: + _content: '\Drupal\session_test\Controller\SessionTestController::setMessageButDontSave' + requirements: + _permission: 'access content' +session_test_set_not_started: + pattern: 'session-test/session-test-set-not-started' + defaults: + _content: '\Drupal\session_test\Controller\SessionTestController::sessionTestSetNotStarted' + requirements: + _permission: 'access content' +session_test_is_logged_in: + pattern: 'session-test/session-test-is-logged-in' + defaults: + _content: '\Drupal\session_test\Controller\SessionTestController::sessionTestIsLoggedIn' + requirements: + _user_is_logged_in: 'TRUE' \ No newline at end of file