You are here

public function DataContext::contextExists in Forena Reports 8

Same name and namespace in other branches
  1. 7.5 src/Context/DataContext.php \Drupal\forena\Context\DataContext::contextExists()

Determines whether an array context exists for the specified id. Returns true if the key exists othewise false

Parameters

string $id:

Return value

bool

1 call to DataContext::contextExists()
DataContext::getValue in src/Context/DataContext.php
Get the value from the data. This is used by token_replace method to extract the data based on the path provided.

File

src/Context/DataContext.php, line 290
Implements \Drupal\forena\Context\DataContext

Class

DataContext
The DataContext class holds all of the data contexts during the report rendering process. The general idea is that during the report render, data objects are pushed on the stack with the id's of the block or foreach objects that invoke them.

Namespace

Drupal\forena\Context

Code

public function contextExists($id) {
  $exists = FALSE;
  if (array_key_exists($id, $this->data_sources)) {
    $exists = TRUE;
  }
  else {

    // Check for module provided contexts;
    $contexts = AppService::instance()
      ->getContextPlugins();
    if (isset($contexts[$id])) {
      $class = $contexts[$id];
      $object = new $class();
      $this
        ->setContext($id, $object);
      $exists = TRUE;
    }
  }
  return $exists;
}