Mercurial Hosting > nabble
diff src/nabble/view/naml/user.naml @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/view/naml/user.naml Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,98 @@ +<macro name="user_header"> + <span style="white-space:nowrap;" id="nabble-user-header"></span> + <script type="text/javascript">Nabble.userHeader();</script> +</macro> + +<macro name="is_active" requires="user"> + <n.both> + <condition1.not.is_banned/> + <condition2.not.is_deactivated/> + </n.both> +</macro> + +<!-- user_tag_id fixes the tilde char (~) in anonymous names (e.g., "a123~Anon") --> +<macro name="user_tag_id" requires="user"> + <n.regex_replace_all. pattern='[^\w]' replacement='_'><n.id/></n.regex_replace_all.> +</macro> + +<macro name="set_visitor_online_js"> + <n.param_loop. param="visitorOnline"> + <n.set_visitor_online/> + </n.param_loop.> +</macro> + +<macro name="avatar_online_js"> + <n.param_loop. param="avatarOnline"> + <n.if.author_is_online search_id="[n.current_parameter_value/]"> + <then> + Nabble.online('<n.current_parameter_value/>'); + </then> + </n.if.author_is_online> + </n.param_loop.> +</macro> + +<macro name="avatar" requires="user" parameters="size,group,border_class"> + <n.set_var. name="image_url"> + <n.if.is_banned> + <then.default_avatar_url size="[n.size/]"/> + <else.avatar_url size="[n.size/]"/> + </n.if.is_banned> + </n.set_var.> + <n.remove_spaces_between_tags.> + <n.if.is_empty.group> + <then> + <a href="[n.url/]" rel="nofollow" title="[t]View profile of [t.author.name/][/t]" class="nowrap no-decoration"> + <img class="avatar [n.avatar_border.border_class/]" src="[n.var name='image_url'/]" height="[n.avatar_pixels.size/]" width="[n.avatar_pixels.size/]" alt="[n.name/]" title="[n.name/]"/> + <img src="/images/online.png" class="online[n.search_id/] online invisible" title="[t]User is online[/t]" alt="online"/> + </a> + </then> + <else> + <n.put_in_head.> + <script type="text/javascript"> + var avatarBorder = "<n.avatar_border.border_class/>"; + var userIsOnline = "<t>User is online</t>"; +<![CDATA[ + Nabble.createAvatar = function(showAvatar, url, id, size) { + var dim = size == 'small'? 24 : 100; + document.write("<img "); + if (showAvatar || showAvatar == null) + document.write("src='"+url+"' "); + else + document.write("src='/images/nop.gif' "); + document.write("xsrc='"+url+"' "); + document.write("width='"+dim+"' height='"+dim+"' class='"+avatarBorder+" avatar'/>"); + if (id) + document.write('<img src="/images/online.png" class="online'+id+' online invisible" title="'+userIsOnline+'" alt="online"/>'); + }; +]]> + </script> + </n.put_in_head.> + <span class="avatar[n.group/]"> + <a href="[n.url/]" rel="nofollow" title="[t]View profile of [t.author.name/][/t]" class="nowrap no-decoration"> + <script type="text/javascript"> + Nabble.createAvatar(window.hasAvatar<n.group/>, '<n.var name='image_url'/>', '<n.search_id/>', '<n.size/>'); + </script> + </a> + </span> + </else> + </n.if.is_empty.group> + </n.remove_spaces_between_tags.> + + <n.call_later param="visitorOnline"/> + <n.call_later value="[n.search_id/]" param="avatarOnline"/> +</macro> + +<macro name="avatar_border" dot_parameter="class"> + <n.default. to="light-border-color"><n.class/></n.default.> +</macro> + +<macro name="avatar_pixels" dot_parameter="size"> + <n.if.equal value1="[n.size/]" value2="big"> + <then>100</then> + <else>24</else> + </n.if.equal> +</macro> + +<macro name="post_count_value" requires="user"> + <n.page_user.node_count filter="[n.post_filter/]"/> +</macro> \ No newline at end of file