function views_handler::set_relationship

Same name in other branches
  1. 6.x-3.x includes/handlers.inc \views_handler::set_relationship()

Called just prior to query(), this lets a handler set up any relationship it needs.

File

includes/handlers.inc, line 654

Class

views_handler
Base handler, from which all the other handlers are derived. It creates a common interface to create consistency amongst handlers and data.

Code

public function set_relationship() {
    // Ensure this gets set to something.
    $this->relationship = NULL;
    // Don't process non-existant relationships.
    if (empty($this->options['relationship']) || $this->options['relationship'] == 'none') {
        return;
    }
    $relationship = $this->options['relationship'];
    // Ignore missing/broken relationships.
    if (empty($this->view->relationship[$relationship])) {
        return;
    }
    // Check to see if the relationship has already processed. If not, then we
    // cannot process it.
    if (empty($this->view->relationship[$relationship]->alias)) {
        return;
    }
    // Finally!
    $this->relationship = $this->view->relationship[$relationship]->alias;
}