You are here

function _term_reference_filter_by_views_get_allowed_values in Taxonomy Term Reference Filter by Views 7

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 => tid) returned by the view.

2 calls to _term_reference_filter_by_views_get_allowed_values()
term_reference_filter_by_views_field_widget_form_alter in ./term_reference_filter_by_views.module
Implements hook_widget_field_form().
term_reference_filter_by_views_taxonomy_autocomplete in ./term_reference_filter_by_views.module

File

./term_reference_filter_by_views.module, line 122

Code

function _term_reference_filter_by_views_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)) {
        $view
          ->execute($displayname);
        foreach ($view->result as $item) {
          $allowed[$item->tid] = $item->tid;
        }
      }
      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;
}