<@6> <@> ディレクトリリスト <@local(ary, subdir, prefix, depth, header, idx, x)> <@>********************************************************* <@>ディレクトリ名「""<>」にてXSS対策確認済(2008/02/06) <@>t.name の安全性は v.load_folderlist() にて保証。 <@>********************************************************* <$tabidx = 1> <@>再帰サブルーチン------------------------------------------------------------ <$sub = begin)> <$subdir= argv#1> <$prefix = argv#2> <$depth = argv#3> <$header = if(depth, '', '')> <$idx = 0> <@forexec(t, argv#0, begin)> <$push(dirlist, t)> <$ary = v.search_folderlist(basedir, t.path, t.pathname)> <$uri_encode(x = t.path)><@>""内に書いても安全 <@ifexec(ary#0, begin, begin)> <@header>-<$tabidx+=1><@t.name>
<@exec(sub, ary, "<@t.path>", "<@prefix><@idx>_", depth+1)>
<$else> <@header>+-<$tabidx+=1><@t.name>
<$end> <$idx+=1> <$end> <$end> <@> <@> <@>main ----------------------------------------------------------------------- <$dirlist = argv#0> <$basedir = v.user_dir> <@exec(sub, v.search_folderlist(v.user_dir), "", "blk_", 0)>