summaryrefslogtreecommitdiff
path: root/modules/node
diff options
context:
space:
mode:
authorDavid Rothstein <drothstein@gmail.com>2012-06-09 15:51:03 -0400
committerDavid Rothstein <drothstein@gmail.com>2012-06-09 15:51:03 -0400
commita12152309a64b5c3b9ea6a41e8da2baa9971f612 (patch)
treea6f27f9eced00ca14d8510be57e4d2e7588d968a /modules/node
parent4a60f552b4e03916c76bbc7aaea5bc3fa503e85d (diff)
downloadbrdo-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.inc9
-rw-r--r--modules/node/node.install2
-rw-r--r--modules/node/node.module3
-rw-r--r--modules/node/node.pages.inc2
-rw-r--r--modules/node/node.test13
-rw-r--r--modules/node/node.tokens.inc3
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':