You are here

class views_handler_field_item_node_nid in MERCI (Manage Equipment Reservations, Checkout and Inventory) 6.2

Same name and namespace in other branches
  1. 7.2 handlers/views_handler_field_item_node_nid.inc \views_handler_field_item_node_nid

Field handler for terms.

Hierarchy

Expanded class hierarchy of views_handler_field_item_node_nid

1 string reference to 'views_handler_field_item_node_nid'
merci_views_data in ./merci.views.inc
Implements hook_views_data().

File

handlers/views_handler_field_item_node_nid.inc, line 11
MERCI - Managed Equipment Reservation Checkout and Inventory

View source
class views_handler_field_item_node_nid extends views_handler_field_prerender_list {
  function init(&$view, $options) {
    parent::init($view, $options);
    if ($view->base_table == 'node_revisions') {
      $this->additional_fields['vid'] = array(
        'table' => 'node_revisions',
        'field' => 'vid',
      );
    }
    else {
      $this->additional_fields['vid'] = array(
        'table' => 'node',
        'field' => 'vid',
      );
    }
  }

  /**
   * Add this term to the query
   */
  function query() {
    $this
      ->add_additional_fields();
  }
  function pre_render($values) {
    $this->field_alias = $this->aliases['vid'];
    $vids = array();
    foreach ($values as $result) {
      if (!empty($result->{$this->aliases['vid']})) {
        $vids[] = $result->{$this->aliases['vid']};
      }
    }
    if ($vids) {
      $result = db_query("SELECT m.vid as node_vid, m.did, m.merci_item_status, pn.nid AS pnid, pn.title AS ptitle, tn.nid AS tnid, tn.title AS ttitle, nt.type, nt.name FROM {merci_reservation_detail} m INNER JOIN {node} pn ON m.merci_placeholder_nid = pn.nid INNER JOIN {node_type} nt ON pn.type = nt.type LEFT JOIN {node} tn ON m.merci_item_nid = tn.nid WHERE m.vid IN (" . implode(', ', $vids) . ")");
      while ($item = db_fetch_object($result)) {
        $this->items[$item->node_vid][$item->pnid]['name'] = check_plain($item->ttitle ? $item->ttitle : $item->name);
      }
    }
  }
  function render_item($count, $item) {
    return $item['name'];
  }

}

Members