space Baylys
Just practicing to pass the Turing test.
space
space
space
space
Developer for Hire!
space
addedValues Plugin
space

Home

What's new

Bayly.Root

Cornershop Plugin

Career

edutools Root

Enhancements

Interests

linguist Plugin

Manila

Patches

space

mainresponder

space
space

adminSite

space
space

macros

prefs

urls

website

space
space

addins

space

calendar

controlpanel

discuss

getFileMimeType

members

parseMultipart

respond

subscriptions

space

manilaData

manilamacros

manilaSuite

system

Patches by Group

Papers

Sales

Sign My Guestbook

User(land) Relations.

Contact Address

Search Baylys

urlchains

space
Join Now
Login
space space space

mainResponder.adminSite.website.addIns

Frontier 9 introduced the admin site to replace the controlpanel, however controlpanel addins were not carried forward. This patch (4 changes) allows most controlpanel addins to work within the admin site without change.

on addIns ()
  «addins : 02/09/16, 12:42:35 by DAB
  «support conrolpanel add-ins as extra menu in admin
  local (pta = html.getPageTableAddress ())
  pta^.title = "Add-ins"
  local (bgcolor1 = pta^.trbg1, bgcolor2 = pta^.trbg2, ctitems)
 
  local (htmltext = "", indentlevel = 0)
  on add (s)
  htmltext = htmltext + (string.filledString ("\t", indentlevel) + s + "\r\n");
  on addRow (itemname, itemvalue, linktext="", linkurl="")
  local (widthstring = "")
  if ctitems == 0
  widthstring = " width=\"200\""
  if (ctitems++ % 2) == 0
  bgcolor = bgcolor1
  else
  bgcolor = bgcolor2
  add ("<tr bgcolor=\"" + bgcolor + "\">"); indentlevel++
  add ("<td valign=\"top\" style=\"padding-right: 15px;\"" + widthstring + ">" + itemname + "</td>")
  add ("<td valign=\"top\">" + itemvalue + "</td>")
  if sizeOf (linktext) > 0
  local (link = linktext)
  if sizeOf (linkurl) > 0
  link = html.getlink (linktext, linkurl)
  add ("<td valign=\"top\" align=\"right\">" + link + "  </td>")
  else
  add ("<td></td>")
  add ("</tr>"); indentlevel--
  on addHeader (s)
  add ("<h4>" + s + "</h4>")
  add ("<table cellpadding=\"3\" cellspacing=\"0\" border=\"0\" width=\"100%\">"); indentlevel++
  ctitems = 0 //reset the bgcolor
  on addFooter ()
  add ("</table>"); indentlevel--
 
  local (adrWizard)
  local (command = "view", message = "")
  if defined (pta^.searchArgTable.command)
  command = pta^.searchArgTable.command
  if defined (pta^.postArgs.command)
  command = pta^.postArgs.command
  case command //handle admin commands
  "view"
  if sizeof(config.mainresponder.controlpanel.wizards) > 0
  addHeader ("The following Add-ins are installed on this server:")
  for adrWizard in @config.mainresponder.controlpanel.wizards
  «while typeOf (adrWizard^) == addressType //de-reference, possibly
  «adrWizard = adrWizard^
  addRow (html.getLink (nameOf (adrWizard^), "addIns" + "?command=" + nameOf (adrWizard^)), "")
  on addFooter ()
  add ("</table>"); indentlevel--
  else
  add("No controlpanel addins found (config.mainresponder.controlpanel.wizards)")
  else
  adrWizard = @config.mainresponder.controlpanel.wizards.[command]
  while typeOf (adrWizard^) == addressType //de-reference, possibly
  adrWizard = adrWizard^
  pta^.wizard = adrWizard
 
  bundle //set up a dummy navigator so afterCompile callbacks don't overwrite the real navigator
  local (dummyNavigator)
  new (tableType, @dummyNavigator)
  dummyNavigator.outline = ""
  pta^.navigator = @dummyNavigator
 
  webserver.util.setCookie (pta, "wizard", command)
  local (actionUrl = "http://" + pta^.host + pta^.uri + "?command=" + command)
  local (htext = prefsSuite.browser (flIncludeTitle:false, inputPanel:1, action:actionUrl, separatorColor:gainsboro, separatorTextColor:black))
  htext = string.replaceAll (htext, "popupWindow$", "popupWindow$" + command + ",")
  return (htext)
  return (htmltext)

Relative to Frontier version 9.7b10