-- vim:set ft=lua:
dofile(mg.document_root..'\\api\\util.lua')

ini='Setting\\HttpPublic.ini'

post=AssertPost()

messege=false

reset=mg.get_var(mg.request_info.query_string,'reset') or nil

if reset then
  AssertCsrf(mg.request_info.query_string)

  if reset=='tvguide' then

    edcb.WritePrivateProfile('GUIDE', nil, '',ini)
    edcb.WritePrivateProfile('BACKGROUND', nil, '',ini)
    
    messege='番組表設定'

  elseif reset=='sort' then

    edcb.WritePrivateProfile('SORT', nil, '',ini)
    edcb.WritePrivateProfile('HIDE', nil, '',ini)
    
    messege='並び替え設定'

  end

  if messege then
    messege=messege..'を初期化しました'
  end

elseif post then

  titleControl=GetVarInt(post,'titleControl-PC')+GetVarInt(post,'titleControl-SP')
  for i=0,10000 do
    v=GetVarInt(post,'titleControl',0,32,i)
    if not v then break end
    titleControl=titleControl+v
  end

  --edcb.WritePrivateProfile('SET', 'tkntrec', GetVarInt(post,'tkntrec')==1,ini)
  edcb.WritePrivateProfile('SET', 'Roboto', GetVarInt(post,'Roboto')==1,ini)
  edcb.WritePrivateProfile('SET', 'subGenreoption', mg.get_var(post,'subGenreoption'),ini)
  edcb.WritePrivateProfile('SET', 'FIND_BY_OPEN', GetVarInt(post,'FIND_BY_OPEN',0,100000),ini)
  edcb.WritePrivateProfile('SET', 'PAGE_COUNT', GetVarInt(post,'PAGE_COUNT',0,100000),ini)

  edcb.WritePrivateProfile('GUIDE', 'oneseg', GetVarInt(post,'oneseg')==1,ini)
  edcb.WritePrivateProfile('GUIDE', 'hover', GetVarInt(post,'hover')==1,ini)
  edcb.WritePrivateProfile('GUIDE', 'titleControl', titleControl,ini)
  edcb.WritePrivateProfile('GUIDE', 'ONE_MIN_PX', GetVarInt(post,'ONE_MIN_PX',1,100000),ini)
  edcb.WritePrivateProfile('GUIDE', 'MARGIN_HOUR', GetVarInt(post,'MARGIN_HOUR',0,23),ini)
  edcb.WritePrivateProfile('GUIDE', 'MARGIN_MIN', GetVarInt(post,'MARGIN_MIN',1,100000),ini)
  edcb.WritePrivateProfile('GUIDE', 'service', GetVarInt(post,'w_service',10,100000),ini)
  edcb.WritePrivateProfile('GUIDE', 'service_sp', GetVarInt(post,'w_service_sp',10,100000),ini)
  edcb.WritePrivateProfile('GUIDE', 'hour', GetVarInt(post,'w_hour',10,100000),ini)
  edcb.WritePrivateProfile('GUIDE', 'hour_sp', GetVarInt(post,'w_hour_sp',10,100000),ini)
  edcb.WritePrivateProfile('GUIDE', 'CH_COUNT', GetVarInt(post,'CH_COUNT',0,100000),ini)
  edcb.WritePrivateProfile('GUIDE', 'sidePanel', GetVarInt(post,'sidePanel')==1,ini)
  edcb.WritePrivateProfile('GUIDE', 'subChConcat', GetVarInt(post,'subChConcat')==1,ini)

  edcb.WritePrivateProfile('BACKGROUND', 'background', mg.get_var(post, 'background'),ini)

  edcb.WritePrivateProfile('BACKGROUND', 'news', mg.get_var(post, 'news'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'sports', mg.get_var(post, 'sports'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'information', mg.get_var(post, 'information'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'drama', mg.get_var(post, 'drama'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'music', mg.get_var(post, 'music'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'variety', mg.get_var(post, 'variety'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'movie', mg.get_var(post, 'movie' or ''),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'anime', mg.get_var(post, 'anime'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'documentary', mg.get_var(post, 'documentary'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'theater', mg.get_var(post, 'theater'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'education', mg.get_var(post, 'education'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'welfare', mg.get_var(post, 'welfare'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'extension', mg.get_var(post, 'extension'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'other', mg.get_var(post, 'other'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'none', mg.get_var(post, 'none'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'nothing', mg.get_var(post, 'nothing'),ini)

  edcb.WritePrivateProfile('BACKGROUND', 'paint', GetVarInt(post,'paint')==1,ini)
  edcb.WritePrivateProfile('BACKGROUND', 'reserved', mg.get_var(post, 'reserved'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'disable', mg.get_var(post, 'disable'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'partially', mg.get_var(post, 'partially'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'partially_border', mg.get_var(post, 'partially_border'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'shortage', mg.get_var(post, 'shortage'),ini)
  edcb.WritePrivateProfile('BACKGROUND', 'shortage_border', mg.get_var(post, 'shortage_border'),ini)

  edcb.WritePrivateProfile('SORT', nil, '',ini)
  for i=0,10000 do
    v=mg.get_var(post, 'sort', i)
    if not v then break end
    edcb.WritePrivateProfile('SORT', 'sort'..i, v,ini)
  end

  edcb.WritePrivateProfile('HIDE', nil, '',ini)
  for i=0,10000 do
    v=mg.get_var(post, 'hide', i)
    if not v then break end
    edcb.WritePrivateProfile('HIDE', 'hide'..i, v,ini)
  end

  messege='保存しました'

end

ct='<?xml version="1.0" encoding="UTF-8" ?'..'><entry>'
  ..(messege and '<success>'..messege..'</success></entry>' or '<err>'..(reset and '初期化' or '保存')..'できませんでした</err></entry>')
mg.write('HTTP/1.1 200 OK\r\nContent-Type: text/xml\r\nContent-Length: '..#ct..'\r\nConnection: close\r\n\r\n', ct)
