diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc index 027e070..af3ac84 100644 --- a/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc @@ -2734,7 +2734,9 @@ function language_name($langcode) { if ($language = language_load($langcode)) { return $language->name; } - + if (empty($langcode)) { + return t('Unknown'); + } return t('Unknown (@langcode)', array('@langcode' => $langcode)); } diff --git a/core/modules/node/node.admin.inc b/core/modules/node/node.admin.inc index 9578417..db9f2ef 100644 --- a/core/modules/node/node.admin.inc +++ b/core/modules/node/node.admin.inc @@ -104,8 +104,8 @@ function node_filters() { ) + node_type_get_names(), ); - // Language filter if the site is multilingual. - if (language_multilingual()) { + // Language filter if language support is present. + if (node_multilanguage()) { $languages = language_list(TRUE); $language_options = array(LANGUAGE_NONE => t('- None -')); foreach ($languages as $langcode => $language) { @@ -395,6 +395,26 @@ function node_admin_content($form, $form_state) { } /** + * Determines whether multiple languages are used by nodes. + * + * If at least one node type has multilingual support enabled we are in this context. + * + * @return bool + * TRUE when one or more node types have multilingual support enabled. + * + * @see node_filter_form() + * @see node_admin_nodes() + */ +function node_multilanguage() { + foreach (node_type_get_types() as $type) { + if (variable_get('node_type_language_' . $type->type, 0)) { + return TRUE; + } + } + return FALSE; +} + +/** * Returns the admin form object to node_admin_content(). * * @see node_multiple_delete_confirm() @@ -433,11 +453,8 @@ function node_admin_nodes() { '#submit' => array('node_admin_nodes_submit'), ); - // Enable language column if translation module is enabled or if we have any - // node with language. - $multilanguage = (module_exists('translation') || db_query_range("SELECT 1 FROM {node} WHERE langcode <> :langcode", 0, 1, array(':langcode' => LANGUAGE_NONE))->fetchField()); - - // Build the sortable table header. + // Enable language column when having more than one language for nodes. + $multilanguage = node_multilanguage(); // Build the sortable table header. $header = array( 'title' => array('data' => t('Title'), 'field' => 'n.title'), 'type' => array('data' => t('Content type'), 'field' => 'n.type'),