Same name and namespace in other branches
  1. 6.x modules/translation/translation.module \translation_node_get_translations()

Gets all nodes in a given translation set.

Parameters

$tnid: The translation source nid of the translation set, the identifier of the node used to derive all translations in the set.

Return value

Array of partial node objects (nid, title, language) representing all nodes in the translation set, in effect all translations of node $tnid, including node $tnid itself. Because these are partial nodes, you need to node_load() the full node, if you need more properties. The array is indexed by language code.

3 calls to translation_node_get_translations()
translation_node_overview in modules/translation/translation.pages.inc
Page callback: Displays a list of a node's translations.
translation_node_prepare in modules/translation/translation.module
Implements hook_node_prepare().
translation_node_validate in modules/translation/translation.module
Implements hook_node_validate().

File

modules/translation/translation.module, line 486
Manages content translations.

Code

function translation_node_get_translations($tnid) {
  if (is_numeric($tnid) && $tnid) {
    $translations =& drupal_static(__FUNCTION__, array());
    if (!isset($translations[$tnid])) {
      $translations[$tnid] = array();
      $result = db_select('node', 'n')
        ->fields('n', array(
        'nid',
        'type',
        'uid',
        'status',
        'title',
        'language',
      ))
        ->condition('n.tnid', $tnid)
        ->addTag('node_access')
        ->execute();
      foreach ($result as $node) {
        $langcode = entity_language('node', $node);
        $translations[$tnid][$langcode] = $node;
      }
    }
    return $translations[$tnid];
  }
}