Patch title: Release 92 bulk changes
Abstract:
File: /protocol/http/default.page
Key:
    Removed line
    Added line
   
module "/pliant/language/context.pli"
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/graphic/image/prototype.pli"
module "/pliant/graphic/image/pixmap.pli"
module "/pliant/graphic/image/resampling.pli"
module "/pliant/graphic/image/sharpening.pli"
module "/pliant/graphic/image/antialiasing.pli"
module "/pliant/graphic/color/gamut.pli"
module "/pliant/graphic/filter/io.pli"
module "/pliant/math/transform.pli"
module "/pliant/graphic/vector/outline.pli"
module "/pliant/graphic/vector/font.pli"
module "/pliant/graphic/misc/float.pli"
module "/pliant/util/encoding/http.pli"
module "/pliant/util/encoding/date.pli"
module "/pliant/protocol/http/style/common.pli"
module "cache.pli"


function draw_text label options style_options aa -> img
  arg Str label options style_options ; arg Int aa ; arg Lin
  if not ((options (options option_position "font" options:l
    face := ""
  var Link:Font f :> font face
  if not exists:f
    img :> null map ImagePixmap
    return
  var CBool shaded := ((options (options option_position "sh
  if not shaded
    tx := 0 ; ty := 0
  img :> new ImagePixmap
module "/pliant/language/context.pli"
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/graphic/image/prototype.pli"
module "/pliant/graphic/image/pixmap.pli"
module "/pliant/graphic/image/resampling.pli"
module "/pliant/graphic/image/sharpening.pli"
module "/pliant/graphic/image/antialiasing.pli"
module "/pliant/graphic/color/gamut.pli"
module "/pliant/graphic/filter/io.pli"
module "/pliant/math/transform.pli"
module "/pliant/graphic/vector/outline.pli"
module "/pliant/graphic/vector/font.pli"
module "/pliant/graphic/misc/float.pli"
module "/pliant/util/encoding/http.pli"
module "/pliant/util/encoding/date.pli"
module "/pliant/protocol/http/style/common.pli"
module "cache.pli"


function draw_text label options style_options aa -> img
  arg Str label options style_options ; arg Int aa ; arg Lin
  if not ((options (options option_position "font" options:l
    face := ""
  var Link:Font f :> font face
  if not exists:f
    img :> null map ImagePixmap
    return
  var CBool shaded := ((options (options option_position "sh
  if not shaded
    tx := 0 ; ty := 0
  img :> new ImagePixmap
  f bbox label null (var Float x0) (var Float y0) (var Float
  f bbox label null undefined (var Float x0) (var Float y0) (var Float x1) (var Float y1) ; x0 *= size ; y0 *= size ; x1 *= size ; y1 *= size
  var ImagePrototype proto := image_prototype x0+(min tx 0) 
  if 1n*proto:size_x*proto:size_y>=pixel_limit
    img :> null map ImagePixmap
    return
  img setup proto ""
  var ColorRGB888 bgcolor := color hexa (options option "bgc
  img clear bgcolor
  var ColorRGB888 color := color hexa (options option "color
  img text label f null undefined (transform 0 0 size size 0
  if shaded 
    shade img (color hexa scolor) blur tx ty bgcolor

function draw_button label options style_options aa -> img
  arg Str label ; arg Str options style_options ; arg Int aa
  if not ((options (options option_position "font" options:l
    face := ""
  var Link:Font f :> font face
  if not exists:f
    img :> null map ImagePixmap
    return
  var ImagePrototype proto := image_prototype x0+(min tx 0) 
  if 1n*proto:size_x*proto:size_y>=pixel_limit
    img :> null map ImagePixmap
    return
  img setup proto ""
  var ColorRGB888 bgcolor := color hexa (options option "bgc
  img clear bgcolor
  var ColorRGB888 color := color hexa (options option "color
  img text label f null undefined (transform 0 0 size size 0
  if shaded 
    shade img (color hexa scolor) blur tx ty bgcolor

function draw_button label options style_options aa -> img
  arg Str label ; arg Str options style_options ; arg Int aa
  if not ((options (options option_position "font" options:l
    face := ""
  var Link:Font f :> font face
  if not exists:f
    img :> null map ImagePixmap
    return
  f bbox label null (var Float x0) (var Float y0) (var Float
  f bbox label null undefined (var Float x0) (var Float y0) (var Float x1) (var Float y1) ; x0 *= size ; y0 *= size ; x1 *= size ; y1 *= size
  var Float extend := options option "extend" Float
  var Float shift := 0
  if extend=defined and x1-x0<extend
    if (options option "center")
      shift := (extend-(x1-x0))/2
    x1 := x0+extend
  var Float dx := x1-x0
  var Float dy := y1-y0
  var Link:ImagePixmap b :> new ImagePixmap
  if (b load icon_file:(options option "button" Str "button.
    img :> null map ImagePixmap
    return
  if not ((options (options option_position "bsize" options:
    size_x := b:x1-b:x0
    size_y := b:y1-b:y0
  b x0 := 0 ; b x1 := size_x
  b y0 := 0 ; b y1 := size_y
  if not ((options (options option_position "margin" options
    left := 0.25*size_x
    top := 0.25*size_y
    right := 0.25*size_x
    bottom := 0.25*size_y
  var Float sx := size_x-left-right
  var Float sy := size_y-top-bottom
  img :> new ImagePixmap
  var ImagePrototype proto := image_prototype 0 0 left+dx+ri
  if 1n*proto:size_x*proto:size_y>=pixel_limit
    img :> null map ImagePixmap
    return
  img setup proto ""
  img clear (color hexa (options option "bgcolor" Str "FFFFF
  var ColorRGB888 bcolor := color hexa (options option "bcol
  for (var Int iy) 0 2
    for (var Int ix) 0 2
      past b (shunt ix=0 0 ix=1 left left+sx) (shunt iy=0 0 
  var ColorRGB888 tcolor := color hexa (options option "tcol
  img text label f null undefined (transform left-x0+shift t


var Str ext := virtual_path
ext := ext (ext search_last "/" -1)+1 ext:len
ext := ext (ext search_last "." ext:len) ext:len
  var Float extend := options option "extend" Float
  var Float shift := 0
  if extend=defined and x1-x0<extend
    if (options option "center")
      shift := (extend-(x1-x0))/2
    x1 := x0+extend
  var Float dx := x1-x0
  var Float dy := y1-y0
  var Link:ImagePixmap b :> new ImagePixmap
  if (b load icon_file:(options option "button" Str "button.
    img :> null map ImagePixmap
    return
  if not ((options (options option_position "bsize" options:
    size_x := b:x1-b:x0
    size_y := b:y1-b:y0
  b x0 := 0 ; b x1 := size_x
  b y0 := 0 ; b y1 := size_y
  if not ((options (options option_position "margin" options
    left := 0.25*size_x
    top := 0.25*size_y
    right := 0.25*size_x
    bottom := 0.25*size_y
  var Float sx := size_x-left-right
  var Float sy := size_y-top-bottom
  img :> new ImagePixmap
  var ImagePrototype proto := image_prototype 0 0 left+dx+ri
  if 1n*proto:size_x*proto:size_y>=pixel_limit
    img :> null map ImagePixmap
    return
  img setup proto ""
  img clear (color hexa (options option "bgcolor" Str "FFFFF
  var ColorRGB888 bcolor := color hexa (options option "bcol
  for (var Int iy) 0 2
    for (var Int ix) 0 2
      past b (shunt ix=0 0 ix=1 left left+sx) (shunt iy=0 0 
  var ColorRGB888 tcolor := color hexa (options option "tcol
  img text label f null undefined (transform left-x0+shift t


var Str ext := virtual_path
ext := ext (ext search_last "/" -1)+1 ext:len
ext := ext (ext search_last "." ext:len) ext:len
if (virtual_path eparse pattern:common_path "icon/" any:(var
if (virtual_path eparse "/login " any:(var Str loguser))
  if user_name=loguser
    reset_http_answer
    http_request:send_authentification_request
  else
    reload_page
eif (virtual_path eparse pattern:common_path "icon/" any:(var Str icon))
  reset_http_answer
  http_request send_static_file "/pliant/protocol/http/icon/
eif virtual_path=common_path+"pliant.js"
  reset_http_answer
  http_request send_header "mime [dq]application/x-javascrip
  javascript page:http_request:browser_model http_request:an
  http_request send_footer
eif (virtual_path parse pattern:common_path "corner " (var I
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_corner corner opt
eif (virtual_path parse pattern:common_path "border " (var I
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_border corner opt
eif (virtual_path parse pattern:common_path "text" (var Str 
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_text label opt ht
eif (virtual_path parse pattern:common_path "button" (var St
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_button label opt 
eif (virtual_path parse pattern:common_path "icon" (var Str 
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_icon icon opt htt
eif (virtual_path parse pattern:common_path "image/" any:(va
  var ExtendedStatus status := image_cache_send id
  if status=failure
    console "failed to send image: " status:message eol
eif virtual_path=common_path+"misc/signature.html"
  [The form you submitted seems to be corrupted.]
eif virtual_path=common_path+"misc/obsolete.html"
  [The button you selected vanished on the server, probably 
eif virtual_path=common_path+"misc/not_allowed.html"
  [You currently don't have read right on the requested URL.
eif (ext=".pli" or ext=".remote" or ext=".page" or ext=".sty
  reset_http_answer
  http_request send_header "mime [dq]text/html[dq] static"
  source_listing virtual_path http_request:server http_reque
  http_request send_footer
else
  reset_http_answer

  reset_http_answer
  http_request send_static_file "/pliant/protocol/http/icon/
eif virtual_path=common_path+"pliant.js"
  reset_http_answer
  http_request send_header "mime [dq]application/x-javascrip
  javascript page:http_request:browser_model http_request:an
  http_request send_footer
eif (virtual_path parse pattern:common_path "corner " (var I
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_corner corner opt
eif (virtual_path parse pattern:common_path "border " (var I
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_border corner opt
eif (virtual_path parse pattern:common_path "text" (var Str 
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_text label opt ht
eif (virtual_path parse pattern:common_path "button" (var St
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_button label opt 
eif (virtual_path parse pattern:common_path "icon" (var Str 
  if bitmap_cache_redraw:virtual_path
    bitmap_cache_record virtual_path (draw_icon icon opt htt
eif (virtual_path parse pattern:common_path "image/" any:(va
  var ExtendedStatus status := image_cache_send id
  if status=failure
    console "failed to send image: " status:message eol
eif virtual_path=common_path+"misc/signature.html"
  [The form you submitted seems to be corrupted.]
eif virtual_path=common_path+"misc/obsolete.html"
  [The button you selected vanished on the server, probably 
eif virtual_path=common_path+"misc/not_allowed.html"
  [You currently don't have read right on the requested URL.
eif (ext=".pli" or ext=".remote" or ext=".page" or ext=".sty
  reset_http_answer
  http_request send_header "mime [dq]text/html[dq] static"
  source_listing virtual_path http_request:server http_reque
  http_request send_footer
else
  reset_http_answer