36 lines
875 B
Lua
36 lines
875 B
Lua
|
local function cmd(args)
|
||
|
local entries = env.xmlFindTags(env.db,"entries")[1]
|
||
|
for i,entry in pairs(entries.children) do
|
||
|
if entry.attrs.id == args[2] then
|
||
|
local history = env.xmlFindTags(entry,"history")[1]
|
||
|
local hentry = {}
|
||
|
hentry.tag = "entry"
|
||
|
hentry.attrs = {}
|
||
|
for i,v in pairs(entry.attrs) do
|
||
|
hentry.attrs[i] = v
|
||
|
end
|
||
|
hentry.children = {}
|
||
|
hentry.parent = history
|
||
|
|
||
|
for i,field in pairs(env.xmlFindTags(entry,"field")) do
|
||
|
local hfield = {}
|
||
|
hfield.tag = "field"
|
||
|
hfield.attrs = {}
|
||
|
hfield.children = {}
|
||
|
hfield.parent = hfields
|
||
|
for i,v in pairs(field.attrs) do
|
||
|
hfield.attrs[i] = v
|
||
|
end
|
||
|
hfield.children[1] = {}
|
||
|
hfield.children[1].text = field.children[1].text
|
||
|
table.insert(hentry.children,hfield)
|
||
|
end
|
||
|
|
||
|
table.insert(history.children,hentry)
|
||
|
env.changed = true
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return cmd
|