You are here

public function FrxRenderer::mergedAttributes in Forena Reports 7.4

Same name and namespace in other branches
  1. 6.2 FrxRenderer.inc \FrxRenderer::mergedAttributes()
  2. 7.2 FrxRenderer.inc \FrxRenderer::mergedAttributes()
  3. 7.3 FrxRenderer.inc \FrxRenderer::mergedAttributes()

Standard php array containing merged attributes Enter description here ...

8 calls to FrxRenderer::mergedAttributes()
FrxCrosstab::render in renderers/FrxCrosstab.inc
Render the crosstab
FrxCrosstab::scrapeConfig in renderers/FrxCrosstab.inc
Extract table configuration from the HTML
FrxInclude::render in renderers/FrxInclude.inc
Default Render action, which simply does normal forena rendering. You can use renderDomNode at any time to generate the default forena rendering methods.
FrxMyReports::render in renderers/FrxMyReports.inc
Default Render action, which simply does normal forena rendering. You can use renderDomNode at any time to generate the default forena rendering methods.
FrxRenderer::renderDomNode in renderers/FrxRenderer.inc
Recursive report renderer Walks the nodes rendering the report.

... See full list

File

renderers/FrxRenderer.inc, line 453
FrxRenderer.inc Base class for Frx custom renderers @author davidmetzler

Class

FrxRenderer
@file FrxRenderer.inc Base class for Frx custom renderers @author davidmetzler

Code

public function mergedAttributes($node = NULL) {
  if ($node) {
    $frx_attributes = $node
      ->attributes($this->xmlns);
    $html_attributes = $node
      ->attributes();
  }
  else {
    $frx_attributes = $this->frxAttributes;
    $html_attributes = $this->htmlAttributes;
  }
  $attributes = array();
  if ($frx_attributes) {
    foreach ($frx_attributes as $key => $data) {
      FrxRenderer::addAttributes($attributes, $key, $data);
    }
  }
  if ($html_attributes) {
    foreach ($html_attributes as $key => $data) {
      FrxRenderer::addAttributes($attributes, $key, $data);
    }
  }
  $skin_data = Frx::Data()
    ->getContext('skin');
  $class = get_class($this);
  if (isset($skin_data[$class])) {
    $attributes = array_merge($skin_data[$class], $attributes);
  }
  $classes = class_parents($this);
  array_pop($classes);
  if ($classes) {
    foreach ($classes as $class) {
      if (isset($skin_data[$class])) {
        $attributes = array_merge($attributes, $skin_data[$class]);
      }
    }
  }
  return $attributes;
}