From f17df67a9b155f79209383cef75fbff1c6c276f1 Mon Sep 17 00:00:00 2001 From: Timo Smit Date: Fri, 3 Feb 2017 11:07:36 +0100 Subject: [PATCH] Fixed paginated lists returning too many results (refs #54) --- luascripts/commands/admin/listaliases.lua | 2 +- luascripts/commands/admin/listlevels.lua | 2 +- luascripts/commands/admin/showwarns.lua | 2 +- luascripts/util/pagination.lua | 8 +++----- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/luascripts/commands/admin/listaliases.lua b/luascripts/commands/admin/listaliases.lua index a09f7e1..43e70a3 100644 --- a/luascripts/commands/admin/listaliases.lua +++ b/luascripts/commands/admin/listaliases.lua @@ -71,7 +71,7 @@ function commandListAliases(clientId, cmdArguments) et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^7"..spaces..alias["alias"].." ^7"..string.format("%8s", alias["used"]).." times\";") end - et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^9Showing results ^7"..(offset + 1).." ^9- ^7"..limit.." ^9of ^7"..count.."^9.\";") + et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^9Showing results ^7"..(offset + 1).." ^9- ^7"..(offset + limit).." ^9of ^7"..count.."^9.\";") et.trap_SendConsoleCommand(et.EXEC_APPEND, "cchat "..clientId.." \"^dlistaliases: ^9aliases for ^7"..et.gentity_get(cmdClient, "pers.netname").." ^9were printed to the console.\";") return true diff --git a/luascripts/commands/admin/listlevels.lua b/luascripts/commands/admin/listlevels.lua index 1974f22..2e668fc 100644 --- a/luascripts/commands/admin/listlevels.lua +++ b/luascripts/commands/admin/listlevels.lua @@ -87,7 +87,7 @@ function commandListLevels(clientId, cmdArguments) et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^f"..string.format("%4s", level["id"]).." ^7"..string.format("%-20s", util.removeColors(db.getlastalias(level["admin_id"])["alias"])).." ^f"..os.date("%d/%m/%Y", level["datetime"]).." ^7"..level["level"].."\";") end - et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^9Showing results ^7"..(offset + 1).." ^9- ^7"..limit.." ^9of ^7"..count.."^9.\";") + et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^9Showing results ^7"..(offset + 1).." ^9- ^7"..(offset + limit).." ^9of ^7"..count.."^9.\";") et.trap_SendConsoleCommand(et.EXEC_APPEND, "cchat "..clientId.." \"^dlistlevels: ^9recorded levels for ^7"..et.gentity_get(cmdClient, "pers.netname").." ^9were printed to the console.\";") end diff --git a/luascripts/commands/admin/showwarns.lua b/luascripts/commands/admin/showwarns.lua index 26bca94..8b06cc2 100644 --- a/luascripts/commands/admin/showwarns.lua +++ b/luascripts/commands/admin/showwarns.lua @@ -60,7 +60,7 @@ function commandShowWarns(clientId, cmdArguments) et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^f"..string.format("%4s", warn["id"]).." ^7"..string.format("%-20s", util.removeColors(db.getlastalias(warn["admin_id"])["alias"])).." ^f"..os.date("%d/%m/%Y", warn["datetime"]).." ^7"..warn["reason"].."\";") end - et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^9Showing results ^7"..(offset + 1).." ^9- ^7"..limit.." ^9of ^7"..count.."^9.\";") + et.trap_SendConsoleCommand(et.EXEC_APPEND, "csay "..clientId.." \"^9Showing results ^7"..(offset + 1).." ^9- ^7"..(offset + limit).." ^9of ^7"..count.."^9.\";") et.trap_SendConsoleCommand(et.EXEC_APPEND, "cchat "..clientId.." \"^dshowwarns: ^9warnings for ^7"..et.gentity_get(cmdClient, "pers.netname").." ^9were printed to the console.\";") end diff --git a/luascripts/util/pagination.lua b/luascripts/util/pagination.lua index 03eef5d..6b981a8 100644 --- a/luascripts/util/pagination.lua +++ b/luascripts/util/pagination.lua @@ -25,13 +25,11 @@ function pagination.calculate(count, limit, offset) offset = count + offset end - limit = limit + offset - - if limit > count then - limit = count + if limit + offset > count then + limit = count % limit end return limit, offset end -return pagination \ No newline at end of file +return pagination