You are here

class views_join_term_edge in Taxonomy Edge 6

Same name and namespace in other branches
  1. 8 views_taxonomy_edge/handlers/views_join_term_edge.inc \views_join_term_edge
  2. 7.2 views_taxonomy_edge/handlers/views_join_term_edge.inc \views_join_term_edge
  3. 7 views_taxonomy_edge/handlers/views_join_term_edge.inc \views_join_term_edge

@file

Hierarchy

Expanded class hierarchy of views_join_term_edge

2 string references to 'views_join_term_edge'
views_taxonomy_edge_views_data in views_taxonomy_edge/views_taxonomy_edge.views.inc
Implements hook_views_data().
views_taxonomy_edge_views_data_alter in views_taxonomy_edge/views_taxonomy_edge.module
Implements hook_views_data_alter().

File

views_taxonomy_edge/handlers/views_join_term_edge.inc, line 5

View source
class views_join_term_edge extends views_join {
  function join($table, &$query) {
    $found = FALSE;

    // If there's a condition on parent, then let it be unless it's blank.
    // If it's blank we set it to the root of the tree.
    foreach ($query->where as $data) {
      foreach ($data['clauses'] as $condition) {
        if (strpos($condition, $table['alias'] . '.parent ') !== FALSE) {
          $found = TRUE;
          break;
        }
      }
    }
    $result = parent::join($table, $query);
    $result .= ' AND ' . $table['alias'] . '.vid = ' . $this->left_table . '.vid';

    // If no condition on parent was found, add the root pid as a condition.
    if (!$found) {
      $result .= ' AND ' . $table['alias'] . '.parent = 0 ';
    }
    return $result;
  }

}

Members