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

# 設定/プリセット/録画フォルダ

]=]) srvIni='EpgTimerSrv.ini' post=AssertPost() if post and not ALLOW_SETTING then post=nil ct:Append('
変更は許可されていません
\n') end if post then presetID=GetVarInt(post,'presetID') or 0 found=BinarySearch(edcb.EnumRecPresetInfo(),{id=presetID},CompareFields('id')) if found then rs=found.recSetting if mg.get_var(post,'add') then addFolder={recFolder=nil,writePlugIn='Write_Default'..(WIN32 and '.dll' or '.so'),recNamePlugIn=''} item=mg.get_var(post,'dir') or '' if item=='' then addFolder.recFolder='!Default' elseif item:find('^[^%c'..(WIN32 and '*?"<>|' or '')..']+$') then ff=EdcbFindFilePlain(item) if (ff and ff.isdir) or (WIN32 and item:find('^[A-Za-z]:\\$')) then addFolder.recFolder=item end end if addFolder.recFolder then item=mg.get_var(post,'writePlugIn') or '' for i,v in ipairs(EnumPlugInFileName('Write')) do if IsEqualPath(v,item) then addFolder.writePlugIn=item break end end item=mg.get_var(post,'recNamePlugIn') or '' for i,v in ipairs(EnumPlugInFileName('RecName')) do if IsEqualPath(v,item) then addFolder.recNamePlugIn=item break end end item=mg.get_var(post,'recNameOption') or '' if addFolder.recNamePlugIn~='' and item:find('^%C+$') then addFolder.recNamePlugIn=addFolder.recNamePlugIn..'?'..item end table.insert(GetVarInt(post,'partial')==1 and rs.partialRecFolder or rs.recFolderList,addFolder) ct:Append('
追加しました
\n') end else newList={} for i,v in ipairs(rs.recFolderList) do if GetVarInt(post,'del-'..i)~=1 then newList[#newList+1]=v end end newPartial={} for i,v in ipairs(rs.partialRecFolder) do if GetVarInt(post,'del-p-'..i)~=1 then newPartial[#newPartial+1]=v end end if #rs.recFolderList~=#newList or #rs.partialRecFolder~=#newPartial then rs.recFolderList=newList rs.partialRecFolder=newPartial ct:Append('
削除しました
\n') end end defName='REC_DEF_FOLDER' if presetID>0 then defName=defName..presetID end edcb.WritePrivateProfile(defName,'Count',#rs.recFolderList,srvIni) for i,v in ipairs(rs.recFolderList) do edcb.WritePrivateProfile(defName,i-1,v.recFolder,srvIni) edcb.WritePrivateProfile(defName,'WritePlugIn'..(i-1),v.writePlugIn,srvIni) edcb.WritePrivateProfile(defName,'RecNamePlugIn'..(i-1),v.recNamePlugIn,srvIni) end defName=defName:gsub('ER','ER_1SEG') edcb.WritePrivateProfile(defName,'Count',#rs.partialRecFolder,srvIni) for i,v in ipairs(rs.partialRecFolder) do edcb.WritePrivateProfile(defName,i-1,v.recFolder,srvIni) edcb.WritePrivateProfile(defName,'WritePlugIn'..(i-1),v.writePlugIn,srvIni) edcb.WritePrivateProfile(defName,'RecNamePlugIn'..(i-1),v.recNamePlugIn,srvIni) end end else presetID=GetVarInt(mg.request_info.query_string,'presetID') or 0 end edcb.htmlEscape=15 preset=BinarySearch(edcb.EnumRecPresetInfo(),{id=presetID},CompareFields('id')) if preset then ct:Append([=[

録画フォルダ | 出力PlugIn | ファイル名PlugIn | 部分受信 |
]=]) for i,v in ipairs(preset.recSetting.recFolderList) do ct:Append('
'..v.recFolder..' | '..v.writePlugIn..' | '..v.recNamePlugIn ..' | いいえ | 削除
\n') end for i,v in ipairs(preset.recSetting.partialRecFolder) do ct:Append('
'..v.recFolder..' | '..v.writePlugIn..' | '..v.recNamePlugIn ..' | はい | 削除
\n') end ct:Append([=[

録画フォルダ (フォルダは事前に作成してください)
出力PlugIn
ファイル名PlugIn
ファイル名PlugInオプション
部分受信
]=]) end ct:Append([=[
]=]) ct:Finish() mg.write(ct:Pop(Response(200,'text/html','utf-8',ct.len,ct.gzip)..'\r\n'))