You are here

function panels_relationship_get_contexts in Panels 6.2

Same name and namespace in other branches
  1. 5.2 includes/plugins.inc \panels_relationship_get_contexts()

Fetch all active relationships

Parameters

$relationships: An keyed array of relationship data including:

  • name: name of relationship
  • context: context id relationship belongs to.

$contexts: A keyed array of contexts used to figure out which relationships are relevant. New contexts will be added to this.

1 call to panels_relationship_get_contexts()
panels_context_load_contexts in includes/plugins.inc
Get a group of empty contexts for the object; this assumes all the standard context types, and doesn't punish you if they aren't available.

File

includes/plugins.inc, line 909
plugins.inc

Code

function panels_relationship_get_contexts($relationships, &$contexts) {
  $return = array();
  foreach ($relationships as $rdata) {
    if (!isset($rdata['context'])) {
      continue;
    }
    if (empty($contexts[$rdata['context']])) {
      continue;
    }
    $relationship = panels_get_relationship($rdata['name']);

    // If the relationship can't be found or its context can't be found,
    // ignore.
    if (!$relationship) {
      continue;
    }
    $cid = panels_context_id($rdata, 'relationship');
    if ($context = panels_relationship_get_context($rdata, $contexts[$rdata['context']])) {
      $contexts[$cid] = $context;
    }
  }
}