Skip to content
Snippets Groups Projects
Commit fd98d7f2 authored by Thijs Kinkhorst's avatar Thijs Kinkhorst
Browse files

Hostnames-diagnostic page overloaded status.php template.

Move to its own template, put common functions into an included file.
parent 3d735912
No related branches found
No related tags found
No related merge requests found
<?php
$this->includeAtTemplateBase('includes/header.php');
$this->includeAtTemplateBase('includes/attributes.php');
echo "<h2>" . $this->t('{core:frontpage:link_diagnostics}') . "</h2>";
$attributes = $this->data['attributes'];
echo(present_attributes($this, $attributes, ''));
$this->includeAtTemplateBase('includes/footer.php');
<?php
/**
* Functions used to present a table of attributes and their values.
*/
function present_list($attr) {
if (is_array($attr) && count($attr) > 1) {
$str = '<ul>';
foreach ($attr as $value) {
$str .= '<li>' . htmlspecialchars($attr) . '</li>';
}
$str .= '</ul>';
return $str;
} else {
return htmlspecialchars($attr[0]);
}
}
function present_assoc($attr) {
if (is_array($attr)) {
$str = '<dl>';
foreach ($attr AS $key => $value) {
$str .= "\n" . '<dt>' . htmlspecialchars($key) . '</dt><dd>' . present_list($value) . '</dd>';
}
$str .= '</dl>';
return $str;
} else {
return htmlspecialchars($attr);
}
}
function present_attributes($t, $attributes, $nameParent) {
$alternate = array('odd', 'even'); $i = 0;
$parentStr = (strlen($nameParent) > 0)? strtolower($nameParent) . '_': '';
$str = (strlen($nameParent) > 0)? '<table class="attributes" summary="attribute overview">':
'<table id="table_with_attributes" class="attributes" summary="attribute overview">';
foreach ($attributes as $name => $value) {
$nameraw = $name;
$name = $t->getAttributeTranslation($parentStr . $nameraw);
if (preg_match('/^child_/', $nameraw)) {
$parentName = preg_replace('/^child_/', '', $nameraw);
foreach($value AS $child) {
$str .= '<tr class="odd"><td colspan="2" style="padding: 2em">' . present_attributes($t, $child, $parentName) . '</td></tr>';
}
} else {
if (sizeof($value) > 1) {
$str .= '<tr class="' . $alternate[($i++ % 2)] . '"><td class="attrname">';
if ($nameraw !== $name)
$str .= htmlspecialchars($name).'<br/>';
$str .= '<tt>'.htmlspecialchars($nameraw).'</tt>';
$str .= '</td><td class="attrvalue"><ul>';
foreach ($value AS $listitem) {
if ($nameraw === 'jpegPhoto') {
$str .= '<li><img src="data:image/jpeg;base64,' . htmlspecialchars($listitem) . '" /></li>';
} else {
$str .= '<li>' . present_assoc($listitem) . '</li>';
}
}
$str .= '</ul></td></tr>';
} elseif(isset($value[0])) {
$str .= '<tr class="' . $alternate[($i++ % 2)] . '"><td class="attrname">';
if ($nameraw !== $name)
$str .= htmlspecialchars($name).'<br/>';
$str .= '<tt>'.htmlspecialchars($nameraw).'</tt>';
$str .= '</td>';
if ($nameraw === 'jpegPhoto') {
$str .= '<td class="attrvalue"><img src="data:image/jpeg;base64,' . htmlspecialchars($value[0]) . '" /></td></tr>';
} else {
$str .= '<td class="attrvalue">' . htmlspecialchars($value[0]) . '</td></tr>';
}
}
}
$str .= "\n";
}
$str .= '</table>';
return $str;
}
......@@ -6,6 +6,7 @@ if(array_key_exists('header', $this->data)) {
}
$this->includeAtTemplateBase('includes/header.php');
$this->includeAtTemplateBase('includes/attributes.php');
?>
<h2><?php if (isset($this->data['header'])) { echo($this->data['header']); } else { echo($this->t('{status:some_error_occurred}')); } ?></h2>
......@@ -25,90 +26,9 @@ if(isset($this->data['sessionsize'])) {
<h2><?php echo($this->t('{status:attributes_header}')); ?></h2>
<?php
// consent style listing start
$attributes = $this->data['attributes'];
function present_list($attr) {
if (is_array($attr) && count($attr) > 1) {
$str = '<ul>';
foreach ($attr as $value) {
$str .= '<li>' . htmlspecialchars($attr) . '</li>';
}
$str .= '</ul>';
return $str;
} else {
return htmlspecialchars($attr[0]);
}
}
function present_assoc($attr) {
if (is_array($attr)) {
$str = '<dl>';
foreach ($attr AS $key => $value) {
$str .= "\n" . '<dt>' . htmlspecialchars($key) . '</dt><dd>' . present_list($value) . '</dd>';
}
$str .= '</dl>';
return $str;
} else {
return htmlspecialchars($attr);
}
}
function present_attributes($t, $attributes, $nameParent) {
$alternate = array('odd', 'even'); $i = 0;
$parentStr = (strlen($nameParent) > 0)? strtolower($nameParent) . '_': '';
$str = (strlen($nameParent) > 0)? '<table class="attributes" summary="attribute overview">':
'<table id="table_with_attributes" class="attributes" summary="attribute overview">';
foreach ($attributes as $name => $value) {
$nameraw = $name;
$name = $t->getAttributeTranslation($parentStr . $nameraw);
if (preg_match('/^child_/', $nameraw)) {
$parentName = preg_replace('/^child_/', '', $nameraw);
foreach($value AS $child) {
$str .= '<tr class="odd"><td colspan="2" style="padding: 2em">' . present_attributes($t, $child, $parentName) . '</td></tr>';
}
} else {
if (sizeof($value) > 1) {
$str .= '<tr class="' . $alternate[($i++ % 2)] . '"><td class="attrname">';
if ($nameraw !== $name)
$str .= htmlspecialchars($name).'<br/>';
$str .= '<tt>'.htmlspecialchars($nameraw).'</tt>';
$str .= '</td><td class="attrvalue"><ul>';
foreach ($value AS $listitem) {
if ($nameraw === 'jpegPhoto') {
$str .= '<li><img src="data:image/jpeg;base64,' . htmlspecialchars($listitem) . '" /></li>';
} else {
$str .= '<li>' . present_assoc($listitem) . '</li>';
}
}
$str .= '</ul></td></tr>';
} elseif(isset($value[0])) {
$str .= '<tr class="' . $alternate[($i++ % 2)] . '"><td class="attrname">';
if ($nameraw !== $name)
$str .= htmlspecialchars($name).'<br/>';
$str .= '<tt>'.htmlspecialchars($nameraw).'</tt>';
$str .= '</td>';
if ($nameraw === 'jpegPhoto') {
$str .= '<td class="attrvalue"><img src="data:image/jpeg;base64,' . htmlspecialchars($value[0]) . '" /></td></tr>';
} else {
$str .= '<td class="attrvalue">' . htmlspecialchars($value[0]) . '</td></tr>';
}
}
}
$str .= "\n";
}
$str .= '</table>';
return $str;
}
$attributes = $this->data['attributes'];
echo(present_attributes($this, $attributes, ''));
// consent style listing end
if (isset($this->data['logout'])) {
echo('<h2>' . $this->t('{status:logout}') . '</h2>');
......@@ -124,4 +44,4 @@ if (isset($this->data['logouturl'])) {
<h2><?php echo $this->t('{core:frontpage:about_header}'); ?></h2>
<p><?php echo $this->t('{core:frontpage:about_text}'); ?></p>
<?php $this->includeAtTemplateBase('includes/footer.php'); ?>
\ No newline at end of file
<?php $this->includeAtTemplateBase('includes/footer.php'); ?>
......@@ -9,13 +9,8 @@ $session = SimpleSAML_Session::getSessionFromRequest();
/* Check if valid local session exists.. */
SimpleSAML_Utilities::requireAdmin();
$attributes = array();
$attributes['HTTP_HOST'] = array($_SERVER['HTTP_HOST']);
$attributes['HTTPS'] = array($_SERVER['HTTPS']);
$attributes['SERVER_PROTOCOL'] = array($_SERVER['SERVER_PROTOCOL']);
......@@ -29,11 +24,7 @@ $attributes['Utilities_getSelfHostWithPath()'] = array(SimpleSAML_Utilities::get
$attributes['Utilities_getFirstPathElement()'] = array(SimpleSAML_Utilities::getFirstPathElement());
$attributes['Utilities_selfURL()'] = array(SimpleSAML_Utilities::selfURL());
$et = new SimpleSAML_XHTML_Template($config, 'status.php');
$et = new SimpleSAML_XHTML_Template($config, 'hostnames.php');
$et->data['header'] = '{status:header_diagnostics}';
$et->data['remaining'] = 'na';
......@@ -42,6 +33,3 @@ $et->data['valid'] = 'na';
$et->data['logout'] = null;
$et->show();
?>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment