This template displays recent user logins. The log date is not 100% accurate since browsers, cookies and other magical factors are involved. It is still a very useful way to keep track who is online.
| Version | Date | Author | Description |
| 1.0 | Oct 19, 2009 | Craig Sivils | Display a list of online/recent users |
For all the examples on this page, the code is shown before the working example. The code is shown with the syntax extension, and looks like this:
RecentUsers();
This means that the actual code on the page should be enclosed in a DekiScript block. If you want to copy the code from this page, then use the same procedure as described in steps 2-4 above.
| Name | Type | Default | Description |
| limit | number | 100 | The number of users to display |
RecentUsers(100);
| User | Last Login |
|---|---|
| FrancescoFlyzik | 2012-05-16 17:00:53Z |
| FreddyCarlos | 2012-05-16 17:00:13Z |
| BradleyYarn | 2012-05-16 17:00:09Z |
| GordonUhlir | 2012-05-16 16:59:38Z |
| ChaunceyWirtanen | 2012-05-16 16:59:31Z |
| DougZaman | 2012-05-16 16:58:34Z |
| GregoryJentsch | 2012-05-16 16:58:10Z |
| HarlanTompkins | 2012-05-16 16:57:49Z |
| MerrillZito | 2012-05-16 16:57:35Z |
| BoyceRisk | 2012-05-16 16:57:06Z |
| VirgilKapaun | 2012-05-16 16:55:44Z |
| ElishaGoodfield | 2012-05-16 16:55:42Z |
| RobtTutson | 2012-05-16 16:54:15Z |
| RodneyNorris | 2012-05-16 16:53:00Z |
| BobMartinov | 2012-05-16 16:52:52Z |
| ShonDuguette | 2012-05-16 16:52:25Z |
| JohnieBarbin | 2012-05-16 16:52:18Z |
| KyleFaucette | 2012-05-16 16:52:11Z |
| HobertBotdorf | 2012-05-16 16:51:22Z |
| AlexisFisser | 2012-05-16 16:51:08Z |
| MilanTokarz | 2012-05-16 16:50:37Z |
| LouisMeline | 2012-05-16 16:49:56Z |
| BrittBendit | 2012-05-16 16:49:23Z |
| MosesBohonik | 2012-05-16 16:48:55Z |
| JuniorDilallo | 2012-05-16 16:48:46Z |
| ScottyTryner | 2012-05-16 16:48:34Z |
| RaleighRicketts | 2012-05-16 16:48:11Z |
| RoyalKaluzny | 2012-05-16 16:47:56Z |
| DomenicFlorestal | 2012-05-16 16:47:18Z |
| JameyFrohlich | 2012-05-16 16:46:41Z |
| EmilioStoviak | 2012-05-16 16:45:56Z |
| KentonBaskow | 2012-05-16 16:45:32Z |
| LonnyGunby | 2012-05-16 16:45:27Z |
| HymanGideon | 2012-05-16 16:44:49Z |
| ArtHayman | 2012-05-16 16:44:15Z |
| GuillermoBlatt | 2012-05-16 16:44:13Z |
| XavierBrackin | 2012-05-16 16:43:43Z |
| EmilioSkutt | 2012-05-16 16:43:12Z |
| AbdulEsquerre | 2012-05-16 16:43:09Z |
| ShelbyMaiolo | 2012-05-16 16:42:19Z |
| WillCharves | 2012-05-16 16:41:04Z |
| jtyler | 2012-05-16 16:28:44Z |
| RamonTsinnie | 2012-05-16 16:24:49Z |
| LaurenNaschke | 2012-05-16 16:24:38Z |
| FedericoHavice | 2012-05-16 16:24:01Z |
| AlexBosner | 2012-05-16 16:15:16Z |
| craig.slawson | 2012-05-16 15:03:31Z |
| alexis.bedon | 2012-05-16 13:14:38Z |
| maicalicr | 2012-05-16 12:54:33Z |
| Adminstrador | 2012-05-16 12:52:33Z |
| bohappa | 2012-05-16 12:25:16Z |
| quhaqueroll | 2012-05-16 10:18:43Z |
| wendyg | 2012-05-16 09:28:18Z |
| drdran | 2012-05-16 07:44:25Z |
| FormidableInc | 2012-05-16 07:33:21Z |
| duncanc | 2012-05-16 04:55:34Z |
| pmcdonne | 2012-05-16 00:50:46Z |
| groovecoder | 2012-05-15 19:15:50Z |
| michaeldp | 2012-05-15 17:50:54Z |
| Brig | 2012-05-15 14:02:38Z |
| gu2ga2 | 2012-05-15 07:35:37Z |
| markbell | 2012-05-14 21:08:47Z |
| gouwzee | 2012-05-14 20:57:47Z |
| admin | 2012-05-14 20:55:21Z |
| Jon | 2012-05-14 16:05:30Z |
| oso | 2012-05-14 10:04:33Z |
| gupoxaj | 2012-05-14 07:52:57Z |
| krishchant | 2012-05-14 05:42:44Z |
| coreyg | 2012-05-14 03:46:17Z |
| xiaopig | 2012-05-14 03:44:52Z |
| jamesv | 2012-05-14 03:34:02Z |
| ryan.durfey@level3.com | 2012-05-14 03:02:19Z |
| Phil | 2012-05-14 00:57:58Z |
| leoutletoutlet | 2012-05-13 10:35:14Z |
| hsikaria | 2012-05-13 05:08:30Z |
| cocardoso | 2012-05-12 20:08:57Z |
| augustoz | 2012-05-12 09:59:02Z |
| ReinerB | 2012-05-12 00:41:07Z |
| SteveB | 2012-05-11 19:13:56Z |
| yurig | 2012-05-11 19:11:36Z |
| chuxd | 2012-05-11 15:47:19Z |
| dwaweru | 2012-05-11 15:09:46Z |
| peteben | 2012-05-11 12:59:07Z |
| kingmario | 2012-05-11 07:25:28Z |
| Jsohoopm12 | 2012-05-11 07:14:54Z |
| chux | 2012-05-11 04:40:03Z |
| hwangsun | 2012-05-11 01:24:03Z |
| chuckpearson | 2012-05-11 01:19:11Z |
| dmccoy | 2012-05-10 03:06:42Z |
| jolmes | 2012-05-09 19:50:40Z |
| mirhonda | 2012-05-09 19:12:14Z |
| sirdodger | 2001-01-01 06:00:00Z |
| tomstearns | 2001-01-01 06:00:00Z |
| dmreiland | 2001-01-01 06:00:00Z |
| mzeecedric | 2001-01-01 06:00:00Z |
| sjb | 2001-01-01 06:00:00Z |
| robertmorrison | 2001-01-01 06:00:00Z |
| navjeet1 | 2001-01-01 06:00:00Z |
| ujo_imro | 2001-01-01 06:00:00Z |
| wbackes | 2001-01-01 06:00:00Z |
Thank you to sborny09 for a forum post with the API call and SteveB for cleaning up my code.
datatable{ options: { aaSorting: ["2","desc"], sPaginationType: "full_numbers", iDisplayLength:10 } };
var limit = $limit ?? $0 ?? 100;
var users_xml = wiki.api(site.api & 'users' & { sortby: "-date.lastlogin", limit: limit });
var user_data = [
{ nick: xml.text(usr, 'nick'), lastlogin: xml.text(usr, 'date.lastlogin') }
foreach var usr in xml.select(users_xml, '/users/user')
];
let user_data = list.sort(user_data, 'lastlogin', true);
<table cellspacing="3" cellpadding="3" border="1">
<thead>
<tr>
<th>"User"</th>
<th>"Last Login"</th>
</tr>
</thead>
<tbody>
foreach(var user_datum in user_data) {
<tr>
<td> web.link(wiki.getuser(user_datum.nick).uri, user_datum.nick) ?? 'Nickname' </td>
<td> date.format(date.ChangeTimezone(user_datum.lastlogin,user.timezone),"u") ?? 'Last login' </td>
</tr>
}
</tbody>
</table>
The page feature does not work until a users clicks on a column heading, changes the number of records to display drop down or types inside the search box. This seems to be an issue with the datatables JS code.
None.
| Images 0 | ||
|---|---|---|
| No images to display in the gallery. |
Copyright © 2011 MindTouch, Inc. Powered by
<h4>"Wiki most recent logins"</h4>;
<p>
var limit= $limit ?? $0 ?? 20;
var users_xml = wiki.api(uri.build(site.api, ['users']).."?sortby=-date.lastlogin&limit="..limit);
var user_data;
foreach (var user_index in num.series(0,#xml.list(users_xml,'/users/user/nick'))) {
let user_data ..= [ { nick: xml.list(users_xml,'/users/user/nick')[user_index], lastlogin: xml.list(users_xml,'/users/user/date.lastlogin')[user_index] } ];
}
let user_data = list.sort(user_data,'lastlogin',true);
let user_data = list.reverse(list.splice(list.reverse(user_data), limit)); // removes the first entry which is always blank -- not sure why
<ul>
foreach (var user_datum in user_data) <li> <a href=(site.uri .. "User:" .. user_datum.nick)>user_datum.nick</a> " (" .. date.Format(user_datum.lastlogin, "hh:mmtt M-d-yyyy") .. ")"; </li>;
</ul>
</p>;
Wiki most recent logins
* jvervill (07:10AM 2-16-2010)
* Anonymous (07:09AM 2-16-2010)
* LLIGHTY (07:56PM 2-4-2010)
* gengap (08:35PM 2-3-2010)
* BTHOMAN (07:21PM 2-1-2010)
* wlee7 (02:12PM 1-28-2010)
* mdsteine (03:54PM 1-7-2010)
* acarogla1 (01:51PM 1-7-2010)
* tests2 (01:23AM 1-6-2010)
* tests (01:18AM 1-6-2010)
* jpjpjp (01:14AM 1-6-2010)
* vsank (04:00PM 1-5-2010)
* carlos.westhelle (08:37PM 1-4-2010)
* fhall (05:24PM 12-30-2009)
* GCRUM (04:16PM 12-22-2009)
* mike.viens (07:38PM 12-19-2009)
* jvervill1 (09:12PM 12-18-2009)
* Erik.Burgess (03:40PM 12-17-2009)
* eburgess1 (02:50PM 12-17-2009)
* eburgess (02:43PM 12-17-2009)