You are here

function nodereferrer_referrers_with_translations in NodeReferrer 7

Same name and namespace in other branches
  1. 6 views/nodereferrer.views.inc \nodereferrer_referrers_with_translations()

Given a node id, field names and content names, returns the list of nodes that refer to the given node. This takes translation settings into account

3 calls to nodereferrer_referrers_with_translations()
nodereferrer_view_handler_argument::referrers in views/nodereferrer_view_handler_argument.inc
Given a node id, field names and content names, returns the list of nodes that refer to the given node. This takes translation settings into account
nodereferrer_view_handler_field::referrers in views/nodereferrer_view_handler_field.inc
Given a node id, field names and content names, returns the list of nodes that refer to the given node. This takes translation settings into account
nodereferrer_view_handler_filter::referrers in views/nodereferrer_view_handler_filter.inc
Given a node id, field names and content names, returns the list of nodes that refer to the given node. This takes translation settings into account

File

views/nodereferrer.views.inc, line 103
nodereferrer.module Views integration

Code

function nodereferrer_referrers_with_translations($nid, $fields, $types, $ref_of_trans, $trans_of_ref) {
  if (!module_exists('translation')) {
    return nodereferrer_referrers($nid, $fields, $types);
  }
  $ref = nodereferrer_referrers($nid, $fields, $types, $ref_of_trans);
  if ($trans_of_ref && count($ref)) {
    $in = implode(',', array_keys($ref));
    $query = "SELECT node2.nid, node2.vid, node2.title\n              FROM   {node} node\n              INNER JOIN {node} node2 on node2.tnid = node.tnid\n              WHERE node.nid IN ({$in})\n                    AND\n                    node.tnid > 0\n    ";
    $query = db_rewrite_sql($query, 'node');
    $result = db_query($query);
    while ($value = db_fetch_array($result)) {
      $ref[$value['nid']] = $value;
    }
  }
  return $ref;
}