language_selection_page.install in Language Selection Page 7.2
Same filename and directory in other branches
Module installation code.
File
language_selection_page.installView source
<?php
/**
* @file
* Module installation code.
*/
/**
* Implements hook_requirements().
*/
function language_selection_page_requirements($phase) {
$t = get_t();
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 ($language_count['db'] != $language_count['vars']) {
$requirements['language_selection_page'] = array(
'title' => 'Language Selection Page',
'value' => $t('There is a problem with the <b>language_count</b> variable.<br/>There are @language_count_db languages enabled in the database and @language_count_vars in the variable table (or from Features/Strongarm).<br/>This can lead to problems in your Drupal website.<br/>Please fix this problem before going further.', array(
'@language_count_db' => $language_count['db'],
'@language_count_vars' => $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] = $t('You should add a path prefix to <a href="@language_url">language @language_name</a> if you want to have it enabled in the <b>Language Selection Page</b>.', array(
'@language_url' => url('admin/config/regional/language/edit/' . $lang->language),
'@language_name' => $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 {
$link = url('admin/config/regional/language');
$requirements['language_selection_page'] = array(
'title' => 'Language Selection Page',
'value' => $t('All your <a href="@link">enabled languages</a> have language prefixes.', array(
'@link' => $link,
)),
'severity' => REQUIREMENT_OK,
);
}
}
else {
$link = url('admin/config/regional/language');
$requirements['language_selection_page'] = array(
'title' => 'Language Selection Page',
'value' => $t('There is only <a href="@link">one language enabled</a>. This module is useless and should not be enabled.', array(
'@link' => $link,
)),
'severity' => REQUIREMENT_WARNING,
);
}
return $requirements;
}
/**
* Implements hook_install().
*/
function language_selection_page_install() {
$default_blacklist_paths = array(
'admin',
'user',
'admin/*',
'admin*',
'node/add/*',
'node/*/edit',
);
variable_set('language_selection_page_blacklisted_paths', implode(PHP_EOL, $default_blacklist_paths));
variable_set('language_selection_page_redirect_type', LANGUAGE_SELECTION_PAGE_TEMPLATE_ONLY);
variable_set('language_selection_page_path', 'language_selection');
}
/**
* Implements hook_uninstall().
*/
function language_selection_page_uninstall() {
variable_del('language_selection_page_blacklisted_paths');
variable_del('language_selection_page_redirect_type');
variable_del('language_selection_page_path');
variable_del('language_selection_page_ignore_language_neutral');
variable_del('language_selection_page_js_cookie_redirect');
drupal_set_message(t('The Language Selection Page variables has been removed successfully.'));
}
Functions
Name![]() |
Description |
---|---|
language_selection_page_install | Implements hook_install(). |
language_selection_page_requirements | Implements hook_requirements(). |
language_selection_page_uninstall | Implements hook_uninstall(). |