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 local hfields = {} hfields.tag = "fields" hfields.attrs = {} hfields.children = {} hfields.parent = hentry table.insert(hentry.children,hfields) local fields = env.xmlFindTags(entry,"fields")[1] for i,field in pairs(fields.children) do local hfield = {} hfield.tag = field.tag hfield.attrs = {} hfield.children = {} hfield.parent = hfields for i,v in pairs(field.attrs) do hfield.attrs[i] = v end hfield.children[1] = {} if field.children[1] ~= nil then hfield.children[1].text = field.children[1].text end table.insert(hfields.children,hfield) end table.insert(history.children,hentry) entry.attrs.date = env.stringDate(os.date("*t",os.time())) env.changed = true return end end end return cmd