Patch title: Release 87 bulk changes
Abstract:
File: /pliant/appli/forum/patch.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "difference.pli"
module "/pliant/protocol/http/server.pli"
module "/pliant/protocol/http/style/default.style"
module "/pliant/util/remote/client.pli"
module "/pliant/admin/execute.pli"



method page patch_tgz_download path official
  arg_rw HtmlPage page ; arg Str path official
  var Str dir := file_temporary+"/"
  var Str sub := official
  if sub<>"" and sub:0="/"
    sub := sub 1 sub:len
  if sub<>"" and (sub sub:len-1)<>"/"
    sub += "/"
  file_tree_create dir+sub
  var Array:FileInfo all := file_list path standard+recursiv
  for (var Int i) 0 all:size-1
    file_tree_create dir+sub+all:i:name
    file_extract_new path+all:i:name dir+sub+all:i:name
  var Str temp := file_temporary
  if (execute "tar -zc -f "+file_os_name:temp+" "+(shunt sub
    page reset_http_answer
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "difference.pli"
module "/pliant/protocol/http/server.pli"
module "/pliant/protocol/http/style/default.style"
module "/pliant/util/remote/client.pli"
module "/pliant/admin/execute.pli"



method page patch_tgz_download path official
  arg_rw HtmlPage page ; arg Str path official
  var Str dir := file_temporary+"/"
  var Str sub := official
  if sub<>"" and sub:0="/"
    sub := sub 1 sub:len
  if sub<>"" and (sub sub:len-1)<>"/"
    sub += "/"
  file_tree_create dir+sub
  var Array:FileInfo all := file_list path standard+recursiv
  for (var Int i) 0 all:size-1
    file_tree_create dir+sub+all:i:name
    file_extract_new path+all:i:name dir+sub+all:i:name
  var Str temp := file_temporary
  if (execute "tar -zc -f "+file_os_name:temp+" "+(shunt sub
    page reset_http_answer
    page:http_request send_static_file temp "filter_binary"
    page:http_request send_static_file temp "mime [dq]binary/*[dq]"
  else
    page text "Failed to build the tarball !"
  file_tree_delete dir
  file_delete temp



export '. study_live_changes' catch_live_changes
export '. study_patch' apply_patch
export '. study_reverse' reverse_patch
export '. study_upgrade' upgrade_patch
export patch_pack patch_unpack
export '. patch_tgz_download'
  else
    page text "Failed to build the tarball !"
  file_tree_delete dir
  file_delete temp



export '. study_live_changes' catch_live_changes
export '. study_patch' apply_patch
export '. study_reverse' reverse_patch
export '. study_upgrade' upgrade_patch
export patch_pack patch_unpack
export '. patch_tgz_download'