language_selection_page.install in Language Selection Page 6
Same filename and directory in other branches
The install page.
File
language_selection_page.installView source
<?php
/**
* @file
* The install page.
*/
/*
* Implementation of hook_requirements().
*/
function language_selection_page_requirements($phase) {
module_load_include('inc', 'language_selection_page', 'includes/language_selection_page.helpers');
$requirements = array();
$lang_list = language_list('enabled');
$language_count = _language_selection_page_check_language_count();
if (variable_get('language_negotiation', LANGUAGE_NEGOTIATION_NONE) != 2) {
$requirements['language_selection_page'] = array(
'title' => 'Language Selection Page',
'value' => _language_selection_page_get_error_messages('language_negotiation', 'Language negotiation', 'Path prefix with language fallback.', 'admin/settings/language/configure'),
'severity' => REQUIREMENT_ERROR,
);
return $requirements;
}
if ($language_count['db'] != $language_count['vars']) {
$requirements['language_selection_page'] = array(
'title' => 'Language Selection Page',
'value' => _language_selection_page_get_error_messages('language_count', $language_count['db'], $language_count['vars']),
'severity' => REQUIREMENT_ERROR,
);
return $requirements;
}
if ($language_count['db'] > 1) {
$lang_list_without_prefix = array();
foreach ($lang_list[1] as $lang) {
if (empty($lang->prefix)) {
$lang_list_without_prefix[$lang->language] = _language_selection_page_get_error_messages('language_prefix', url('admin/settings/language/edit/' . $lang->language), $lang->name);
}
}
if (count($lang_list_without_prefix) >= 1) {
$requirements['language_selection_page'] = array(
'title' => 'Language Selection Page',
'value' => implode('<br/>', $lang_list_without_prefix),
'severity' => REQUIREMENT_WARNING,
);
}
else {
$requirements['language_selection_page'] = array(
'title' => 'Language Selection Page',
'value' => _language_selection_page_get_error_messages('language_all_good'),
'severity' => REQUIREMENT_OK,
);
}
}
else {
$link = url('admin/settings/language');
$requirements['language_selection_page'] = array(
'title' => 'Language Selection Page',
'value' => _language_selection_page_get_error_messages('language_only_one', $link),
'severity' => REQUIREMENT_WARNING,
);
}
return $requirements;
}
/**
* Implementation of hook_uninstall().
*
*/
function language_selection_page_uninstall() {
variable_del('language_selection_page_use_language_cookie');
variable_del('language_selection_page_enable');
variable_del('language_selection_page_redirect_type');
variable_del('language_selection_page_blacklisted_paths');
variable_del('language_selection_page_cookie_lifetime');
setcookie(LANGUAGE_SELECTION_PAGE_LANGUAGE_COOKIE_KEY, NULL, 0, '/');
drupal_set_message(t('The Language Selection Page variables and cookie has been removed successfully.'));
}
/**
* Update settings according to the code.
* We do no need hook_boot() anymore so we remove the code
* who updates the system table each time.
*
* @return array
* It will return an empty array.
*/
function language_selection_page_update_6001() {
if (variable_get('language_selection_page_use_language_cookie', 0) == 2) {
variable_set('language_selection_page_enable', 0);
variable_set('language_selection_page_use_language_cookie', 1);
}
update_sql("UPDATE {system} SET bootstrap=0 WHERE name = 'language_selection_page'");
return array();
}
/**
* Users MUST configure the module again after this update.
*
* @return array
* It will return an empty array.
*/
function language_selection_page_update_6002() {
drupal_set_message(t("You must re configure the <a href='@setting_url'>language selection page settings</a>.", array(
'@setting_url' => url('admin/settings/language/i18n/selection_page'),
)), "warning");
return array();
}
Functions
Name![]() |
Description |
---|---|
language_selection_page_requirements | |
language_selection_page_uninstall | Implementation of hook_uninstall(). |
language_selection_page_update_6001 | Update settings according to the code. We do no need hook_boot() anymore so we remove the code who updates the system table each time. |
language_selection_page_update_6002 | Users MUST configure the module again after this update. |