You are here

function tmgmt_node_handler_field_translation_language_status::pre_render in Translation Management Tool 7

Run before any fields are rendered.

This gives the handlers some time to set up before any handler has been rendered.

Parameters

array $values: An array of all objects returned from the query.

Overrides views_handler_field::pre_render

File

sources/node/views/handlers/tmgmt_node_handler_field_translation_language_status.inc, line 55

Class

tmgmt_node_handler_field_translation_language_status
Field handler to display the status of all languages.

Code

function pre_render(&$values) {
  $nids = array();
  foreach ($values as $value) {
    $tnid = $this
      ->get_value($value);
    $tnid = !empty($tnid) ? $tnid : $this
      ->get_value($value, 'nid');
    $this->active_job_items[$tnid] = tmgmt_job_item_load_latest('node', 'node', $tnid, $value->node_language);
    $nids[] = $tnid;
  }
  if ($nodes = node_load_multiple($nids)) {
    $result = db_select('node', 'n')
      ->fields('n', array(
      'tnid',
      'language',
      'translate',
    ))
      ->condition('tnid', $nids)
      ->execute()
      ->fetchAll();
    $this->language_items = array();
    foreach ($result as $tnode) {

      // The translate flag is set if the translation node is outdated, revert
      // to have FALSE for outdated translations.
      $this->language_items[$tnode->tnid][$tnode->language] = !$tnode->translate;
    }
  }
}