Skip to content

Commit 462721b

Browse files
author
dwn
committed
Fixed option to display all online users in activeusers.
1 parent 8325199 commit 462721b

File tree

2 files changed

+26
-13
lines changed

2 files changed

+26
-13
lines changed

library.js

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,18 @@
5858
callback(null, widget.data.html);
5959
};
6060

61+
Widget.render
62+
6163
Widget.renderTextWidget = function(widget, callback) {
6264
var parseAsPost = !!widget.data.parseAsPost,
6365
text = widget.data.text;
64-
66+
6567
if (parseAsPost) {
6668
plugins.fireHook('filter:parse.raw', text, callback);
6769
} else {
6870
callback(null, text.replace(/\r\n/g, "<br />"));
6971
}
72+
7073
};
7174

7275
Widget.renderRecentViewWidget = function(widget, callback) {
@@ -86,6 +89,14 @@
8689
};
8790

8891
Widget.renderActiveUsersWidget = function(widget, callback) {
92+
function generateHtml(users) {
93+
html = templates.parse(html, {
94+
active_users: users,
95+
relative_path: nconf.get('relative_path')
96+
});
97+
return html;
98+
}
99+
89100
function getUserData(err, uids) {
90101
if (err) {
91102
return callback(err);
@@ -98,10 +109,7 @@
98109
return callback(err);
99110
}
100111

101-
html = templates.parse(html, {
102-
active_users: users,
103-
relative_path: nconf.get('relative_path')
104-
});
112+
html = generateHtml(users);
105113

106114
callback(err, html);
107115
});
@@ -110,27 +118,32 @@
110118
var count = Math.max(1, widget.data.numUsers || 24);
111119
var html = Widget.templates['widgets/activeusers.tpl'], cidOrtid;
112120
var match;
113-
if (widget.data.global) {
121+
if (!!widget.data.global) {
114122
async.parallel({
115123
users: function(next) {
116-
user.getUsersFromSet('users:online', 0, 49, next);
124+
user.getUsersFromSet('users:online', widget.uid, 0, 49, next);
117125
},
118126
isAdministrator: function(next) {
119127
user.isAdministrator(widget.uid, next);
120128
}
121129
}, function(err, results) {
122130
if (err) {
123-
return getUserData(err);
131+
return callback(err);
124132
}
125133

126134
if (!results.isAdministrator) {
127-
results.users = results.users.filter(function(user) {
128-
return user && user.status !== 'offline';
135+
results.users = results.users.filter(function(usr) {
136+
return usr && usr.status !== 'offline';
129137
});
130138
}
131139

132-
results.users = results.users.map(function(a) { return a.uid; });
133-
getUserData(err, results.users);
140+
results.users = results.users.map(function(a) {
141+
return {'uid': a.uid, 'username': a.username, 'userslug': a.userslug, 'picture': a.picture};
142+
});
143+
144+
html = generateHtml(results.users);
145+
146+
callback(null, html);
134147
});
135148
} else if (widget.data.cid) {
136149
cidOrtid = widget.data.cid;

public/templates/admin/activeusers.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<label>
2-
Include All Users: <input name="global" type="checkbox" name="includeall"><br />
2+
Include All Users: <input name="global" type="checkbox"><br />
33
<small>Active users will include all online users(regardless of current category).</small>
44
</label>
55
<br />

0 commit comments

Comments
 (0)