diff --git a/cmd/field_rename.lua b/cmd/field_rename.lua new file mode 100644 index 0000000..5d3dda4 --- /dev/null +++ b/cmd/field_rename.lua @@ -0,0 +1,26 @@ +local function cmd(args) + local entries = env.xmlFindTags(env.db,"entries")[1] + for i,entry in pairs(entries.children) do + local fields = env.xmlFindTags(entry,"fields")[1] + if entry.attrs.id == args[2] then + for i,v in pairs(fields.children) do + if v.attrs.name == args[4] then + table.remove(fields.children,i) + entry.attrs.date = env.stringDate(os.date("*t",os.time())) + env.changed = true + end + end + + for i,v in pairs(fields.children) do + if v.attrs.name == args[3] then + v.attrs.name = args[4] + entry.attrs.date = env.stringDate(os.date("*t",os.time())) + env.changed = true + return + end + end + end + end +end + +return cmd