29 $r = $this->parent->request;
30 $userLang = $r->getVal(
'uselang' );
31 $contLang = $r->getVal(
'ContLang' );
34 $lifetime = intval( ini_get(
'session.gc_maxlifetime' ) );
39 if ( $r->wasPosted() ) {
41 if ( $this->parent->getSession(
'test' ) === null ) {
42 $requestTime = $r->getVal(
'LanguageRequestTime' );
43 if ( !$requestTime ) {
46 $msg =
'config-session-expired';
47 } elseif ( time() - $requestTime > $lifetime ) {
48 $msg =
'config-session-expired';
50 $msg =
'config-no-session';
52 $this->parent->showError( $msg,
$wgLang->formatTimePeriod( $lifetime ) );
55 $this->setVar(
'_UserLang', $userLang );
58 $this->setVar(
'wgLanguageCode', $contLang );
63 } elseif ( $this->parent->showSessionWarning ) {
64 # The user was knocked back from another page to the start
65 # This probably indicates a session expiry
66 $this->parent->showError(
'config-session-expired',
67 $wgLang->formatTimePeriod( $lifetime ) );
70 $this->parent->setSession(
'test',
true );
73 $userLang = $this->getVar(
'_UserLang',
'en' );
76 $contLang = $this->getVar(
'wgLanguageCode',
'en' );
79 $s = Html::hidden(
'LanguageRequestTime', time() ) .
81 $this->parent->getHelpBox(
'config-your-language-help' ) ) .
83 $this->parent->getHelpBox(
'config-wiki-language-help' ) );
85 $this->endForm(
'continue',
false );
103 $select =
new XmlSelect( $name, $name, $selectedCode );
104 $select->setAttribute(
'tabindex', $this->parent->nextTabIndex() );
108 $select->addOption(
"$code - $lang", $code );
112 return $this->parent->label( $label, $name,
$output );