user_profile.naml
<macro name="user_profile" requires="servlet">
<n.visitor.as_user_page.>
<n.if.not.page_user.is_authenticated>
<then>
<n.login.><t>You must login to view this page.</t></n.login.>
</then>
</n.if.not.page_user.is_authenticated>
<n.html>
<head>
<META NAME="robots" CONTENT="noindex,nofollow"/>
<n.title.>Profile of <n.visitor.name/></n.title.>
<n.zebra_table_javascript table_selector="table.profile"/>
</head>
<body>
<n.page_user.profile_header/>
<n.profile_options/>
</body>
</n.html>
</n.visitor.as_user_page.>
</macro>
<macro name="profile_options">
<n.put_in_head.>
<style type="text/css">
table.profile {
border-collapse:collapse;
width:100%;
margin-top:.5em;
}
table.profile td {
padding:.7em .3em;
}
table.profile td.title-row {
background: transparent;
padding:.2em .4em;
border-bottom-width:2px;
border-bottom-style:solid;
font-weight:bold;
}
</style>
</n.put_in_head.>
<table class="profile">
<n.profile_table_header.>
<t>Account Settings</t>
</n.profile_table_header.>
<n.profile_option>
<link><a href="[n.visitor.edit_profile_path/]"><t>Edit Personal Information</t></a></link>
<hint><t>Change your registered email address, password, and your user name.</t></hint>
</n.profile_option>
<n.profile_option>
<link><a href="[n.visitor.edit_signature_path/]"><t>Edit Your Signature</t></a></link>
<hint><t>Change the signature text that is displayed at the bottom of your posts.</t></hint>
</n.profile_option>
<n.profile_option>
<link><a href="[n.visitor.change_avatar_path/]"><t>Change Your Picture</t></a></link>
<hint><t>Change or remove your avatar image.</t></hint>
</n.profile_option>
<n.profile_option>
<link><a href="[n.visitor.advanced_settings_path/]"><t>Advanced Settings</t></a></link>
<hint><t>Change viewing preferences and other settings.</t></hint>
</n.profile_option>
<n.profile_option>
<link><a href="[n.visitor.remove_account_path/]"><t>Remove Your Account</t></a></link>
<hint><t>Remove your account and all your posts from <t.subject><n.root_node.subject/></t.subject>.</t></hint>
</n.profile_option>
</table>
</macro>
<macro name="profile_table_header" dot_parameter="text">
<tr>
<td class="title-row medium-border-color" colspan="2">
<n.text/>
</td>
</tr>
</macro>
<macro name="profile_option" parameters="link, hint">
<tr>
<td style="width:14em">
<n.link/>
</td>
<td class="weak-color">
<n.hint/>
</td>
</tr>
</macro>
<macro name="profile_header" requires="user">
<n.set_local_user.this_user />
<n.block.>
<div class="second-font shaded-bg-color rounded" style="font-size:170%;padding:.2em .5em;margin-left:.1em">
<n.local_user.name/>
</div>
<table>
<tr valign="top">
<td><n.local_user.avatar size="big"/></td>
<td style="width:100%;padding-left:.5em">
<n.if.both condition1="[n.visitor.is_site_admin/]" condition2="[n.local_user.is_authenticated/]">
<then>
<strong>Email</strong>: <n.local_user.user_email/>
</then>
</n.if.both>
<n.if.local_user.is_banned>
<then>
<n.local_user.banned_label/>
</then>
<else>
<n.local_user.registration_label/>
<n.local_user.list_current_groups/>
<n.if.not.local_user.is_deactivated>
<then.local_user.send_email_to_user_link/>
</n.if.not.local_user.is_deactivated>
</else>
</n.if.local_user.is_banned>
<!-- If this is the profile of the visitor -->
<n.if.visitor.equals.local_user>
<then>
<!-- if the user is authenticated -->
<n.if.local_user.is_authenticated>
<then.local_user.authenticated_self_profile_header/>
<else>
<div style="margin-top:.5em">
<t><n.register_link.>Register now</n.register_link.> if you want to edit your profile, receive posts via email or have access to your global profile.</t>
</div>
</else>
</n.if.local_user.is_authenticated>
</then>
<else>
<n.if.visitor.can_manage_banned_users>
<then>
<div style="margin-top:.5em">
<img src="/images/icon_blocked.png" class="image16" style="margin:0 1px"/>
<n.if.local_user.is_banned>
<then><a href="[n.local_user.unban_path/]"><t>Unban this user</t></a></then>
<else><a href="[n.local_user.ban_path/]"><t>Ban this user</t></a></else>
</n.if.local_user.is_banned>
</div>
</then>
</n.if.visitor.can_manage_banned_users>
</else>
</n.if.visitor.equals.local_user>
</td>
</tr>
</table>
</n.block.>
</macro>
<macro name="authenticated_self_profile_header" requires="user">
<!-- Show basic profile links -->
<n.if.not.equal value1="[n.get_parameter name='macro'/]" value2="user_profile">
<then>
<div style="margin-top:.5em">
<img src="/images/tool.png" align="absmiddle" width="16" height="17" style="margin:0 1px"/>
<a href="[n.user_profile_path/]"><t>Account Settings</t></a>
</div>
</then>
</n.if.not.equal>
<div style="margin-top:.5em">
<img src="/images/forum_sm.png" class="image16" style="margin:0 1px"/>
<a href="[n.nabble_global_apps_url/]" target="_top"><t>My Nabble Applications</t></a>
</div>
</macro>
<macro name="banned_label" requires="user">
<div style="margin-top:.4em">
<strong><t>Banned User</t></strong>
</div>
</macro>
<macro name="registration_label" requires="user">
<div style="margin-top:.4em">
<n.if.is_registered>
<then><strong><t>Registered</t></strong>: <n.registration_date.date_only/></then>
<else><strong><t>Unregistered User</t></strong></else>
</n.if.is_registered>
</div>
</macro>
<macro name="list_current_groups" requires="user">
<!-- List the groups of the user-->
<n.set_local_user.this_user />
<div style="margin-top:.4em">
<strong><t>Groups</t>:</strong>
<n.local_user.groups.>
<n.sort/>
<n.loop.>
<n.if.has_more_elements>
<then><n.current_group/>, </then>
<else><n.current_group/></else>
</n.if.has_more_elements>
</n.loop.>
</n.local_user.groups.>
<n.if.visitor.is_site_admin>
<then>
<div style="margin-top:.3em">
<img src="/images/user_group.png" align="absmiddle" width="18" height="16"/>
<a href="[n.local_user.change_user_groups_path/]"><t>Add / Remove Groups</t></a>
</div>
</then>
</n.if.visitor.is_site_admin>
</div>
</macro>
<macro name="send_email_to_user_link" requires="user">
<n.set_local_user.this_user />
<!-- If this is not the profile of the visitor AND the user is authenticated -->
<n.if.both condition1="[n.not.visitor.equals.local_user/]" condition2="[n.local_user.is_authenticated/]">
<then>
<div style="margin-top:.5em">
<img src="/images/mail.png" align="absmiddle" width="18" height="13"/>
<a href="[n.local_user.send_email_path/]"><t>Send Email to <t.author.local_user.name/></t></a>
</div>
</then>
</n.if.both>
</macro>