You are here

function _term_reference_tree_get_allowed_values in Taxonomy Term Reference Tree Widget 7

Same name and namespace in other branches
  1. 7.2 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 633

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(t('Cannot access view for term reference tree widget.'), 'warning');
      }
    }
    else {
      drupal_set_message(t('Term reference tree: no view named !view_name', array(
        '!view_name' => $viewname,
      )), 'warning');
    }
  }
  return $allowed;
}