8 if (is_array($attr) && count($attr) > 1) {
10 foreach ($attr as $value) {
11 $str .=
'<li>'.htmlspecialchars($attr).
'</li>';
16 return htmlspecialchars($attr[0]);
22 if (is_array($attr)) {
24 foreach ($attr as
$key => $value) {
25 $str .=
"\n".
'<dt>'.htmlspecialchars(
$key).
'</dt><dd>'.
present_list($value).
'</dd>';
30 return htmlspecialchars($attr);
37 'NameID' =>
array($nameID->value),
39 if (!empty($nameID->Format)) {
40 $eptid[$t->t(
'{status:subject_format}')] =
array($nameID->Format);
42 if (!empty($nameID->NameQualifier)) {
43 $eptid[
'NameQualifier'] =
array($nameID->NameQualifier);
45 if (!empty($nameID->SPNameQualifier)) {
46 $eptid[
'SPNameQualifier'] =
array($nameID->SPNameQualifier);
48 if (!empty($nameID->SPProvidedID)) {
49 $eptid[
'SPProvidedID'] =
array($nameID->SPProvidedID);
51 return '<td class="attrvalue">'.present_assoc($eptid);
56 $alternate =
array(
'odd',
'even');
59 $parentStr = (strlen($nameParent) > 0) ? strtolower($nameParent).
'_' :
'';
60 $str = (strlen($nameParent) > 0) ?
'<table class="attributes" summary="attribute overview">' :
61 '<table id="table_with_attributes" class="attributes" summary="attribute overview">';
66 $name = $trans->getAttributeTranslation($parentStr.$nameraw);
68 if (preg_match(
'/^child_/', $nameraw)) {
69 $parentName = preg_replace(
'/^child_/',
'', $nameraw);
70 foreach ($value as $child) {
71 $str .=
'<tr class="odd"><td colspan="2" style="padding: 2em">'.
72 present_attributes($t, $child, $parentName).
'</td></tr>';
75 if (
sizeof($value) > 1) {
76 $str .=
'<tr class="'.$alternate[(
$i++ % 2)].
'"><td class="attrname">';
78 if ($nameraw !==
$name) {
79 $str .= htmlspecialchars(
$name).
'<br/>';
81 $str .=
'<tt>'.htmlspecialchars($nameraw).
'</tt>';
82 $str .=
'</td><td class="attrvalue"><ul>';
83 foreach ($value as $listitem) {
84 if ($nameraw ===
'jpegPhoto') {
85 $str .=
'<li><img src="data:image/jpeg;base64,'.htmlspecialchars($listitem).
'" /></li>';
87 $str .=
'<li>'.present_assoc($listitem).
'</li>';
90 $str .=
'</ul></td></tr>';
91 } elseif (isset($value[0])) {
92 $str .=
'<tr class="'.$alternate[(
$i++ % 2)].
'"><td class="attrname">';
93 if ($nameraw !==
$name) {
94 $str .= htmlspecialchars(
$name).
'<br/>';
96 $str .=
'<tt>'.htmlspecialchars($nameraw).
'</tt>';
98 if ($nameraw ===
'jpegPhoto') {
99 $str .=
'<td class="attrvalue"><img src="data:image/jpeg;base64,'.htmlspecialchars($value[0]).
101 } elseif (is_a($value[0],
'DOMNodeList')) {
104 $n = $value[0]->length;
105 for ($idx = 0; $idx <
$n; $idx++) {
106 $elem = $value[0]->item($idx);
108 if (!($elem->localName ===
'NameID' && $elem->namespaceURI === \
SAML2\Constants::NS_SAML)) {
114 $str .=
'</td></tr>';
115 } elseif (is_a($value[0],
'\SAML2\XML\saml\NameID')) {
117 $str .=
'</td></tr>';
119 $str .=
'<td class="attrvalue">'.htmlspecialchars($value[0]).
'</td></tr>';
getTranslator()
Return the internal translator object used by this template.
present_eptid(\SimpleSAML\Locale\Translate $t, \SAML2\XML\saml\NameID $nameID)
Attribute-related utility methods.
Create styles array
The data for the language used.
present_list($attr)
Functions used to present a table of attributes and their values.