-- vim:set ft=lua:
dofile(mg.script_name:gsub('[^\\/]*$','')..'util.lua')

a={err='不正値入力'}
post=AssertPost()
if post then
  id=GetVarInt(mg.request_info.query_string,'id') or 0
  ri=edcb.GetRecFileInfoBasic(id)
  if mg.get_var(post,'protect') then
    if ri then
      protect=mg.get_var(post,'protect')=='1'
      edcb.ChgProtectRecFileInfo(ri.id, protect)
      a={success='録画情報をプロテクト'..(protect and '' or 'を解除')..'しました'}
    else
      a={err='録画情報のプロテクトを変更できませんでした'}
    end
  elseif mg.get_var(post,'ren') then
    ren=mg.get_var(post,'ren')
    if ri and (EdcbFindFilePlain(ren) or EdcbFindFilePlain(ri.recFilePath)) then
      RecInfoFolder=edcb.GetPrivateProfile('SET','RecInfoFolder','','Common.ini')
      if RecInfoFolder == '' then
        ori=ri.recFilePath
        chg=ren
      else
        ori=PathAppend(RecInfoFolder, ri.recFilePath:match('[^'..DIR_SEPS..']-$'))
        chg=PathAppend(RecInfoFolder, ren:match('[^'..DIR_SEPS..']-$'))
      end
      if EdcbFindFilePlain(ren) or edcb.os.rename(ri.recFilePath, ren) then
        edcb.os.rename(ori..'.program.txt', chg..'.program.txt')
        edcb.os.rename(ori..'.err', chg..'.err')
        edcb.ChgPathRecFileInfo(ri.id, ren)
        a={success='録画ファイルパスを変更しました'}
      else
        a={err='ファイルを移動できませんでした'}
      end
    else
      a={err=(ri and 'ファイル' or '録画情報')..'がみつかりませんでした'}
    end
  elseif mg.get_var(post,'del') then
    if ri and not ri.protectFlag then
      edcb.DelRecFileInfo(ri.id)
      a={success='録画情報を削除しました'}
    else
      a={err='録画情報を削除できませんでした'}
    end
  end
end

if GetVarInt(mg.request_info.query_string,'json')==1 then
  ResponseJson(a)
else
  ResponseXml(a)
end
