You are here

function _term_reference_tree_get_allowed_values in Taxonomy Term Reference Tree Widget 7.2

Same name and namespace in other branches
  1. 7 term_reference_tree.widget.inc \_term_reference_tree_get_allowed_values()

Returns an array of allowed values defined by the given view.

Parameters

$filter: A view, in the format VIEWNAME:DISPLAYNAME

Return value

An array of term IDs (tid => true) returned by the view.

1 call to _term_reference_tree_get_allowed_values()
term_reference_tree_process_checkbox_tree in ./term_reference_tree.widget.inc
Process the checkbox_tree widget.

File

./term_reference_tree.widget.inc, line 632

Code

function _term_reference_tree_get_allowed_values($filter) {
  $viewname = "";
  $displayname = "";
  $allowed = array();
  if (module_exists('views') && $filter != '') {
    list($viewname, $displayname) = explode(":", $filter);
    $view = views_get_view($viewname);
    if (is_object($view)) {
      if ($view
        ->access($displayname)) {

        // Save the page title first, since execute_display() will reset this to the display title.
        $title = drupal_get_title();
        $view
          ->execute_display($displayname);
        $title = drupal_set_title($title, PASS_THROUGH);
        foreach ($view->result as $item) {
          $allowed[$item->tid] = true;
        }
      }
      else {
        drupal_set_message("Cannot access view for term reference tree widget.", 'warning');
      }
    }
    else {
      drupal_set_message("Term reference tree: no view named '{$viewname}'", 'warning');
    }
  }
  return $allowed;
}