summaryrefslogtreecommitdiff
path: root/install.php
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2009-11-29 19:50:24 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2009-11-29 19:50:24 +0000
commit9d75e915c2b68bb3921b7aeac6236228c5ed08e7 (patch)
tree857e40b3a974c72d6ad82ef87e069ebc56e0759f /install.php
parentddb369eaf3452e5cdfe5866a781a703effa9b0ba (diff)
downloadbrdo-9d75e915c2b68bb3921b7aeac6236228c5ed08e7.tar.gz
brdo-9d75e915c2b68bb3921b7aeac6236228c5ed08e7.tar.bz2
#537766 by seutje, Bojhan, and nbz: Use radio buttons on install language selection page.
Diffstat (limited to 'install.php')
-rw-r--r--install.php35
1 files changed, 21 insertions, 14 deletions
diff --git a/install.php b/install.php
index 9566ab043..d440ad46a 100644
--- a/install.php
+++ b/install.php
@@ -1151,6 +1151,16 @@ function install_select_locale(&$install_state) {
$profilename = $install_state['parameters']['profile'];
$locales = install_find_locales($profilename);
$install_state['locales'] += $locales;
+
+ if (!empty($_POST['locale'])) {
+ foreach ($locales as $locale) {
+ if ($_POST['locale'] == $locale->name) {
+ $install_state['parameters']['locale'] = $locale->name;
+ return;
+ }
+ }
+ }
+
if (empty($install_state['parameters']['locale'])) {
// If only the built-in (English) language is available, and we are using
// the default profile and performing an interactive installation, inform
@@ -1169,7 +1179,8 @@ function install_select_locale(&$install_state) {
$output .= '<ul><li><a href="install.php?profile=' . $profilename . '&amp;locale=en">' . st('Continue installation in English') . '</a></li><li><a href="install.php?profile=' . $profilename . '">' . st('Return to choose a language') . '</a></li></ul>';
}
else {
- $output = '<ul><li><a href="install.php?profile=' . $profilename . '&amp;locale=en">' . st('Install Drupal in English') . '</a></li><li><a href="install.php?profile=' . $profilename . '&amp;localize=true">' . st('Learn how to install Drupal in other languages') . '</a></li></ul>';
+ include_once DRUPAL_ROOT . '/includes/form.inc';
+ $output = drupal_render(drupal_get_form('install_select_locale_form', $locales, $profilename));
}
return $output;
}
@@ -1194,15 +1205,6 @@ function install_select_locale(&$install_state) {
}
}
- if (!empty($_POST['locale'])) {
- foreach ($locales as $locale) {
- if ($_POST['locale'] == $locale->name) {
- $install_state['parameters']['locale'] = $locale->name;
- return;
- }
- }
- }
-
// We still don't have a locale, so display a form for selecting one.
// Only do this in the case of interactive installations, since this is
// not a real form with submit handlers (the database isn't even set up
@@ -1211,7 +1213,7 @@ function install_select_locale(&$install_state) {
if ($install_state['interactive']) {
drupal_set_title(st('Choose language'));
include_once DRUPAL_ROOT . '/includes/form.inc';
- return drupal_render(drupal_get_form('install_select_locale_form', $locales));
+ return drupal_render(drupal_get_form('install_select_locale_form', $locales, $profilename));
}
else {
throw new Exception(st('Sorry, you must select a language to continue the installation.'));
@@ -1223,7 +1225,7 @@ function install_select_locale(&$install_state) {
/**
* Form API array definition for language selection.
*/
-function install_select_locale_form($form, &$form_state, $locales) {
+function install_select_locale_form($form, &$form_state, $locales, $profilename = 'default') {
include_once DRUPAL_ROOT . '/includes/iso.inc';
$languages = _locale_get_predefined_list();
foreach ($locales as $locale) {
@@ -1235,14 +1237,19 @@ function install_select_locale_form($form, &$form_state, $locales) {
$form['locale'][$locale->name] = array(
'#type' => 'radio',
'#return_value' => $locale->name,
- '#default_value' => $locale->name == 'en',
+ '#default_value' => $locale->name == 'en' ? 'en' : '',
'#title' => $name . ($locale->name == 'en' ? ' ' . st('(built-in)') : ''),
'#parents' => array('locale')
);
}
+ if ($profilename == 'default') {
+ $form['help'] = array(
+ '#markup' => '<p><a href="install.php?profile=' . $profilename . '&amp;localize=true">' . st('Learn how to install Drupal in other languages') . '</a></p>',
+ );
+ }
$form['submit'] = array(
'#type' => 'submit',
- '#value' => st('Select language'),
+ '#value' => st('Save and continue'),
);
return $form;
}