$def with (limit=25, hash="", paginate=True, **query) $if paginate: $ page = safeint(query_param('page', '1')) $else: $ page = 1 $def call_template(name, change): $ t = get_template("recentchanges/" + change.kind + "/" + name) or get_template("recentchanges/default/" + name) $:t(change) $ changes = recentchanges(dict(query, limit=limit, offset=(page-1) * limit)) $var length = len(changes) $if "ip" in query and ctx.user and ctx.user.is_admin():
Admin view
$for c in changes: $if c.author: $elif c.ip and c.ip != '127.0.0.1': $if ctx.user and ctx.user.is_admin(): $ ip_url = "/admin/ip/%s" % c.ip $ klass = cond(c.ip in get_blocked_ips(), 'red', "") $else: $ ip_url = changequery(ip=c.ip) $ klass = "" $else:
$_("When") $_("What") $_("Who") $_("Comment")
$datestr(c.timestamp) $:call_template("path", c)$c.author.displayname$c.ip$c.ip $if c.kind == 'add-cover': Added new cover $else: $:call_template("comment", c)
$if paginate:
$if len(changes) == limit: ← $_("Older") $if page > 1:  |  $_("Newer") →