summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaime Pérez <jaime.perez@uninett.no>2017-01-10 16:19:20 +0100
committerJaime Pérez <jaime.perez@uninett.no>2017-01-10 16:19:20 +0100
commitc37caf004feee95ee6fe4fcd752b547583522d44 (patch)
tree6710a5f4a4d8b97ddc6101e5917c36e74fe8e576
parent6cbc99456305be7d972c60ac87b5c8626d23e48b (diff)
downloadsimplesamlphp-c37caf004feee95ee6fe4fcd752b547583522d44.zip
simplesamlphp-c37caf004feee95ee6fe4fcd752b547583522d44.tar.gz
simplesamlphp-c37caf004feee95ee6fe4fcd752b547583522d44.tar.bz2
Reformat code of the table-printing template.
-rw-r--r--templates/includes/attributes.php201
1 files changed, 104 insertions, 97 deletions
diff --git a/templates/includes/attributes.php b/templates/includes/attributes.php
index 4067420..b7539fa 100644
--- a/templates/includes/attributes.php
+++ b/templates/includes/attributes.php
@@ -3,108 +3,115 @@
* 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_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_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(SimpleSAML_XHTML_Template $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">';
+function present_attributes(SimpleSAML_XHTML_Template $t, $attributes, $nameParent)
+{
+ $alternate = array('odd', 'even');
+ $i = 0;
- foreach ($attributes as $name => $value) {
-
- $nameraw = $name;
- $name = $t->getTranslator()->getAttributeTranslation($parentStr . $nameraw);
+ $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">';
- 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">';
+ foreach ($attributes as $name => $value) {
+ $nameraw = $name;
+ $name = $t->getTranslator()->getAttributeTranslation($parentStr.$nameraw);
- 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>';
- } elseif (is_a($value[0], 'DOMNodeList')) {
- // try to see if we have a NameID here
- $n = $value[0]->length;
- for ($idx = 0; $idx < $n; $idx++) {
- $elem = $value[0]->item($idx);
- /* @var DOMElement $elem */
- if (!($elem->localName === 'NameID' && $elem->namespaceURI === \SAML2\Constants::NS_SAML)) {
- continue;
- }
- $nameID = new \SAML2\XML\saml\NameID($elem);
- $eptid = array(
- 'NameID' => array($nameID->value),
- );
- if (!empty($nameID->Format)) {
- $eptid['Format'] = array($nameID->Format);
- }
- if (!empty($nameID->NameQualifier)) {
- $eptid['NameQualifier'] = array($nameID->NameQualifier);
- }
- if (!empty($nameID->SPNameQualifier)) {
- $eptid['SPNameQualifier'] = array($nameID->SPNameQualifier);
- }
- $str .= '<td class="attrvalue">';
- $str .= present_assoc($eptid);
- break; // we only support one NameID here
- }
- $str .= '</td></tr>';
- } else {
- $str .= '<td class="attrvalue">' . htmlspecialchars($value[0]) . '</td></tr>';
- }
- }
- }
- $str .= "\n";
- }
- $str .= '</table>';
- return $str;
+ 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>';
+ } elseif (is_a($value[0], 'DOMNodeList')) {
+ // try to see if we have a NameID here
+ /** @var DOMNodeList $value[0] */
+ $n = $value[0]->length;
+ for ($idx = 0; $idx < $n; $idx++) {
+ $elem = $value[0]->item($idx);
+ /* @var DOMElement $elem */
+ if (!($elem->localName === 'NameID' && $elem->namespaceURI === \SAML2\Constants::NS_SAML)) {
+ continue;
+ }
+ $nameID = new \SAML2\XML\saml\NameID($elem);
+ $eptid = array(
+ 'NameID' => array($nameID->value),
+ );
+ if (!empty($nameID->Format)) {
+ $eptid['Format'] = array($nameID->Format);
+ }
+ if (!empty($nameID->NameQualifier)) {
+ $eptid['NameQualifier'] = array($nameID->NameQualifier);
+ }
+ if (!empty($nameID->SPNameQualifier)) {
+ $eptid['SPNameQualifier'] = array($nameID->SPNameQualifier);
+ }
+ $str .= '<td class="attrvalue">';
+ $str .= present_assoc($eptid);
+ break; // we only support one NameID here
+ }
+ $str .= '</td></tr>';
+ } else {
+ $str .= '<td class="attrvalue">'.htmlspecialchars($value[0]).'</td></tr>';
+ }
+ }
+ }
+ $str .= "\n";
+ }
+ $str .= '</table>';
+ return $str;
}