|
58 | 58 | callback(null, widget.data.html); |
59 | 59 | }; |
60 | 60 |
|
| 61 | + Widget.render |
| 62 | + |
61 | 63 | Widget.renderTextWidget = function(widget, callback) { |
62 | 64 | var parseAsPost = !!widget.data.parseAsPost, |
63 | 65 | text = widget.data.text; |
64 | | - |
| 66 | + |
65 | 67 | if (parseAsPost) { |
66 | 68 | plugins.fireHook('filter:parse.raw', text, callback); |
67 | 69 | } else { |
68 | 70 | callback(null, text.replace(/\r\n/g, "<br />")); |
69 | 71 | } |
| 72 | + |
70 | 73 | }; |
71 | 74 |
|
72 | 75 | Widget.renderRecentViewWidget = function(widget, callback) { |
|
86 | 89 | }; |
87 | 90 |
|
88 | 91 | 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 | + |
89 | 100 | function getUserData(err, uids) { |
90 | 101 | if (err) { |
91 | 102 | return callback(err); |
|
98 | 109 | return callback(err); |
99 | 110 | } |
100 | 111 |
|
101 | | - html = templates.parse(html, { |
102 | | - active_users: users, |
103 | | - relative_path: nconf.get('relative_path') |
104 | | - }); |
| 112 | + html = generateHtml(users); |
105 | 113 |
|
106 | 114 | callback(err, html); |
107 | 115 | }); |
|
110 | 118 | var count = Math.max(1, widget.data.numUsers || 24); |
111 | 119 | var html = Widget.templates['widgets/activeusers.tpl'], cidOrtid; |
112 | 120 | var match; |
113 | | - if (widget.data.global) { |
| 121 | + if (!!widget.data.global) { |
114 | 122 | async.parallel({ |
115 | 123 | users: function(next) { |
116 | | - user.getUsersFromSet('users:online', 0, 49, next); |
| 124 | + user.getUsersFromSet('users:online', widget.uid, 0, 49, next); |
117 | 125 | }, |
118 | 126 | isAdministrator: function(next) { |
119 | 127 | user.isAdministrator(widget.uid, next); |
120 | 128 | } |
121 | 129 | }, function(err, results) { |
122 | 130 | if (err) { |
123 | | - return getUserData(err); |
| 131 | + return callback(err); |
124 | 132 | } |
125 | 133 |
|
126 | 134 | 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'; |
129 | 137 | }); |
130 | 138 | } |
131 | 139 |
|
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); |
134 | 147 | }); |
135 | 148 | } else if (widget.data.cid) { |
136 | 149 | cidOrtid = widget.data.cid; |
|
0 commit comments