summaryrefslogtreecommitdiffstats
path: root/weblog-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'weblog-model.lua')
-rw-r--r--weblog-model.lua35
1 files changed, 22 insertions, 13 deletions
diff --git a/weblog-model.lua b/weblog-model.lua
index 87c070d..01c6ae7 100644
--- a/weblog-model.lua
+++ b/weblog-model.lua
@@ -1193,21 +1193,30 @@ local handleparameters = function(activelog, clientuserid, starttime, endtime, c
return result
end
-function editselected(chkdata)
- keycnt = 0
- sql = "UPDATE pubweblog SET selected = "
- databaseconnect(DatabaseOwner)
- idarray = format.string_to_table(chkdata, "|")
- for key,x in pairs(idarray) do
- keycnt = keycnt + 1
- if keycnt == 1 then
- sql = sql..x.." WHERE id = "
- else
- sql = sql..x
+function geteditselected()
+ local result = {}
+ result.select = cfe({ type="list", value={}, label="Entries to mark as selected" })
+ result.deselect = cfe({ type="list", value={}, label="Entries to mark as selected" })
+ return cfe({ type="group", value=result, label="Select / Deselect log entries" })
+end
+
+function editselected(data)
+ local res, err = pcall(function()
+ databaseconnect(DatabaseOwner)
+ con:execute("START TRANSACTION")
+ for i,sel in ipairs(data.value.select.value) do
+ con:execute("UPDATE pubweblog SET selected = true WHERE id = '"..escape(sel).."'")
end
+ for i,sel in ipairs(data.value.deselect.value) do
+ con:execute("UPDATE pubweblog SET selected = false WHERE id = '"..escape(sel).."'")
+ end
+ con:execute("COMMIT")
+ databasedisconnect()
+ end)
+ if not res then
+ data.errtxt = err
end
- assert (con:execute(sql))
- databasedisconnect()
+ return data
end
function clearselected()