antville/code/MemberMgr/macros.js

62 lines
1.4 KiB
JavaScript

/**
* macro renders a link to signup if user is not member of this site
* if user is member, it displays the level of membership
*/
function membership_macro(param) {
var ms = this.get(session.user.name);
if (!ms)
return;
res.write(getRole(ms.level));
}
/**
* macro renders a link to signup-action
* but only if user is not a member of this site
*/
function subscribelink_macro(param) {
if (!path.site)
return;
var ms = this.get(session.user.name);
if (ms)
return;
openLink(path.site.href("subscribe"));
res.write(param.text ? param.text : "sign up");
closeLink();
}
/**
* macro renders a link to signup-action
* but only if user is not a member of this site
*/
function subscriptionslink_macro(param) {
if (!session.user.size())
return;
openLink(this.href("subscriptions"));
res.write(param.text ? param.text : "subscriptions");
closeLink();
}
/**
* macro renders the list of all members of this site
*/
function memberlist_macro(param) {
var currLvl;
var sp = new Object();
sp.list = "";
for (var i=0;i<this.size();i++) {
var m = this.get(i);
if (m.level != currLvl) {
this.renderSkin("membergroup",sp);
sp.list = "";
sp.group = getRole(parseInt(m.level,10)); // m.getLvl();
currLvl = m.level;
}
sp.list += m.renderSkinAsString("preview");
}
this.renderSkin("membergroup",sp);
}