function apachesolr_multiligual_confgen_register_multilingual_variables in Apache Solr Multilingual 7
4 calls to apachesolr_multiligual_confgen_register_multilingual_variables()
- apachesolr_multilingual_confgen_enable in apachesolr_multilingual_confgen/
apachesolr_multilingual_confgen.install - Implements hook_enable().
- apachesolr_multilingual_confgen_modules_enabled in apachesolr_multilingual_confgen/
apachesolr_multilingual_confgen.module - Implements hook_modules_enabled().
- apachesolr_multilingual_confgen_multilingual_settings_changed in apachesolr_multilingual_confgen/
apachesolr_multilingual_confgen.module - Implements hook_multilingual_settings_changed().
- apachesolr_multilingual_confgen_update_7101 in apachesolr_multilingual_confgen/
apachesolr_multilingual_confgen.install - Register lowerCase variables
File
- apachesolr_multilingual_confgen/
apachesolr_multilingual_confgen.module, line 181 - Multilingual search using Apache Solr.
Code
function apachesolr_multiligual_confgen_register_multilingual_variables() {
variable_cache_clear();
$apachesolr_confgen_textfiles_i18n_variables = apachesolr_multilingual_confgen_get_apachesolr_confgen_textfiles_i18n_variables();
// register variables as multilingual variables
$new_variables = array_keys(array_merge($apachesolr_confgen_textfiles_i18n_variables, apachesolr_multilingual_confgen_get_i18n_variables()));
$controller = variable_realm_controller('language');
$old_variables = $controller
->getEnabledVariables();
$variables = array_flip(array_merge(array_flip($old_variables), array_flip($new_variables)));
$controller
->setRealmVariable('list', $variables);
// set default values for multilingual variables if not already modified
$path = drupal_get_path('module', 'apachesolr_multilingual_confgen') . '/res/';
foreach ($apachesolr_confgen_textfiles_i18n_variables as $var_name => $var_info) {
foreach (array_keys(apachesolr_multilingual_language_list()) as $language_id) {
if (i18n_variable_get($var_name, $language_id) === NULL && file_exists($path . basename($var_info['title'], '.txt') . '_' . $language_id . '.txt')) {
i18n_variable_set($var_name, file_get_contents($path . basename($var_info['title'], '.txt') . '_' . $language_id . '.txt'), $language_id);
}
}
}
$available_stemmers = apachesolr_multilingual_confgen_get_stemmer();
foreach (apachesolr_multilingual_confgen_get_i18n_variables() as $var_name => $var_info) {
foreach (array_keys(apachesolr_multilingual_language_list()) as $language_id) {
if (i18n_variable_get($var_name, $language_id) === NULL) {
// TODO replace that switch by reading defaults from property files
switch ($var_name) {
case 'apachesolr_multilingual_stemmer_language':
if (array_key_exists($language_id, $available_stemmers)) {
i18n_variable_set($var_name, $available_stemmers[$language_id], $language_id);
}
break;
}
}
}
}
}