0
|
1 <macro name="user_header">
|
|
2 <span style="white-space:nowrap;" id="nabble-user-header"></span>
|
|
3 <script type="text/javascript">Nabble.userHeader();</script>
|
|
4 </macro>
|
|
5
|
|
6 <macro name="is_active" requires="user">
|
|
7 <n.both>
|
|
8 <condition1.not.is_banned/>
|
|
9 <condition2.not.is_deactivated/>
|
|
10 </n.both>
|
|
11 </macro>
|
|
12
|
|
13 <!-- user_tag_id fixes the tilde char (~) in anonymous names (e.g., "a123~Anon") -->
|
|
14 <macro name="user_tag_id" requires="user">
|
|
15 <n.regex_replace_all. pattern='[^\w]' replacement='_'><n.id/></n.regex_replace_all.>
|
|
16 </macro>
|
|
17
|
|
18 <macro name="set_visitor_online_js">
|
|
19 <n.param_loop. param="visitorOnline">
|
|
20 <n.set_visitor_online/>
|
|
21 </n.param_loop.>
|
|
22 </macro>
|
|
23
|
|
24 <macro name="avatar_online_js">
|
|
25 <n.param_loop. param="avatarOnline">
|
|
26 <n.if.author_is_online search_id="[n.current_parameter_value/]">
|
|
27 <then>
|
|
28 Nabble.online('<n.current_parameter_value/>');
|
|
29 </then>
|
|
30 </n.if.author_is_online>
|
|
31 </n.param_loop.>
|
|
32 </macro>
|
|
33
|
|
34 <macro name="avatar" requires="user" parameters="size,group,border_class">
|
|
35 <n.set_var. name="image_url">
|
|
36 <n.if.is_banned>
|
|
37 <then.default_avatar_url size="[n.size/]"/>
|
|
38 <else.avatar_url size="[n.size/]"/>
|
|
39 </n.if.is_banned>
|
|
40 </n.set_var.>
|
|
41 <n.remove_spaces_between_tags.>
|
|
42 <n.if.is_empty.group>
|
|
43 <then>
|
|
44 <a href="[n.url/]" rel="nofollow" title="[t]View profile of [t.author.name/][/t]" class="nowrap no-decoration">
|
|
45 <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/]"/>
|
|
46 <img src="/images/online.png" class="online[n.search_id/] online invisible" title="[t]User is online[/t]" alt="online"/>
|
|
47 </a>
|
|
48 </then>
|
|
49 <else>
|
|
50 <n.put_in_head.>
|
|
51 <script type="text/javascript">
|
|
52 var avatarBorder = "<n.avatar_border.border_class/>";
|
|
53 var userIsOnline = "<t>User is online</t>";
|
|
54 <![CDATA[
|
|
55 Nabble.createAvatar = function(showAvatar, url, id, size) {
|
|
56 var dim = size == 'small'? 24 : 100;
|
|
57 document.write("<img ");
|
|
58 if (showAvatar || showAvatar == null)
|
|
59 document.write("src='"+url+"' ");
|
|
60 else
|
|
61 document.write("src='/images/nop.gif' ");
|
|
62 document.write("xsrc='"+url+"' ");
|
|
63 document.write("width='"+dim+"' height='"+dim+"' class='"+avatarBorder+" avatar'/>");
|
|
64 if (id)
|
|
65 document.write('<img src="/images/online.png" class="online'+id+' online invisible" title="'+userIsOnline+'" alt="online"/>');
|
|
66 };
|
|
67 ]]>
|
|
68 </script>
|
|
69 </n.put_in_head.>
|
|
70 <span class="avatar[n.group/]">
|
|
71 <a href="[n.url/]" rel="nofollow" title="[t]View profile of [t.author.name/][/t]" class="nowrap no-decoration">
|
|
72 <script type="text/javascript">
|
|
73 Nabble.createAvatar(window.hasAvatar<n.group/>, '<n.var name='image_url'/>', '<n.search_id/>', '<n.size/>');
|
|
74 </script>
|
|
75 </a>
|
|
76 </span>
|
|
77 </else>
|
|
78 </n.if.is_empty.group>
|
|
79 </n.remove_spaces_between_tags.>
|
|
80
|
|
81 <n.call_later param="visitorOnline"/>
|
|
82 <n.call_later value="[n.search_id/]" param="avatarOnline"/>
|
|
83 </macro>
|
|
84
|
|
85 <macro name="avatar_border" dot_parameter="class">
|
|
86 <n.default. to="light-border-color"><n.class/></n.default.>
|
|
87 </macro>
|
|
88
|
|
89 <macro name="avatar_pixels" dot_parameter="size">
|
|
90 <n.if.equal value1="[n.size/]" value2="big">
|
|
91 <then>100</then>
|
|
92 <else>24</else>
|
|
93 </n.if.equal>
|
|
94 </macro>
|
|
95
|
|
96 <macro name="post_count_value" requires="user">
|
|
97 <n.page_user.node_count filter="[n.post_filter/]"/>
|
|
98 </macro> |