diff options
author | David Rothstein <drothstein@gmail.com> | 2012-06-09 15:51:03 -0400 |
---|---|---|
committer | David Rothstein <drothstein@gmail.com> | 2012-06-09 15:51:03 -0400 |
commit | a12152309a64b5c3b9ea6a41e8da2baa9971f612 (patch) | |
tree | a6f27f9eced00ca14d8510be57e4d2e7588d968a /modules/node | |
parent | 4a60f552b4e03916c76bbc7aaea5bc3fa503e85d (diff) | |
download | brdo-a12152309a64b5c3b9ea6a41e8da2baa9971f612.tar.gz brdo-a12152309a64b5c3b9ea6a41e8da2baa9971f612.tar.bz2 |
Issue #1495648 by plach: Introduce entity language support.
Diffstat (limited to 'modules/node')
-rw-r--r-- | modules/node/node.admin.inc | 9 | ||||
-rw-r--r-- | modules/node/node.install | 2 | ||||
-rw-r--r-- | modules/node/node.module | 3 | ||||
-rw-r--r-- | modules/node/node.pages.inc | 2 | ||||
-rw-r--r-- | modules/node/node.test | 13 | ||||
-rw-r--r-- | modules/node/node.tokens.inc | 3 |
6 files changed, 18 insertions, 14 deletions
diff --git a/modules/node/node.admin.inc b/modules/node/node.admin.inc index a1967c45d..1508bc054 100644 --- a/modules/node/node.admin.inc +++ b/modules/node/node.admin.inc @@ -432,7 +432,8 @@ function node_admin_nodes() { $destination = drupal_get_destination(); $options = array(); foreach ($nodes as $node) { - $l_options = $node->language != LANGUAGE_NONE && isset($languages[$node->language]) ? array('language' => $languages[$node->language]) : array(); + $langcode = entity_language('node', $node); + $l_options = $langcode != LANGUAGE_NONE && isset($languages[$langcode]) ? array('language' => $languages[$langcode]) : array(); $options[$node->nid] = array( 'title' => array( 'data' => array( @@ -449,11 +450,11 @@ function node_admin_nodes() { 'changed' => format_date($node->changed, 'short'), ); if ($multilanguage) { - if ($node->language == LANGUAGE_NONE || isset($languages[$node->language])) { - $options[$node->nid]['language'] = $node->language == LANGUAGE_NONE ? t('Language neutral') : t($languages[$node->language]->name); + if ($langcode == LANGUAGE_NONE || isset($languages[$langcode])) { + $options[$node->nid]['language'] = $langcode == LANGUAGE_NONE ? t('Language neutral') : t($languages[$langcode]->name); } else { - $options[$node->nid]['language'] = t('Undefined language (@langcode)', array('@langcode' => $node->language)); + $options[$node->nid]['language'] = t('Undefined language (@langcode)', array('@langcode' => $langcode)); } } // Build a list of all the accessible operations for the current node. diff --git a/modules/node/node.install b/modules/node/node.install index 8505234a2..0955d4369 100644 --- a/modules/node/node.install +++ b/modules/node/node.install @@ -890,7 +890,7 @@ function node_update_7012() { ->execute(); // Switch field languages to LANGUAGE_NONE, since initially they were - // assigned $node->language. + // assigned the node language. foreach (array('field_data_body', 'field_revision_body') as $table) { db_update($table) ->fields(array('language' => LANGUAGE_NONE)) diff --git a/modules/node/node.module b/modules/node/node.module index 290df41a5..71ea3b923 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -177,6 +177,7 @@ function node_entity_info() { 'revision' => 'vid', 'bundle' => 'type', 'label' => 'title', + 'language' => 'language', ), 'bundle keys' => array( 'bundle' => 'type', @@ -1682,7 +1683,7 @@ function node_search_execute($keys = NULL, $conditions = NULL) { 'extra' => $extra, 'score' => $item->calculated_score, 'snippet' => search_excerpt($keys, $node->rendered), - 'language' => $node->language, + 'language' => entity_language('node', $node), ); } return $results; diff --git a/modules/node/node.pages.inc b/modules/node/node.pages.inc index 89a159385..31d396a72 100644 --- a/modules/node/node.pages.inc +++ b/modules/node/node.pages.inc @@ -299,7 +299,7 @@ function node_form($form, &$form_state, $node) { } $form += array('#submit' => array()); - field_attach_form('node', $node, $form, $form_state, $node->language); + field_attach_form('node', $node, $form, $form_state, entity_language('node', $node)); return $form; } diff --git a/modules/node/node.test b/modules/node/node.test index 6e458bb47..37d05e529 100644 --- a/modules/node/node.test +++ b/modules/node/node.test @@ -2288,15 +2288,16 @@ class NodeTokenReplaceTestCase extends DrupalWebTestCase { // Generate and test sanitized tokens. $tests = array(); + $langcode = entity_language('node', $node); $tests['[node:nid]'] = $node->nid; $tests['[node:vid]'] = $node->vid; $tests['[node:tnid]'] = $node->tnid; $tests['[node:type]'] = 'article'; $tests['[node:type-name]'] = 'Article'; $tests['[node:title]'] = check_plain($node->title); - $tests['[node:body]'] = _text_sanitize($instance, $node->language, $node->body[$node->language][0], 'value'); - $tests['[node:summary]'] = _text_sanitize($instance, $node->language, $node->body[$node->language][0], 'summary'); - $tests['[node:language]'] = check_plain($node->language); + $tests['[node:body]'] = _text_sanitize($instance, $langcode, $node->body[$langcode][0], 'value'); + $tests['[node:summary]'] = _text_sanitize($instance, $langcode, $node->body[$langcode][0], 'summary'); + $tests['[node:language]'] = check_plain($langcode); $tests['[node:url]'] = url('node/' . $node->nid, $url_options); $tests['[node:edit-url]'] = url('node/' . $node->nid . '/edit', $url_options); $tests['[node:author]'] = check_plain(format_username($account)); @@ -2315,9 +2316,9 @@ class NodeTokenReplaceTestCase extends DrupalWebTestCase { // Generate and test unsanitized tokens. $tests['[node:title]'] = $node->title; - $tests['[node:body]'] = $node->body[$node->language][0]['value']; - $tests['[node:summary]'] = $node->body[$node->language][0]['summary']; - $tests['[node:language]'] = $node->language; + $tests['[node:body]'] = $node->body[$langcode][0]['value']; + $tests['[node:summary]'] = $node->body[$langcode][0]['summary']; + $tests['[node:language]'] = $langcode; $tests['[node:author:name]'] = format_username($account); foreach ($tests as $input => $expected) { diff --git a/modules/node/node.tokens.inc b/modules/node/node.tokens.inc index 491ec81c4..e43db5e7d 100644 --- a/modules/node/node.tokens.inc +++ b/modules/node/node.tokens.inc @@ -144,7 +144,8 @@ function node_tokens($type, $tokens, array $data = array(), array $options = arr break; case 'language': - $replacements[$original] = $sanitize ? check_plain($node->language) : $node->language; + $langcode = entity_language('node', $node); + $replacements[$original] = $sanitize ? check_plain($langcode) : $langcode; break; case 'url': |