function _field_language_suggestion

Process the language code suggestion based on the available language codes.

If a non-empty language code suggestion is provided it must appear among the available language codes, otherwise it will be ignored.

Parameters

$available_langcodes: An array of valid language codes.

$langcode_suggestion: A language code or an array of language codes keyed by field name.

$field_name: The name of the field being processed.

Return value

An array of valid language codes.

Related topics

4 calls to _field_language_suggestion()
field_invoke_method in drupal/core/modules/field/field.attach.inc
Invokes a method on all the fields of a given entity.
field_invoke_method_multiple in drupal/core/modules/field/field.attach.inc
Invokes a method across fields on multiple entities.
_field_invoke in drupal/core/modules/field/field.attach.inc
Invoke a field hook.
_field_invoke_multiple in drupal/core/modules/field/field.attach.inc
Invokes a field hook across fields on multiple entities.

File

drupal/core/modules/field/field.multilingual.inc, line 127
Functions implementing Field API multilingual support.

Code

function _field_language_suggestion($available_langcodes, $langcode_suggestion, $field_name) {

  // Handle possible language suggestions.
  if (!empty($langcode_suggestion)) {

    // We might have an array of language suggestions keyed by field name.
    if (is_array($langcode_suggestion) && isset($langcode_suggestion[$field_name])) {
      $langcode_suggestion = $langcode_suggestion[$field_name];
    }

    // If we have a single language code suggestion and it is available, we just
    // return it.
    if (in_array($langcode_suggestion, $available_langcodes)) {
      $available_langcodes = array(
        $langcode_suggestion,
      );
    }
  }
  return $available_langcodes;
}