Patch title: Release 85 bulk changes
Abstract:
File: /pliant/appli/data_browser.pli
Key:
    Removed line
    Added line
   
abstract
  [This virtual tree page maps all the database data in the 
doc
  [Don't use this as a sample on how to use Pliant database 
  [This page is using the low level interface whereas most o

module "/pliant/protocol/http/server.pli"
module "/pliant/protocol/http/style/default.style"
module "/pliant/util/encoding/html.pli"
abstract
  [This virtual tree page maps all the database data in the 
doc
  [Don't use this as a sample on how to use Pliant database 
  [This page is using the low level interface whereas most o

module "/pliant/protocol/http/server.pli"
module "/pliant/protocol/http/style/default.style"
module "/pliant/util/encoding/html.pli"
module "/pliant/util/encoding/neutral.pli"
module "/pliant/util/encoding/http.pli"
module "/pliant/language/compiler.pli"
module "/pliant/language/stream.pli"
module "/pliant/appli/database.pli"
module "/pliant/appli/database/io.pli"


      var List:Str cols ; var Int count := 0
      master:base:sem rd_request
      var Data_ line := master:interface first master "" "" 
      line:base:sem rd_request
      var Data_ col := line:interface first line "" "" (var 
      while col:adr<>null
        col := line:interface next line "" "" buf2
        cols += col key ; count += 1
      line:base:sem rd_release
      table columns count+1
        cell void
        var Pointer:Str ptr :> cols first
        while exists:ptr
          cell header text:ptr
          ptr :> cols next ptr
        while line:adr<>null
          line:base:sem rd_request
          cell
module "/pliant/language/compiler.pli"
module "/pliant/language/stream.pli"
module "/pliant/appli/database.pli"
module "/pliant/appli/database/io.pli"


      var List:Str cols ; var Int count := 0
      master:base:sem rd_request
      var Data_ line := master:interface first master "" "" 
      line:base:sem rd_request
      var Data_ col := line:interface first line "" "" (var 
      while col:adr<>null
        col := line:interface next line "" "" buf2
        cols += col key ; count += 1
      line:base:sem rd_release
      table columns count+1
        cell void
        var Pointer:Str ptr :> cols first
        while exists:ptr
          cell header text:ptr
          ptr :> cols next ptr
        while line:adr<>null
          line:base:sem rd_request
          cell
            link line:key http_request:url_path+"/"+neutral_
            link line:key http_request:url_path+"/"+http_encode:(html_encode line:key) options "table" no_extension
          var Pointer:Str ptr :> cols first
          while exists:ptr
            cell
              var Data_ col := line:interface search line pt
              var Link:Type t :> col:interface type col
              if t<>Void and (col:interface get col addresso
                text value
            ptr :> cols next ptr
          line:base:sem rd_release
          line := master:interface next master "" "" buf
      master:base:sem rd_release

    else
    
      title "Data browser"
      table columns 2 border 0
        cell [Path:]
        cell (fixed text:path)
        master:base:sem rd_request
        var Link:Type t :> master:interface type master
        if t<>Void
          cell [Type:]
          cell fixed:(text t:name)
        if t<>Void and (master:interface get master addresso
          cell [Value:]
          var Data:Str test :> path pmap Str
          if allowed:"write"
            cell
              input "" test length 60 noeol
              button "Change it"
                goto_backward
          else
            cell fixed:(text value)
        master:base:sem rd_release
    
      if options<>"all" or not allowed:"administrator"
    
        master:base:sem rd_request
        var Data_ sub := master:interface first master "" ""
        if sub:adr<>null
          table columns 4
            cell header
              bold [Key]
            cell header
              bold [Type]
            cell header
              bold [Value]
            cell void
            while sub:adr<>null
              cell
          var Pointer:Str ptr :> cols first
          while exists:ptr
            cell
              var Data_ col := line:interface search line pt
              var Link:Type t :> col:interface type col
              if t<>Void and (col:interface get col addresso
                text value
            ptr :> cols next ptr
          line:base:sem rd_release
          line := master:interface next master "" "" buf
      master:base:sem rd_release

    else
    
      title "Data browser"
      table columns 2 border 0
        cell [Path:]
        cell (fixed text:path)
        master:base:sem rd_request
        var Link:Type t :> master:interface type master
        if t<>Void
          cell [Type:]
          cell fixed:(text t:name)
        if t<>Void and (master:interface get master addresso
          cell [Value:]
          var Data:Str test :> path pmap Str
          if allowed:"write"
            cell
              input "" test length 60 noeol
              button "Change it"
                goto_backward
          else
            cell fixed:(text value)
        master:base:sem rd_release
    
      if options<>"all" or not allowed:"administrator"
    
        master:base:sem rd_request
        var Data_ sub := master:interface first master "" ""
        if sub:adr<>null
          table columns 4
            cell header
              bold [Key]
            cell header
              bold [Type]
            cell header
              bold [Value]
            cell void
            while sub:adr<>null
              cell
                link sub:key http_request:url_path+"/"+neutr
                link sub:key http_request:url_path+"/"+http_encode:(html_encode sub:key) no_extension
              if (addressof sub:base)<>(addressof master:bas
                sub:base:sem rd_request
              var Link:Type t :> sub:interface type sub
              if t<>Void and (sub:interface get sub addresso
                cell fixed:(text t:name)
              else
                cell void
              if t<>Void and (sub:interface get sub addresso
                cell fixed:(text value)
              else
                cell void
              cell
                var Data_ more := sub:interface first sub ""
                if more:adr<>null
                  [...]
              if (addressof sub:base)<>(addressof master:bas
                sub:base:sem rd_release
              sub := master:interface next master "" "" buf
        master:base:sem rd_release


              if (addressof sub:base)<>(addressof master:bas
                sub:base:sem rd_request
              var Link:Type t :> sub:interface type sub
              if t<>Void and (sub:interface get sub addresso
                cell fixed:(text t:name)
              else
                cell void
              if t<>Void and (sub:interface get sub addresso
                cell fixed:(text value)
              else
                cell void
              cell
                var Data_ more := sub:interface first sub ""
                if more:adr<>null
                  [...]
              if (addressof sub:base)<>(addressof master:bas
                sub:base:sem rd_release
              sub := master:interface next master "" "" buf
        master:base:sem rd_release