--- /dev/null
+<% val id = Web.stoi ($"id");
+val user = Init.lookupUser id;
+
+@header[("title", [#name user])] %>
+
+<table>
+<tr> <td align="right"><b>Member</b>:</td> <td><% #name user %></td> </tr>
+<tr> <td align="right"><b>Real name</b>:</td> <td><% Web.html (#rname user) %></td> </tr>
+<tr> <td align="right"><b>Hcoop e-mail</b>:</td> <td><a href="mailto:<% #name user %>@hcoop.net"><tt><% #name user %>@hcoop.net</tt></a></td> </tr>
+<tr> <td align="right"><b>Joined</b>:</td> <td><% #joined user %></td> </tr>
+
+<tr> </tr>
+
+<tr> <td><b>Contact information</b></td> </tr>
+
+<% val level = iff Group.inGroupName "contact" then Contact.ADMINS else Contact.MEMBERS;
+
+foreach (kind, cont) in Contact.listUserContacts (id, level) do %>
+ <tr> <td align="right" valign="top"><b><% Web.html (#name kind) %></b>:</td>
+ <td><% Contact.format (kind, cont) %></td> </tr>
+<% end %>
+
+</table>
+
+<% @footer[] %>