Patch title: Release 93 bulk changes
Abstract:
File: /fullpliant/export.page
Key:
    Removed line
    Added line
module "export.pli"
module "/pliant/admin/file.pli"
module "/pliant/fullpliant/this_computer.pli"

requires "administrator"


export_init

title "Files sharing services"

table columns 5
  cell header [Plateform]
  cell header [Software]
  cell header [Status]
  cell header [Action]
  cell header [Start on boot]
  cell
    [Unix]
  cell
    [NFS]
  cell
    text (shunt export_nfs_test "running" "stopped")
  cell
    if export_nfs_test
      button "Stop"
        export_nfs_stop
        reload_page
    else
      button "Start"
        export_nfs_start
        reload_page
  cell
    var Str nfs_service := this_computer "debian" "nfs" "service"
    select "" nfs_service
      option "No" "false"
      option "Yes" "true"
  cell
    [Windows]
  cell
    [Samba]
  cell
    text (shunt export_samba_test "running" "stopped")
  cell
    if export_samba_test
      button "Stop"
        export_samba_stop
        reload_page
    else
      button "Start"
        export_samba_start
        reload_page
  cell
    var Str samba_service := this_computer "debian" "samba" "service"
    select "" samba_service
      option "No" "false"
      option "Yes" "true"
  cell
    [Macintosh]
  cell
    [NetAtalk]
  cell
    text (shunt export_netatalk_test "running" "stopped")
  cell
    if export_netatalk_test
      button "Stop"
        export_netatalk_stop
        reload_page
    else
      button "Start"
        export_netatalk_start
        reload_page
  cell
    var Str netatalk_service := this_computer "debian" "netatalk" "service"
    select "" netatalk_service
      option "No" "false"
      option "Yes" "true"

if (file_list "embedded:/export/diskless/" standard+relative+directories):size>0
  button "Remove some diskless computers"
    title "Remove diskess computers"
    var Array:FileInfo files := file_list "embedded:/export/diskless/" standard+relative+directories
    for (var Int i) 0 files:size-1
      var Str name := files:i:name
      fixed (text (name 0 (name search "/" name:len))+"  ")
      button "Remove it"
        file_tree_delete "embedded:/export/diskless/"+name
        if (file_list "embedded:/export/diskless/" standard+relative+directories):size>0
          reload_page
        else
          goto_backward

button "Update"
  this_computer "debian" "nfs" "service" := nfs_service
  this_computer "debian" "samba" "service" := samba_service
  this_computer "debian" "netatalk" "service" := netatalk_service
  goto_backward


table columns 4
table columns 5
  cell header [Area ID]
  cell header [Path]
  cell header [Protocol]
  cell header [Mode]
  cell header [IP filter]
  each e this_computer:env:"export"
    cell (text keyof:e)
    cell (text e:"path")
    cell (text e:"protocol")
    cell (text e:"mode")
    cell (text e:"ip")
input "Area ID: " (var Str aid) length 16
input "Path: " (var Str path) length 40
select "Protocol: " (var Str protocol)
  option "" ""
  option "all" "all"
  option "NFS" "nfs"
  option "Samba" "samba"
  option "Netatalk" "netatalk"
select "Mode: " (var Str mode)
  option "" ""
  option "read only" "ro"
  option "read write" "rw"
input "IP: " (var Str ip) length 40
page button "Create area" noeol
  this_computer "export" aid "path" := path
  this_computer "export" aid "protocol" := protocol
  this_computer "export" aid "mode" := mode
  this_computer "export" aid "ip" := ip
  reload_page
page button "Delete area"
  this_computer:env:"export" delete aid
  reload_page

para
  [A sample 'IP filter' can might be] ; fixed [ 10.0.0.0/255.0.0.0 127.0.0.1] ; eol
  [IP filtering is ignored by Netatalk.]