function language_switcher_session

Return the session language switcher block.

2 string references to 'language_switcher_session'
language_language_negotiation_info in drupal/core/modules/language/language.module
Implements hook_language_negotiation_info().
locale_update_8007 in drupal/core/modules/locale/locale.install
Convert language_negotiation_* variables to use the new callbacks.

File

drupal/core/modules/language/language.negotiation.inc, line 399
Language negotiation functions.

Code

function language_switcher_session($type, $path) {
  $param = config('language.negotiation')
    ->get('session.parameter');
  $language_query = isset($_SESSION[$param]) ? $_SESSION[$param] : language($type)->langcode;
  $languages = language_list();
  $links = array();
  $query = $_GET;
  foreach ($languages as $language) {
    $langcode = $language->langcode;
    $links[$langcode] = array(
      'href' => $path,
      'title' => $language->name,
      'attributes' => array(
        'class' => array(
          'language-link',
        ),
      ),
      'query' => $query,
    );
    if ($language_query != $langcode) {
      $links[$langcode]['query'][$param] = $langcode;
    }
    else {
      $links[$langcode]['attributes']['class'][] = ' session-active';
    }
  }
  return $links;
}