diff --git a/web/root/ecwebv3/pages/003-userlist.xjs b/web/root/ecwebv3/pages/003-userlist.xjs index 77184d60d160db1b1f8d9a58ece3b538e56e1856..62ce7c4adef46c48e22e7e93bd335aa6c22e372f 100644 --- a/web/root/ecwebv3/pages/003-userlist.xjs +++ b/web/root/ecwebv3/pages/003-userlist.xjs @@ -17,9 +17,24 @@ // total_posts : { name : "Posts", type : "number" } }; + var pageSize = 500; + // Most people won't need to edit below this line load("sbbsdefs.js"); + if( typeof http_request.query.offset == "undefined" + || + isNaN(parseInt(http_request.query.offset)) + || + http_request.query.offset < 1 + ) { + var offset = 1; + } else { + var offset = parseInt(http_request.query.offset); + } + var previousOffset = Math.max(1, offset - pageSize); + var nextOffset = Math.min(offset + pageSize, offset + (system.lastuser - offset)); + var users = []; var url = format( "http://%s%s", @@ -81,16 +96,18 @@ var makeSortURLs = function(field, order) { return format( - '<a class="ulLink" href="%s&sortby=%s&sortorder=ascending">' + '<a class="ulLink" href="%s&sortby=%s&sortorder=ascending&offset=%s">' + '<img src="./icons/up-arrow.png">' + '</a>' - + '<a class="ulLink" href="%s&sortby=%s&sortorder=descending">' + + '<a class="ulLink" href="%s&sortby=%s&sortorder=descending&offset=%s">' + '<img src="./icons/down-arrow.png">' + '</a>', url, field, + offset, url, - field + field, + offset ); } @@ -102,8 +119,13 @@ return dest; } - for(var u = 1; u < system.lastuser; u++) { + for(var u = offset; + u < ((system.lastuser - offset > pageSize) ? offset + pageSize : system.lastuser); + u++ + ) { var usr1 = new User(u); + if(usr1.settings&USER_DELETED || usr1.compare_ars("REST Q")) + continue; var usr2 = copyProperties(usr1, {}); usr2 = copyProperties(usr1.stats, usr2); users.push(usr2); @@ -137,4 +159,15 @@ for(var u = 0; u < users.length; u++) { } ?> + </table> + +<?xjs + +if(offset > 1) + print(format('<a href="%s&offset=%s">Previous</a> ', url, previousOffset)); + +if(system.lastuser - offset > pageSize) + print(format('<a href="%s&offset=%s">Next</a>', url, nextOffset)); + +?>