function lang_dropdown_language_switch_links_alter in Language Switcher Dropdown 7.2
Implements hook_language_switch_links_alter().
File
- ./
lang_dropdown.module, line 467 - Language dropdown select module main file.
Code
function lang_dropdown_language_switch_links_alter(&$links, $type, $path) {
if ($type !== LANGUAGE_TYPE_CONTENT || empty($links)) {
return;
}
$menu_item = menu_get_item($path);
if (empty($menu_item) || !isset($menu_item['page_arguments'])) {
return;
}
$page_arguments = is_array($menu_item['page_arguments']) ? array_shift($menu_item['page_arguments']) : NULL;
if (empty($page_arguments) || !isset($page_arguments->translations) || !isset($page_arguments->translations->data)) {
return;
}
$translations_data = $page_arguments->translations->data;
foreach ($links as $langcode => $link) {
if (!isset($translations_data[$langcode])) {
unset($links[$langcode]['href']);
$links[$langcode]['attributes']['class'][] = 'locale-untranslated';
continue;
}
$translation_access = module_exists('entity_translation') && entity_translation_access($translations_data[$langcode]['entity_type'], $translations_data[$langcode]);
if (!$translation_access) {
unset($links[$langcode]['href']);
$links[$langcode]['attributes']['class'][] = 'locale-untranslated';
}
}
}