public function ReportEditor::verifyHeaderElements in Forena Reports 8
Same name and namespace in other branches
- 7.5 src/Editor/ReportEditor.php \Drupal\forena\Editor\ReportEditor::verifyHeaderElements()
Makes sure that the normal header elements for a report are there.
Parameters
array $required_elements: List of elements to ensure are in the document.
13 calls to ReportEditor::verifyHeaderElements()
- ReportEditor::getCache in src/
Editor/ ReportEditor.php - ReportEditor::getCategory in src/
Editor/ ReportEditor.php - ReportEditor::getMenu in src/
Editor/ ReportEditor.php - ReportEditor::getOptions in src/
Editor/ ReportEditor.php - Retrieve options element in array form
- ReportEditor::load in src/
Editor/ ReportEditor.php - Load report from file system
File
- src/
Editor/ ReportEditor.php, line 316 - ReportEditor.inc Wrapper XML class for working with DOM object. It provides helper Enter description here ... @author metzlerd
Class
Namespace
Drupal\forena\EditorCode
public function verifyHeaderElements($required_elements = array()) {
if (!$required_elements) {
$required_elements = array(
'category',
'options',
'fields',
'parameters',
'docgen',
);
}
$dom = $this->dom;
if (!$this->dom->documentElement) {
drupal_set_message('error', 'error');
return;
}
$head = $dom
->getElementsByTagName('head')
->item(0);
if (!$head) {
$head = $dom
->createElement('head');
$dom->documentElement
->appendChild($head);
}
// Make sure the report title exists.
if ($dom
->getElementsByTagName('title')->length == 0) {
$n = $dom
->createElement('title');
$head
->appendChild($n);
}
// Make sure each of these exists in the header
foreach ($required_elements as $tag) {
if ($dom
->getElementsByTagNameNS($this->xmlns, $tag)->length == 0) {
$n = $dom
->createElementNS($this->xmlns, $tag);
$head
->appendChild($n);
}
}
}