1.20.x language.inc | language_negotiation_set($type, $negotiation) |
Saves a list of language negotiation providers.
Parameters
$type: The language negotiation type.
$negotiation: An array of language negotiation providers in the order they should be executed.
Related topics
File
- includes/
language.inc, line 332 - Language Negotiation API.
Code
function language_negotiation_set($type, $negotiation) {
$defined_providers = language_negotiation_info();
$default_types = language_types_get_configurable();
$negotiation_data = array();
foreach ($negotiation as $id) {
if (isset($defined_providers[$id])) {
$provider = $defined_providers[$id];
// If the provider does not express any preference about types, make it
// available for any configurable type.
$types = array_flip(isset($provider['types']) ? $provider['types'] : $default_types);
// Check whether the provider is defined and has the right type.
if (isset($types[$type])) {
$negotiation_data[] = $id;
}
}
}
config_set('language.settings', "language_negotiation.$type", $negotiation_data);
}