ChangeLog

2006-03-20 11:29  will

	* mail-defs.php: PHP uses an mail transfer agent to send email and
	  in the unix setup this is invariably sendmail -t.  This interface
	  does not require that line-endings are correct (\r\n after each
	  header) as it always expects \n and this is all that can be set
	  when sending mail directly from the command-line.  Previous
	  setups used exim to provide sendmail which seemed to handle \r\n
	  line endings but postix appears to have more of an issue and
	  converts \r to \n.  Replaced CRLF with EOL.

2006-03-06 11:19  paul

	* holiday-defs.php: Simple class to contain holidays - useful for
	  example profiling application behaviour according to whether the
	  current day is a holiday or not (as used in the Newsquest
	  monitor). You can set up holidays by date, or by 'relative date'
	  eg '4th Monday in June'.

2006-03-06 09:52  paul

	* datetime-defs.php: Cosmetic - removed whitespace.

2006-03-01 17:42  paul

	* mail-defs.php: Make the generate_content() method check for empty
	  Return-Path and Errors-To headers and if these are undefined,
	  then set them to the From: header content. This defaults the
	  email such that bounces get back to the right place.

2006-02-21 08:45  paul

	* file-defs.php: Added quickfile_read class - a nice fast way of
	  reading in a whole file in one hit.

2006-02-20 12:04  paul

	* mail-defs.php: Axyl 2.1.10 commit.

2006-01-04 11:47  paul

	* catalog-defs.php, configuration-defs.php, db-odbc.php,
	  forum-defs.php, layout-defs.php, lucene-defs.php, menu-defs.php,
	  metadata-defs.php, microsite-defs.php, monitor-defs.php,
	  od-schema-defs.php, pg-schema-defs.php, response-defs.php,
	  ss-schema-defs.php, story-defs.php, user-defs.php, utils.php,
	  webpage-defs.php, wml-defs.php, xmenu-defs.php, block-defs.php,
	  html-defs.php, my-schema-defs.php, or-schema-defs.php,
	  plugin-defs.php: A bunch of small changes and fixes picked up
	  through the new PhpEclipse syntax checker plugin - mainly fixes
	  to undefined vars.

2005-12-21 10:04  paul

	* maintainer-defs.php: Small enhancement to the 'set_formname()'
	  method. Now takes a second argument '$type' either "form"
	  (default) or "subform", so you can run a maintainer inside an
	  existing form.

2005-12-08 09:11  paul

	* query-defs.php: Added get_current_sequencevalue() global
	  function. Just a handy utility.

2005-12-06 11:56  paul

	* maintainer-defs.php: Added better sorting for the listbox for a
	  linked_table relationship, instead of it defaulting to an alpha
	  sort on the label field all the time.

2005-12-05 20:17  paul

	* schema-defs.php: Added extra method for a table
	  'get_orderfield()' which looks for a likely candidate for field
	  ordering, by looking at the fieldnames in particular for those
	  containing 'order' in them. Falls back to a labelfield if none
	  found.

2005-12-05 20:16  paul

	* maintainer-defs.php: Added extra method 'set_orderfields()' which
	  allows you to specify a field (or fields) which determine the
	  ordering of records in a particular table being maintained. This
	  results in the dropdown selectors showing records in the proper
	  order.

2005-12-02 08:01  paul

	* mail-defs.php: Added the -f (envelope set) parameter to the
	  emailthem() function. This should stop bounces going to the
	  default (usually root) user, instead of to the 'from' address.

2005-12-01 14:08  paul

	* query-defs.php: Added a global utility function
	  'select_database()' which allows you to change current DB without
	  having to mess around declaring $RESPONSE as a global first. Ie.
	  a convenience func.

2005-11-22 17:00  paul

	* block-editor-defs.php: Increased depth of black editor edit
	  window 400px --> 500px.

2005-11-21 19:59  paul

	* default-application.xml: Set a default cookiename - not needed
	  but sensible.

2005-11-21 19:44  paul

	* default-application.xml: Default cookie lifetime now set to -1
	  (until browser closed).

2005-11-21 19:43  paul

	* session-defs.php: Catch assignment of nullstring as cookiename.
	  This is a bad idea so we re-define it based on the application
	  prefix in that case.

2005-11-21 19:32  paul

	* control-panel.php: Fixed password expiry default to be 180,
	  changed tooltip.

2005-11-21 18:42  paul

	* default-application.xml: Must have non-zero password expiry days.

2005-11-18 16:26  paul

	* img/: _cpfootfill.gif, _cpfootr.gif, _cptab0.gif, _cptab1.gif,
	  _cptab2.gif, _cptab3.gif, _cptabtip.gif: Control panel tab
	  graphics.

2005-11-15 14:49  paul

	* monitor-defs.php: Initialise monitor messages.

2005-11-15 09:37  paul

	* monitor-defs.php: Fix to process monitor - set COND_OK when
	  process found running.

2005-11-15 07:58  paul

	* default-application.xml: Cosmetic only.

2005-11-14 16:03  paul

	* user-defs.php: Implemented the remote authentication changes. We
	  can now specify that the user is authenticated extrenally - at
	  present this means from a second database already defined in the
	  Control Panel. We also handle three different encryptions: none,
	  md5 and md5salted, as well as custom user-defined methods (via a
	  simple hook, and defined in application.php).

2005-11-14 15:57  paul

	* monitor-defs.php: Changed this to be Nagios-compliant. We have
	  dropped the COND_ERROR condition and now only have COND_OK,
	  COND_WARNING, and COND_CRITICAL. Also changed the behaviour so
	  that critical errors don't exit/die. Instead we have a new method
	  'set_stop_on_condition()' which allows you to set a condition on
	  which checking stops. The monitor also optionally emits a
	  Nagios-compliant status string on completion.

2005-11-14 15:53  paul

	* default-application.xml: Added the remote authentication
	  settings. Also changed passwd_encryption from a bool to a string,
	  since we can now have several different builtin encryption
	  methods, as well as a hook for a custom user-defined one.

2005-11-14 15:51  paul

	* control-panel.php: Made the Control Panel into a tabbed interface
	  so we can separate the different areas into multiple tabs nicely.
	  Also added remote user authentication handling.

2005-11-14 15:48  paul

	* application-defs.php: Enhanced to fix up ordering of multiple
	  parameters within a setting. This is important since they are
	  parameters passed to the agent which handles the setting.

2005-10-31 17:37  paul

	* session-defs.php: The identify_user() method now calls the user()
	  constructor to make sure user data is properly
	  created/initialised.

2005-10-31 17:35  paul

	* response-defs.php: Largely cosmetic change to some error
	  messaging.

2005-10-31 17:33  paul

	* query-defs.php: Fixed bug where transactions with deferred
	  constraints were not being failed properly due to the bool return
	  value of the commit() not being passed back.

2005-10-17 13:48  paul

	* block-defs.php: Fixed recursive media object regex replace bug.
	  The pattern was matching an Axyl catalog <img ..> tag, replacing
	  it with a 'real' <img>, and then the loop was going around again
	  and re-matching the replaced <img..> tag plus intervening
	  content, then ending the match at a subsequent Axyl catalog
	  <img..> tag. Only occurred when you have more than one Axyl media
	  placeholder in the content.

2005-10-17 13:46  paul

	* layout-defs.php: Removed redundant microtimer object create -
	  cosmetic only.

2005-10-14 20:04  paul

	* response-defs.php: Fixed a potential (not always seen) problem
	  with failed login re-directs where the re-direct was not
	  terminating and presented a page instead of switching the browser
	  location.  - Added attempted username to log message.

2005-10-14 19:53  paul

	* response-defs.php: Fixed a potential (not always seen) problem
	  with failed login re-directs where the re-direct was not
	  terminating and presented a page instead of switching the browser
	  location.  - slight rework of log message.

2005-10-14 19:44  paul

	* response-defs.php: Fixed a potential (not always seen) problem
	  with failed login re-directs where the re-direct was not
	  terminating and presented a page instead of switching the browser
	  location.

2005-10-13 10:11  paul

	* session-defs.php: Added 'chkRememberMe' functionality.  When	a
	  user/passwd login is successfully authenticated, we check for
	  submission of $chkRememberMe, and if so then we force the session
	  lifetime to be 'forever'. Allows creation of a checkbox of that
	  name on the login UI for users to indicate they want lifetime
	  sessions.

2005-10-11 15:25  paul

	* webpage-defs.php: Better response logging message format,
	  including userid.

2005-10-11 10:37  paul

	* webpage-defs.php: If a response timer has been enabled, then
	  report the execution time to syslog when the page content has
	  been sent to the user agent.

2005-10-11 10:36  paul

	* response-defs.php: Added new 'enable_response_timer()' method.
	  This creates a microtimer and sets it going.	This method is
	  called by the piece which processes application.xml. The response
	  timer is then accessed at the end of the 'send_to_browser()'
	  method in webpage-defs.php where it logs the total execution time
	  to syslog.

2005-10-11 10:26  paul

	* application-defs.php: Removed superfluous debugging stmts.

2005-10-11 10:25  paul

	* control-panel.php, default-application.xml: Added new 'enable
	  response timer' parameter (boolean).

2005-10-10 14:34  paul

	* response-defs.php: Added dead-end processing in initial setup of
	  the application to check for old versions of the database
	  parameter set in the 'application.xml' being used. Returns with
	  explicit error telling them all about it and what to do.

2005-10-09 10:00  paul

	* layout-defs.php, layout-editor-defs.php: Fixed bug where
	  copy/paste of layout wasn't working due to stale version of the
	  layout reference in the layouteditor object. Now have a refresh
	  method to correct this.

2005-10-09 09:57  paul

	* control-panel.php: Database encoding/datestyle: Now allow setting
	  of DB character encoding and output datestyle format on a
	  per-connection basis.  This is now set up in the control-panel
	  (application.xml) per database definition in there.  -- Added UI
	  support for the new <parameter> tags for encoding and datestyle
	  per database.

2005-10-09 09:57  paul

	* database-defs.php: Database encoding/datestyle: Now allow setting
	  of DB character encoding and output datestyle format on a
	  per-connection basis.  This is now set up in the control-panel
	  (application.xml) per database definition in there.  -- Added the
	  new $enc, and $datestyle parms to the datasources
	  'add_database()' method.    Also added these to the 'database'
	  constructor, where the values are stored for use by connections.

2005-10-09 09:54  paul

	* db-mssql-server.php, db-mysql.php, db-odbc.php, db-oracle.php,
	  db-postgres.php: Database encoding/datestyle: Now allow setting
	  of DB character encoding and output datestyle format on a
	  per-connection basis.  This is now set up in the control-panel
	  (application.xml) per database definition in there.  -- Added the
	  new $enc, and $datestyle parms to the constructor. Currently the
	  postgres   module is the only one which uses these, issuing the
	  appropriate commands to set the   session char encoding and
	  datestyle, upon db connection.

2005-10-09 09:51  paul

	* default-application.xml: Database encoding/datestyle: Now allow
	  setting of DB character encoding and output datestyle format on a
	  per-connection basis.  This is now set up in the control-panel
	  (application.xml) per database definition in there.  -- Added the
	  new <parameter> tags for encoding and datestyle per database.

2005-10-09 09:50  paul

	* response-defs.php: Database encoding/datestyle: Now allow setting
	  of DB character encoding and output datestyle format on a
	  per-connection basis.  This is now set up in the control-panel
	  (application.xml) per database definition in there.  -- Added the
	  new $enc, and $datestyle parms to the 'add_database()' method
	  call.

2005-10-09 09:49  paul

	* session-defs.php: Database encoding/datestyle: Now allow setting
	  of DB character encoding and output datestyle format on a
	  per-connection basis.  This is now set up in the control-panel
	  (application.xml) per database definition in there.  -- Removed
	  method set_sessionparms as this is now superceded by the above.

2005-10-09 09:46  paul

	* user-defs.php: Removed some debug stmts. Cosmetics.

2005-10-09 09:40  paul

	* application-defs.php: Added functionality to auto-update existing
	  application.xml files for changed <parameter> tags within
	  <setting> tags.

2005-09-28 14:29  paul

	* mail-defs.php: Fix for bounces to return to the correct place.

2005-08-25 10:03  paul

	* forum-defs.php: Added 'private' flag maint checkbox.

2005-05-26 11:23  mark

	* forum-defs.php: hmmm... i thought i already commited this. but it
	  looks like i haven't.

2005-05-14 15:37  paul

	* maintainer-defs.php: Changed the debugbr's to emit to DBG_DEBUG
	  level.

2005-05-14 12:54  paul

	* maintainer-defs.php: Do not auto-insert the password confirmation
	  field, if the display disposition of the password field itself is
	  not 'normal'.

2005-05-14 09:43  paul

	* pg-schema-defs.php: In constructor for a new table field, strip
	  out the '::<type>' typecast component from the default value.

2005-05-01 14:45  paul

	* session-defs.php: Axyl install/upgrade enhancements. We now run a
	  script 'update-axyl-databases.sh' from Debian postinst, which
	  checks versions and looks for an applicable upgrade patch. Also
	  brought the axyl-security-update.php script up to date with
	  latest schema changes.

2005-04-27 09:02  paul

	* control-panel.php, default-application.xml, maintainer-defs.php,
	  response-defs.php, session-defs.php, user-defs.php: Axyl User
	  Login Security Update These changes provide a number of
	  configuration options in the Control Panel and the User Setup
	  screen which bring increased security to user accounts.

	  New Control Panel options: - Password expiry days - Allowed
	  password failures - Password history cycle - Minimum password
	  length - Level of char uniqueness - Require mix of alpha &
	  numerics - Apply stop-words to passwords - Login delay after
	  failure

	  New User properties - Password never expires flag - Account
	  locked flag - Password history record - Password failure count

2005-04-23 15:29  paul

	* control-panel.php, default-application.xml, response-defs.php:
	  Added a new Axyl Control panel option in the Session section
	  'Website HTTP hostname'.  Before, this was always forced to the
	  value of the Php global $HTTP_HOST, which is the hostname of the
	  webserver running the Axyl application. This new setting allows
	  you to explicitly set the hostname to something different.

2005-04-23 13:14  paul

	* control-panel.php, default-application.xml, session-defs.php:
	  Added new Control Panel option under the Session heading - a
	  checkbox labelled "Track user login sessions". When checked (the
	  default) Axyl tracks user login counts and updates the
	  login_count field. This new option allows this to be disabled, if
	  required.

2005-04-23 13:08  paul

	* datetime-defs.php: No functional changes - reinforcing some
	  existing code.

2005-04-23 11:21  paul

	* html-defs.php, menu-defs.php: Cosmetic change to string concats
	  to shut Eclipse syntax checking up.

2005-04-23 11:17  paul

	* my-schema-defs.php, od-schema-defs.php, or-schema-defs.php,
	  pg-schema-defs.php, schema-defs.php, ss-schema-defs.php: Small
	  organisational changes to the schema modules. This only affects
	  dbdiff.php, but changes are very minor. No changes to schema
	  functions have been done here.  1. Added new property
	  'database_server' a string containing, for example' 'Postgresql'
	  or 'Oracle' depending on the server the schema is on.  2. Created
	  some placeholder schema-defs modules for Oracle, MySQL, ODBC and
	  SQL Server. Thes largely just return the 'vanilla' output as per
	  the parent schema classes. They will be filled out per database
	  variant as and when someone gets the time to do it. These modules
	  are refeenced by dbdiff.php via 'include' statements.

2005-04-19 10:02  paul

	* treemenu-defs.php: Altered highlighting such that it highlights
	  item which was last clicked AND has a non-nullstring target.

2005-04-18 14:22  paul

	* treemenu-defs.php: Altered highlighting such that it highlights
	  item which was last clicked. Makes for a more intuitive 'ride'
	  for the user of the menu.

2005-04-13 19:26  paul

	* clock-defs.php: Moved into package 'datetime'.

2005-04-13 18:48  paul

	* pg-schema-defs.php, schema-defs.php: Cosmetic. Renamed some vars
	  from 'default' to 'defaultval' to shut Eclipse syntax checker up.

2005-04-08 16:51  nigel

	* form-defs.php: Added another missing close </option> tag, and an
	  ="selected"

2005-04-08 16:47  nigel

	* form-defs.php: Added </option> tag in form_combofield.

2005-04-07 17:12  nigel

	* db-mssql-server.php, db-mysql.php, db-odbc.php, db-oracle.php:
	  Corrected parse errors in db-* files other than the postgres one
	  - default parameters for functions' values are specified by =,
	  not ==

2005-04-05 11:31  paul

	* clock-defs.php: Provides a new class 'digital_clock' which allows
	  display of an auto-updating time/date display in the webpage
	  which can be styled and optioned as required.

2005-04-05 11:28  paul

	* microsite-defs.php: Fixed the microsite removal section so that
	  it actually rm's the directory trees properly.

2005-03-19 09:15  paul

	* database-defs.php: Corrected non-emission of SQL in log message,
	  when execution threshold is exceeded.

2005-03-17 19:49  paul

	* database-defs.php: Fixed buglet where timer object was not being
	  referenced properly for query time thresholds.

2005-03-07 14:22  paul

	* monitor-defs.php: New filesopen monitor checking. Altering the
	  way exec monitoring works.

2005-03-06 14:00  paul

	* story-defs.php: Fixes to make stories parition properly across
	  microsites.

2005-03-06 13:59  paul

	* response-defs.php: Minor - some slightly different debug
	  messages.

2005-03-06 13:59  paul

	* microsite-defs.php: Main changes: 1. Re-arranged editing form 2.
	  Added removal of stories and media to the delete() method
	  (includes unindex from Lucene now). Also we now 'un-publish' the
	  physical files on delete (rm -f).  3. Several other minor fixes
	  and additions.

2005-03-06 13:55  paul

	* htmlarea-defs.php: Added the 'htmlmode' tool to the basic toolbar
	  (raw HTML editing mode).

2005-03-06 13:54  paul

	* catalog-defs.php: 1. Finish partitioning of microsite media.	2.
	  Prevent delete of 'core' media images from core img dir.  3.
	  Changed the Insitu() assignment of the image name, to be the
	  'cat_name' content with all spaces removed. Also assign the
	  'tooltip' to be 'cat_desc' if present, else the 'cat_name'.

2005-03-03 12:28  paul

	* microsite-defs.php: 1. Fixed problems with repeated clicking of
	  the "default" buttons - we now skip duplicate templates, and
	  images.  2. Added default pages option. Adds a default set of
	  webpages, including some 'core' pages like login, media catalog
	  and story admin.

2005-03-03 12:19  paul

	* story-defs.php: Partitioning of stories for microsites. If on a
	  microsite, create, and display only stories for that site.
	  Otherwise create and view stories for the core Axyl site as
	  normal.

2005-03-02 14:21  mark

	* treemenu-defs.php: removed the setting of the widgets hspace
	  which was causing the menu items to be aligned incorrectly under
	  IE.

	  the widgets hspace seemed to have no effect on firefox/mozilla,
	  which also made the decision to remove it easier.

2005-02-27 17:42  paul

	* microsite-defs.php: Only show the relevant buttons depending on
	  whether a microsite publish/remove request is pending.

2005-02-25 15:03  paul

	* microsite-defs.php: WIP - default pages.

2005-02-25 13:24  paul

	* microsite-defs.php: Fixed docroot undefined problem in page
	  publish.

2005-02-25 12:41  paul

	* control-panel.php: Corrected wording.

2005-02-25 09:54  paul

	* microsite-defs.php: Added microsite media upload form elements &
	  handling.

2005-02-24 08:47  paul

	* catalog-defs.php: Corrected use of tempnam() function to include
	  parameters for temp dir, and prefix.

2005-02-22 20:15  paul

	* html-defs.php: Tidied up a protocol test on a URL.

2005-02-22 13:27  paul

	* microsite-defs.php: The first final version of this enhancement.
	  This version is now 99% in terms of functionality.

2005-02-22 13:26  paul

	* response-defs.php: Removed all the ax_control record
	  inserts/lookups. We no longer need this due to the new Axyl CSV
	  database.

2005-02-22 13:25  paul

	* search-defs.php: Made a debug stmt use DBG_DEBUG class.

2005-02-22 13:24  paul

	* plugin-defs.php: Trim file plugin content.

2005-02-22 13:24  paul

	* layout-defs.php: 1. Made layout titles just 'Layout' instead of
	  (sometimes long) layout identifiers.	2. Corrected oversight -
	  when the layout was blown away with "New" button, block were not
	  being un-indexed from Lucene.

2005-02-22 13:23  paul

	* block-defs.php: 1. Made block titles just 'Block' instead of
	  (sometimes long) block identifiers.  2. Corrected oversight -
	  when Wysiwyg block were being saved, no Lucene indexing was being
	  done.

2005-02-18 14:05  paul

	* default-application.xml, response-defs.php: Changed the 'updated'
	  check to use a file sitting in the ./var directory rather than
	  having to write the application.xml contents.

2005-02-18 14:04  paul

	* application-defs.php: Added some bullet-proofing on application
	  save() method - destination file has to be writeable.

2005-02-18 13:37  paul

	* treemenu-defs.php: Try to prevent treemenu query-string additions
	  creeping onto remote URLs.

2005-02-16 09:41  paul

	* hvmenu-defs.php, menu-defs.php, menumaint-defs.php,
	  treemenu-defs.php, xmenu-defs.php: Added menuing support new
	  field 'target' (text, null) to the ax_menuoption table. Allows
	  for menu-renderers to produce clickable links which target
	  different frames by name (eg. use '_new' for a new window).
	  NOTEL Xmenu and HVmenu don't currently support this feature.
	  Treemenu does.

2005-02-16 08:34  paul

	* microsite-defs.php: Added support for caching microsite pages.
	  This is done in the UI by providing a new field 'Cache minutes'
	  (actually stored as seconds on the database) which can be an
	  integer zero or above. If non-zero the statement
	  $RESPONSE->cache(nn); is written into the relevant microsite
	  page, when published.

2005-02-16 08:31  paul

	* response-defs.php: Created the new $RESPONSE->cachecontrol
	  property. This sets the property if a $cachecontrol var is found
	  in the global scope.

2005-02-16 08:30  paul

	* treemenu-defs.php: Ensure menu is rebuilt if cachecontrol =
	  'refresh', using the newly created property of the webpage the
	  menu is being inserted into.

2005-02-16 08:29  paul

	* xmenu-defs.php: Force rebuild if the menu is refreshed.

2005-02-16 08:28  paul

	* webpage-defs.php: Changed the cache() method to use the new
	  $RESPONSE->cachecontrol property, rather than the global of the
	  same name. Tidier.

2005-02-16 08:27  paul

	* utils.php: Added function 'protocol_prefixed()'. This takes a
	  single parameter - a URL, and returns true if it is prefixed with
	  some 'xxx://' protocol string.

2005-02-16 08:26  paul

	* menumaint-defs.php: Added new menuoption definition field to
	  enter ad-hoc URL's into. This allows menu options for
	  remote/offsite pages to be created. Thanks to Nigel (and later on
	  Mark) for suggesting this one.

2005-02-16 08:25  paul

	* menu-defs.php: Altered get_if_modified() method to always do a
	  get() if the $RESPONSE->cachecontrol is set to 'refresh'.

2005-02-15 08:35  paul

	* application-defs.php: Added new method 'newparameter()' which
	  adds a new parameter to a config setting.

2005-02-15 08:33  paul

	* microsite-defs.php: Microsites Changes Reworked the microsite
	  page generator section to be more generic, using the plugin
	  content as defined in all the plugins for the given page on the
	  DB. These plugins all have a plugin_content, which points to a
	  'generator' (how to generate that plugin's content). For example,
	  a generator might be 'main_menu()' with generator_type of 'func'.
	  This would cause the content to be generated by calling function
	  'main_menu()'.

2005-02-15 08:30  paul

	* plugin-defs.php: Microsites Changes Added new plugin class
	  'cm_plugin_content'. It takes a $layoutid as argument and simply
	  renders an HTML comment tag beginning "<!--LAYOUTID=" and
	  containing this $layoutid.

2005-02-15 08:27  paul

	* htmlarea-defs.php: Compacted the toolbars by re-arranging the
	  tools for the 'medium', and 'full' ready-made toolbar formats.

2005-02-15 07:35  mark

	* treemenu-defs.php: reverted back to original treemenu-defs...
	  not quite as "working" as first thought...

	  starting over.

2005-02-14 15:34  mark

	* treemenu-defs.php: removed the debugging comments.

2005-02-14 14:45  mark

	* treemenu-defs.php: corrected some... bugs... within the
	  treemenu-defs menuoption rendering code, lines 406 - 435.
	  details listed below...

	  1 - extra padding going in basically, even though the expand or
	  collapse image has a width of 0, it still has a minimum width.
	  and it's a visible width.  so now, if the expand and collapse
	  images have width 0, and it's checked by $widget->width > 0, then
	  dont insert the widget into the menu option display. thus,
	  removing that wierd indenting that was going on.  well, what was
	  happening was it was displaying an image with 0 width and height,
	  and wrapping an anchor tag around it, then, displaying the
	  padding image.  so, <a><img width=0></a><img name=_pad>... now,
	  if the expand/collapse images are of width 0, it does this: <img
	  name=_pad>...

	  2 - highlighting the selected option if u selected a menu option
	  that was a top level menu option, that was a submenu AND webpage,
	  it highlighting the selection properly.  now it does. i made it a
	  style of the menuop_link anchor object instead. works well.

2005-02-13 20:44  paul

	* microsite-defs.php: Microsite changes: New class 'microsite' to
	  support microsites definition and maintenance. This class is
	  principally concerned with the creation, and maintenance of
	  microsite definitions, and also the publishing of those
	  definitions to the web.

2005-02-13 20:42  paul

	* response-defs.php: Microsite changes: 1. Added new
	  'microsites_mode' property, which is set from the application.xml
	  setting. Define values MICROSITES_ENABLED and
	  MICROSITES_DISABLED.	2. Added new property 'microsite_detected'
	  which contains the name of the detected microsite, if any.
	  Otherwise undefined, or nullstring.

2005-02-13 20:40  paul

	* webpage-defs.php: Microsite changes: 1. Added new method of
	  webpage plugin_replace(). Operates as plugin(), except content is
	  NOT appended to existing content, and instead totally replaces
	  anything that is already there.  2. Re-factored the
	  stylesheet-setting method, and abstracted the piece which
	  searches for the stylesheet files into new method
	  get_stylesheets() which returns an array of the three paths.	3.
	  Re-factored the template-getting method, so that it falls back to
	  'main' if the proposed template name is not found.

2005-02-13 20:34  paul

	* story-defs.php: Added javascript validation and back-end
	  defaulting to make sure there is always a story_date submitted
	  with a story.

2005-02-13 20:33  paul

	* plugin-defs.php: Cosmetic only.

2005-02-13 20:32  paul

	* menumaint-defs.php: Microsites changes: On menuoption delete,
	  make sure that any microsite page referencing the option is
	  NULLed.

2005-02-13 20:31  paul

	* lucene-defs.php: Microsites changes: Added paritioning for
	  indexing and querying by implementing a field 'site' behind the
	  scenes for microsites. This will take a value which is the
	  microsite name, and is both indexed and stored.

2005-02-13 20:30  paul

	* html-defs.php: 1. Made set_linover_text javascript coexit with
	  previous usage of the onmouseover event with SCRIPT_PREFIX mode.
	  2. Stop width and height attributes being rendered if nullstring.

2005-02-13 20:29  paul

	* form-defs.php: Changed the preview javascript event definition to
	  be SCRIPT_PREFIX. Allows store/updating javascript used by
	  recmaintainers to operate correctly.

2005-02-13 20:27  paul

	* file-defs.php: Cosmetic change to regex match stmt.

2005-02-13 20:26  paul

	* default-application.xml: Microsites changes: 1. Added new
	  'set_microsites_mode' config item.  2. Added 'control/updated'
	  boolean.

2005-02-13 20:25  paul

	* control-panel.php: Microsites changes: 1. Added new configuration
	  item (checkbox) Microsites Enabled. Sets the
	  $RESPONSE->microsites_mode property.

2005-02-13 20:23  paul

	* catalog-defs.php: Big changes to the catalogitem class.  1.
	  Abstracted the part of the upload() method which is responsible
	  for moving the media to the destination & creating the DB record
	  to a new method create().  2. New method
	  get_catalogitem_by_filepath() for the catalog class. Finds an
	  item in the catalog with given filepath (URL).  3. Corrected all
	  of the media URL building, to correctly use the 'filepath'.
	  Previously everything was being 'nailed' to $CATALOGDIR, when the
	  media might in fact not be stored in that directory (in the
	  general case).

2005-02-07 19:19  paul

	* img/: _logoff.gif, _logon.gif: New utility library images:
	  logon/logoff 77x17px gifs.

2005-02-06 12:16  paul

	* calendar-defs.php: Fixed the way this calendar class interprets
	  all the date-setting options. Also added copious system
	  debugging, so we can see what it's doing. Should now work as
	  advertised!

2005-02-06 10:02  paul

	* block-defs.php: Changes to the block indexing, such that indexed
	  content now includes the 'block_desc' field, and the
	  'blocklet_desc' fields. NB: If the latter is still set to the
	  default value of '(enter a blocklet description)' it is not
	  indexed.

2005-02-04 18:43  paul

	* maintainer-defs.php: Altered refresh button width to be new val
	  of 77px.

2005-02-04 18:40  paul

	* img/_refresh.gif: Made button wider to fit text.

2005-02-04 16:38  paul

	* story-defs.php: Fixed bug in display of story byte-size.

2005-02-04 16:27  paul

	* story-defs.php: Added missing call to index() for Lucene indexing
	  a saved document.

2005-02-03 12:35  paul

	* html-defs.php: Cosmetic. HTML generation of tables - removed
	  whitespace prefixes on <tr> and </tr>.

2005-02-03 12:34  paul

	* story-defs.php: 1. Turfed out unreliable strtotime() calls for
	  date processing, and using displaydate_to_timestamp() instead on
	  POST.  2. Rationalised the date formats (display and input) to
	  dd/mm/yyyy hh:mm.

2005-02-03 10:57  paul

	* story-defs.php: Fixed bug I created earlier with miscall of
	  timestamp_to_datetime(), Thanks to Nigel for this fix.

2005-02-03 10:41  paul

	* layout-editor-defs.php: Cosmetic - changed infrmational blurb for
	  privilege setting to match reality.

2005-02-03 10:18  paul

	* block-defs.php, block-editor-defs.php, layout-defs.php,
	  layout-editor-defs.php: Implemented per-layout editing
	  privileges.  There is a new privileges-setting area in the Layout
	  Editor. This allows override of the default (hard-wired)
	  privileges whereby editing/publishing is allowed for members of
	  group "Editor", and general content authoring by members of group
	  "Author". You can now override these privileges on a per-layout
	  basis and assign them to any other Axyl-defined groups.

2005-02-03 10:14  paul

	* maintainer-defs.php: Added new method "set_formname()". Sets the
	  name of the form that the maintainer will be rendered in.

2005-02-03 10:12  paul

	* utils.php: 1. The strip_http_prefix() function has been changed
	  to strip any protocol prefix from a URL, not just "http://".	2.
	  The add_http_prefix() function now takes an extra (optional)
	  argument $ssl true or false (defaults to false). If true, the
	  prefix added is "https://", else "http://".

2005-02-03 10:08  paul

	* user-defs.php: All changes backward-compatible.  1. Strengthened
	  comments and code on ismemberof_group() method. No change to
	  functionality.  2. Enhanced ismemberof_group_in() method so it
	  can take arrays of groupnames, as well as a comma-delimited
	  string list. Otherwise same functionality.  3. Changed some
	  "while (list" constructs to "foreach(" constructs in group list
	  methods. No change to functionality.

2005-02-03 10:04  paul

	* story-defs.php: Changed the comment for story date from "eg: Sep
	  3rd 2004" to "eg: dd/mm/yyyy". This date format should work
	  Nigel.

2005-02-03 10:03  paul

	* html-defs.php: 1. Removed extraneous defines of script-adding
	  modes. These are defined in util-defs.php 2. Updated parameter
	  type of $agentids to 'mixed' (cosmetic only).  3. In the img
	  class, we now acquire the image type and store this in a class
	  var.

2005-02-03 10:00  paul

	* form-defs.php: Added form_imagecombo class. Shows dropdown select
	  of images, and previews these just below in a thumbnail.

2005-01-31 16:30  paul

	* calendar-defs.php: Deal with months navigation resulting in an
	  illegal date > days-in-month.

2005-01-31 16:20  paul

	* calendar-defs.php: Initialising the d/m/y on instantiation.
	  Trying to correct problem with un-set day and year when we use
	  Prev/Next Month buttons.

2005-01-28 15:49  paul

	* calendar-defs.php: Re-instated the "Today" button clickability,
	  when "days_clickable" is set to false. Actually this proves
	  somewhat useful, since it gets you back to the today's month.

2005-01-28 12:12  paul

	* file-defs.php: Change mkdir to mkpath in outputfile class. For
	  when specified target directory does not exist, and more than one
	  segment of the path requires creation.

2005-01-27 17:19  hester

	* calendar-defs.php, datetime-defs.php: Changed >= 12 to > 12 for
	  month sanity checking so December is now allowed.

2005-01-27 16:40  paul

	* calendar-defs.php: Also stop the Reset button being clickable if
	  days clickability is false.

2005-01-27 15:43  paul

	* calendar-defs.php: Added new method 'render_days_clickable()'
	  which allows us to render a calendar where you can't click days
	  to change the date within the month.

2005-01-27 09:23  paul

	* js/recmaint.js: Enhanced to recognize the string 'true' as a true
	  setting for a checkbox. This is what is returned now from
	  Postgres 7.4+ database for the default settings.

2005-01-27 09:22  paul

	* maintainer-defs.php, recmaint-defs.php: Changed the way that some
	  of the maintainer buttons get their onclick javascript defined.
	  This was to make sure that the maintainer class did an
	  updateRecords() before form submit.  IMPORTANT: please look out
	  for any problems this might cause with existing screens which use
	  the generic 'recmaintainer()' to maintain lists of records
	  in-screen.

2005-01-25 19:42  paul

	* calendar-defs.php: Corrected the dropdown navigation formatting.

2005-01-25 19:36  paul

	* img/calendar/cal_1_1.gif, img/calendar/cal_1_2.gif,
	  img/calendar/cal_1_3.gif, img/calendar/calendar_2.jpg,
	  img/calendar/calendar_4.jpg, calendar-defs.php: Shrank the
	  bordering images so as to compress the calendar into a more
	  compact format.

2005-01-25 13:15  paul

	* calendar-defs.php: Implemented new method 'render_as_subform()'
	  which allows widget to just be included inside an existing
	  external form.

2005-01-25 10:07  paul

	* img/_modify.gif: New Axyl library utility image. Can be used as
	  small icon for edit/modify.

2005-01-24 17:47  paul

	* calendar-defs.php: Added a new calendar property: 'daysinmonth',
	  the integer number of days in the current month.

2005-01-24 15:06  paul

	* calendar-defs.php: Added the 'dayname' property. This contains
	  one of 'Monday' --> 'Sunday' according to calendar date.

2005-01-24 14:08  paul

	* img/calendar/cal_7_4.gif: Changed text to 'MONTH' for prev/next
	  navigation.

2005-01-24 13:54  paul

	* calendar-defs.php: Some boundary conditions applied to Prev/Next
	  month navigation.

2005-01-24 10:05  paul

	* img/calendar/: 0.gif, 1-inverted.gif, 1.gif, 10-inverted.gif,
	  10.gif, 11-inverted.gif, 11.gif, 12-inverted.gif, 12.gif,
	  13-inverted.gif, 13.gif, 14-inverted.gif, 14.gif,
	  15-inverted.gif, 15.gif, 16-inverted.gif, 16.gif,
	  17-inverted.gif, 17.gif, 18-inverted.gif, 18.gif,
	  19-inverted.gif, 19.gif, 2-inverted.gif, 2.gif, 20-inverted.gif,
	  20.gif, 21-inverted.gif, 21.gif, 22-inverted.gif, 22.gif,
	  23-inverted.gif, 23.gif, 24-inverted.gif, 24.gif,
	  25-inverted.gif, 25.gif, 26-inverted.gif, 26.gif,
	  27-inverted.gif, 27.gif, 28-inverted.gif, 28.gif,
	  29-inverted.gif, 29.gif, 3-inverted.gif, 3.gif, 30-inverted.gif,
	  30.gif, 31-inverted.gif, 31.gif, 4-inverted.gif, 4.gif,
	  5-inverted.gif, 5.gif, 6-inverted.gif, 6.gif, 7-inverted.gif,
	  7.gif, 8-inverted.gif, 8.gif, 9-inverted.gif, 9.gif, cal_1_1.gif,
	  cal_1_2.gif, cal_1_3.gif, cal_1_4.gif, cal_7_1.gif, cal_7_2.gif,
	  cal_7_3.gif, cal_7_4.gif, cal_7_5.gif, cal_7_6.gif,
	  calendar_2.jpg, calendar_3.jpg, calendar_4.jpg, calendar_5.gif,
	  calendar_6.jpg: New calendar class images. These are the numerics
	  required, plus the various bits and pieces to make up the
	  calendar 'look'.

2005-01-24 10:04  paul

	* img/_preview.gif: New preview button.

2005-01-24 10:04  paul

	* calendar-defs.php: New calendar class. This class renders a
	  graphical calendar 'widget' (approx. 300px by 300px) with
	  navigation elements. The user can change the date/month/year, and
	  these settings are available as class properties and methods to
	  other applications.

2005-01-21 13:01  will

	* mail-defs.php: Fixed a problem where passing to email address as
	  an array as opposed to a list wouldn't quite work even though
	  there was the effort.

2005-01-19 10:17  paul

	* webpage-defs.php: Minor refinement to the way we build the
	  'parms' string for body tag.

2005-01-18 14:58  paul

	* story-defs.php: Fixed dumb bug in story save which was
	  incorrectly converting story timestamp. Also added confirm
	  message when deleting a story.

2005-01-17 20:15  paul

	* js/fieldvalidation.js: Added a few more validation functions
	  which can be called from form widget events:	isNonBlank
	  isOnlyDigits	isValidDate  isValidTime These take a pointer to
	  the form element object being validated, and a message to pop up
	  on validation failure.

2005-01-13 12:01  will

	* catalog-defs.php, dbsearch-defs.php, lucene-defs.php,
	  monitor-defs.php, swish-defs.php: Replaced incorrect references
	  to hitcount variable, replaced with hitcount() method.

2004-12-20 09:23  mark

	* xmenu-defs.php: fixed small bug in the onload declaration, where
	  a ';' was not being added to the end of hte JS.

2004-12-19 18:26  paul

	* response-defs.php: Make sure the DOCUMENT_ROOT is set. Provide
	  fallback to current working directory if it isn't. This should be
	  done in the application.php but if users change it or old
	  versions of Axyl are out there, it might not be. This version
	  makes the above check earlier on in the piece!

2004-12-19 17:52  paul

	* response-defs.php: Make sure the DOCUMENT_ROOT is set. Provide
	  fallback to current working directory if it isn't. This should be
	  done in the application.php but if users change it or old
	  versions of Axyl are out there, it might not be.

2004-12-19 17:51  paul

	* query-defs.php: Strengthened the test to make sure we do
	  something nice when a nasty situation comes along where we are
	  asked to execute a query on an undefined datasource.

2004-12-13 20:51  paul

	* img/_axmedia.gif: The new image placeholder for Axyl embedded
	  media.

2004-12-13 20:51  paul

	* img/_fill.gif: Not required after all.

2004-12-13 20:48  paul

	* block-defs.php, block-editor-defs.php: Replaced the <object>
	  media placeholder with <img> tag. This renders much more reliably
	  in all browsers, and is also accepted much more readily by
	  HTMLArea, which seemed to have big trouble with the <object>
	  tags. NOTE: we still maintain backward compatbility for rendering
	  <object> tags in view (live) mode.

2004-12-13 20:44  paul

	* js/htmlarea/htmlarea.js: Reverting to original htmlarea.js
	  version. We have solved the <object> tag problem by using an
	  <img> tag instead. This also provides a better visual cue for the
	  presence of the media object, since all browsers render an image
	  nicely, unlike <object> tags.

2004-12-13 13:43  paul

	* img/_fill.gif: New image. General Axyl fill.

2004-12-13 12:38  will

	* html-defs.php: Moved span tag for highlight mode back inside the
	  anchor tag around the label.

2004-12-11 12:23  paul

	* html-defs.php: Additional tweak. We want the item highlighted
	  even if not a link.

2004-12-11 12:08  paul

	* block-defs.php, block-editor-defs.php: We now render Axyl media
	  using the <object></object> syntax to cope with an HTMLArea bug.

2004-12-11 12:07  paul

	* js/htmlarea/htmlarea.js: Added "object" to the list of 'block'
	  tags and to the list of tags requiring a closing tag. This means
	  we seem to get a working HTMLArea with the <object></object>
	  syntax. If left to its own devices, HA will render the tag as a
	  <object /> tag, and promptly remove all content beyond it. This
	  bug has been reported to HA maintainers.

2004-12-10 15:19  will

	* html-defs.php: Fixed problem with rendering when highlightclass
	  set.	Moved span inside a tag.

2004-12-09 09:53  paul

	* story-defs.php: Fixed commenting typo.

2004-12-09 09:02  paul

	* htmlarea-defs.php, story-defs.php: Fixes to the Phpdoc
	  commenting.

2004-12-09 08:47  paul

	* story-defs.php: Re-worked the Phpdoc commenting. Assigned this
	  module to the 'cm' package.

2004-12-06 09:11  paul

	* story-defs.php: 1. Properly remove story icon reference.  2.
	  Moved 'translate' button to Axyl library images.

2004-12-06 09:10  paul

	* htmlarea-defs.php: Reverted to using import url() for HTMLArea
	  styles, with appended semi-colon this now seems to work - watch
	  this space.

2004-12-05 18:56  paul

	* img/_translate.gif: New image for library.

2004-12-03 16:13  paul

	* story-defs.php: Renamed from axyl-story-defs.php.

2004-12-03 16:13  paul

	* axyl-story-defs.php: Renamed to story-defs.php.

2004-12-03 12:17  paul

	* axyl-story-defs.php: Moved to the Axyl lib directory from www
	  directory.

2004-11-29 17:08  paul

	* block-editor-defs.php: Added a set_toolbar("full") for the block
	  Wysiwyg editor since this is a neater more compact toolbar.

2004-11-29 17:07  paul

	* htmlarea-defs.php: Changed behaviour of the load_plugins()
	  function so that it adds new plugins with each subsequent call,
	  and no longer completely re-defines them. This will no cater for
	  multiple Wysiwyg requirements on a single page.

2004-11-29 14:40  paul

	* response-defs.php: Fixed the context-defs.php include
	  conditional, which was not prefixing the docroot physical path in
	  a file_exists() test.

2004-11-29 14:39  paul

	* htmlarea-defs.php: Added <object> style to the HTMLArea widget
	  styles.

2004-11-29 14:38  paul

	* configuration-defs.php: Removed superfluous debugging statement.

2004-11-28 15:33  paul

	* catalog-defs.php: Corrected name of instantiation of 'img' class
	  in Insitu() method.

2004-11-28 15:30  paul

	* catalog-defs.php: Cosmetics.

2004-11-26 12:10  will

	* catalog-defs.php: catalogitem now has a insitu render function
	  that will render images, movie, and flash animations inline.	Use
	  ->render('insitu') to use.

2004-11-25 12:32  paul

	* query-defs.php: Fix for pattern in query syntax ppost-processor,
	  which looks for '(SELECT' as well as just 'SELECT', since
	  sometimes brackets will be used (eg. in UNIONS).

2004-11-25 12:29  paul

	* menu-defs.php: Made standard vanilla menu a descendant of
	  StylableObject.

2004-11-12 21:07  paul

	* file-defs.php: Largely cosmetic - we had just forgotten to issue
	  a closefile() after reading in a stylesheet.

2004-11-12 21:04  paul

	* htmlarea-defs.php: 1. Worked around the problem with HTMLArea not
	  accepting the pageStyle = '@import url()' assignment and using
	  the stylesheet. Instead we read the stylesheet ourselves and
	  apply the body and p styles.	2. Fixed up a few other minor
	  issues.

2004-11-12 20:57  paul

	* mail-defs.php: 1. Fixed bug whereby a preg_match was failing when
	  part of the pattern ('text/plain' contained a forward-slash
	  (delimiter) char.  2. Put some bullet-proofing around usage of
	  some class vars - test they are arrays.

2004-11-12 16:35  mark

	* mail-defs.php: fixed small bug regarding CC and BCC checking,
	  also, the regular expression while looking for the content text
	  type.

2004-11-10 16:58  will

	* file-defs.php: Change to unpackinfo function of fileupload class:
	  $repeatcount = count($info["name"]); if ( $repeatcount > 1 )
	  doesn't account for an array of one element.	This would be the
	  case when a fileuploadfield is named with the array syntax ([] )
	  but only one field is specified.  Not likely to happen but
	  confusing when it d oes.  Replaced with: if (
	  is_array($info["name"]) )

2004-11-09 16:43  paul

	* htmlarea-defs.php: Considerable enhancements to the
	  form_wysiwygfield class: numerous new methods to set the HTMLArea
	  config object including toolbar definition. Also provided a
	  set_styles() method to append/replace the list of CSS styles for
	  when the CSS plugin is utilised.

2004-11-07 15:58  paul

	* block-defs.php, block-editor-defs.php, htmlarea-defs.php,
	  layout-defs.php, layout-editor-defs.php: Merging current HEAD
	  into STABLE branch. This is the new picture of the stable Axyl.

2004-11-05 09:43  paul

	* file-defs.php: Provide Php version check for usage of
	  file_get_contents() function [Php >= 4.3.0] or else we use the
	  old file() function instead.

2004-11-05 09:43  paul

	* file-defs.php: Provide Php version check for usage of
	  file_get_contents() function [Php >= 4.3.0] or else we use the
	  old file() function instead.

2004-11-02 20:21  paul

	* htmlarea-defs.php: Fixed the non-global $HTMLAREA problem. This
	  was caused by the include() being called in a non-global scope.

2004-11-02 20:20  paul

	* htmlarea-defs.php: Fixed non-globalised $HTMLAREA object
	  variable. This was due to the include() being called in a
	  non-global scope.

2004-11-01 11:21  paul

	* block-defs.php, block-editor-defs.php, layout-defs.php,
	  layout-editor-defs.php: Streamlined content management system.
	  Abstracted the editor forms (mainly) from the layout and block
	  classes, so that the code for these is only included when the
	  user is performing editing.

2004-10-30 14:49  paul

	* ChangeLog: Should not be in CVS.

2004-10-30 14:48  paul

	* hvmenu-defs.php: Re-worded deprecation comments and
	  documentation.

2004-10-30 13:02  paul

	* js/xmenu/: AUTHORS, COPYING, FAQ, INSTALL, NEWS, README, THANKS,
	  TODO, XmenusConfDemo.js, XmenusConfMostTypes.js,
	  contentFrame.html, leftFrame.html, menu.html, menuFrames.html,
	  menuMostTypes.html, navigationFrame.html, img/arrow_horiz.gif,
	  img/arrow_vert.gif, img/spacer.gif, lib/js/Browser.js,
	  lib/js/Debug.js, lib/js/Xlayer.js, lib/js/XlayerParent.js,
	  lib/js/Xmenu.js, lib/js/XmenuConfig.js, lib/js/Xmenus.js:
	  Bug#278493: Xmenu is a new GPL-licensed javascript multi-level
	  menu system for use in Axyl websites via the class Xmenu in
	  lib/xmenu-defs.php.

2004-10-30 13:00  paul

	* js/menu_com.js: Bug#278493: HVmenu now removed due to non-GPL (or
	  equivalent) licensing.

2004-10-30 12:56  paul

	* xmenu-defs.php: Bug#278493: New javascript hierarchical menu
	  renderer to replace HVmenu. This module contains the Xmenu class
	  which is used to generate the environment for Xmenu-xlayer itself
	  from the database menu definition.

2004-10-30 12:54  paul

	* menu-defs.php: This class now determines all of the max
	  width/height values for each menu 'section', for use by Xmenu.
	  These values are stored in two new properties (arrays keyed on
	  menu_level), called 'level_widths' and 'level_heights'.

2004-10-30 12:52  paul

	* hvmenu-defs.php: Added Phpdoc section to indicate this is
	  deprecated, as HVmenu is no longer packaged with Axyl due to not
	  having a GPL license (or equivalent).

2004-10-30 12:51  paul

	* treemenu-defs.php: Some cosmetic changes - no change to
	  functionality.

2004-10-30 12:50  paul

	* webpage-defs.php: 1. Un-privatised the inline_*() methods.  2.
	  Slight mod to how we decide to render $HTMLAREA object or not.
	  3. Clarified comments.

2004-10-30 12:48  paul

	* htmlarea-defs.php: Added code to make sure htmlarea isn't
	  rendered unless it has been used (ie. wysiwyg elements have been
	  defined for display).

2004-10-30 12:47  paul

	* block-defs.php: Moved the include of htmlarea-defs into the
	  wysiwyg_editform() method, so as to decrease unnecessary code
	  inclusion.

2004-10-26 09:33  paul

	* ChangeLog: Setting up version 2.1.3 axyl

2004-10-25 15:54  paul

	* block-defs.php: Phpdoc: updated block classes to be in package
	  'cm'.

2004-10-25 14:05  paul

	* plugin-defs.php: Phpdoc: made some plugin classes private..

2004-10-25 13:54  paul

	* block-defs.php, button-defs.php, catalog-defs.php,
	  configuration-defs.php, data-defs.php, database-defs.php,
	  db-mssql-server.php, db-mysql.php, db-odbc.php, db-oracle.php,
	  db-postgres.php, debugger.php, file-defs.php, form-defs.php,
	  globals-defs.php, html-defs.php, htmlarea-defs.php,
	  hvmenu-defs.php, image-defs.php, keep-defs.php, layout-defs.php,
	  lockfile-defs.php, lucene-defs.php, mail-defs.php,
	  maintainer-defs.php, menu-defs.php, menumaint-defs.php,
	  metadata-defs.php, mime-types.php, monitor-defs.php,
	  optlist-defs.php, paging-defs.php, pg-schema-defs.php,
	  pim-defs.php, plugin-defs.php, query-defs.php, recmaint-defs.php,
	  renderable.php, response-defs.php, search-defs.php,
	  session-defs.php, swish-defs.php, timer-defs.php,
	  treemenu-defs.php, user-defs.php, utils.php, webpage-defs.php,
	  wml-defs.php, xml-defs.php: Cosmetics - all changes are
	  documentation-specific as part of the re-formatting and
	  strengthening for the latest Phpdoc generated set.

2004-10-25 13:53  paul

	* list-funcs.php: Unused module.

2004-10-23 18:21  paul

	* recmaint-defs.php, renderable.php, rowmenu-defs.php,
	  user-defs.php: No functional changes. More changes in
	  phpDocumentor directives and content for new API documentation
	  set.

2004-10-23 18:11  paul

	* application-defs.php, block-defs.php, button-defs.php,
	  catalog-defs.php, database-defs.php, db-mssql-server.php,
	  db-mysql.php, db-odbc.php, db-oracle.php, db-postgres.php,
	  dbsearch-defs.php, htmlarea-defs.php, hvmenu-defs.php,
	  image-defs.php, layout-defs.php, lockfile-defs.php,
	  lucene-defs.php, maintainer-defs.php, menu-defs.php,
	  menumaint-defs.php, metadata-defs.php, monitor-defs.php,
	  paging-defs.php, pg-schema-defs.php, query-defs.php,
	  response-defs.php, rowmenu-defs.php, swish-defs.php,
	  treemenu-defs.php, webpage-defs.php, wml-defs.php: No functional
	  changes. Changes in phpDocumentor directives and content for new
	  API documentation.

2004-10-23 13:08  paul

	* antihack.php, application-defs.php, block-defs.php,
	  button-defs.php, catalog-defs.php, configuration-defs.php,
	  constants.php, control-panel.php, data-defs.php,
	  database-defs.php, datetime-defs.php, db-mssql-server.php,
	  db-mysql.php, db-odbc.php, db-oracle.php, db-postgres.php,
	  dbsearch-defs.php, debugger.php, file-defs.php, form-defs.php,
	  forum-defs.php, globals-defs.php, html-defs.php,
	  htmlarea-defs.php, hvmenu-defs.php, image-defs.php,
	  keep-defs.php, layout-defs.php, list-funcs.php,
	  lockfile-defs.php, lucene-defs.php, mail-defs.php,
	  maintainer-defs.php, menu-defs.php, menumaint-defs.php,
	  metadata-defs.php, mime-types.php, monitor-defs.php,
	  optlist-defs.php, paging-defs.php, pg-schema-defs.php,
	  pim-defs.php, plugin-defs.php, query-defs.php, recmaint-defs.php,
	  renderable.php, response-defs.php, rowmenu-defs.php,
	  schema-defs.php, search-defs.php, selfregistration-defs.php,
	  session-defs.php, swish-defs.php, timer-defs.php,
	  treemenu-defs.php, unicode-defs.php, user-defs.php, utils.php,
	  webpage-defs.php, wml-defs.php, xml-defs.php: No functional
	  changes. Fixed phpDocumentor syntax for new documentation
	  generation.

2004-10-23 11:10  paul

	* error-defs.php: Not used by anything.

2004-10-22 08:52  mark

	* htmlarea-defs.php: in the register() function of the
	  form_wysiwygfield class, there was a check for a file, which was
	  using $RESPONSE->docroot as the base, when it should have been
	  using $RESPONSE->site_docroot.

	  it has been corrected.

2004-10-20 11:29  mark

	* treemenu-defs.php: saw a small display bug where the $pad object
	  was not being placed between the option image, and the option
	  text for a menu item that was currently selected.  so, as the
	  $pad object is used in both instances, moved it's creation
	  outside the IF statement.

	  CODE SNIPPIT (lines 399 - 413): ==============================
	  pad = new img("$LIBDIR/img/_pad.gif", "", "",
	  $this->label_padding_left, 1); if (!$heading &&
	  preg_match("/$requestedurl/i", $action)) {	$menuop =
	  $padding->render() . $widget->render() . $pad->render() . $label;
	     $style = "color:$hicolour;background-color:$hibg;"; } //
	  Create a clickable anchor link..  else {    $widget_link = new
	  anchor($action, $widget->render());	 $menuop_link = new
	  anchor($action, $label);    $menuop = "";    if ( $padding->width
	  > 0 ) {	$menuop .= $padding->render();	  }    $menuop .=
	  $widget_link->render() . $pad->render() . $menuop_link->render();
	  }

2004-10-17 16:43  paul

	* maintainer-defs.php, user-defs.php: Cosmetic. Added some
	  comments.

2004-10-17 15:17  paul

	* control-panel.php, default-application.xml, maintainer-defs.php,
	  user-defs.php: Added new control-panel option: encrypted
	  passwords.  This applies to user logins for the whole website. If
	  checked the passwords will be one-way encrypted with MD5.
	  Maintenance screens now handle this and do sensible things with
	  displaying passwords (not).

2004-10-17 15:14  paul

	* form-defs.php: Oops. Had all forms readonly. Fixed default value.

2004-10-16 17:06  paul

	* response-defs.php: Cosmetics only (comments).

2004-10-16 17:06  paul

	* hvmenu-defs.php: Cosmetics only.

2004-10-16 17:05  paul

	* form-defs.php: The form class now has a new method
	  'force_readonly()' which simply forces all contained form
	  elements to be displayed in readon-only mode.

2004-10-16 12:27  paul

	* js/htmlarea/make-patch: Added shell script header

2004-10-16 10:51  paul

	* block-defs.php: Focus the wysiwyg editor widget prior to
	  inserting HTML (ie. Axyl objects).

2004-10-15 16:19  paul

	* js/menu_com.js: Fix to properly display spacers as
	  non-highlighted items.

2004-10-15 16:03  paul

	* hvmenu-defs.php: Fixes to make it work with new menu changes
	  (language enhancements et al)

2004-10-15 12:30  paul

	* hvmenu-defs.php: Fixed language ID default. Also prefixed the
	  <div> name with "menu_" for the menuid identifier used for it.

2004-10-15 12:29  paul

	* menu-defs.php: Sets default for sitepage in menuoption class.

2004-10-15 12:28  paul

	* webpage-defs.php: Make sure HTMLAREA jscript only gets rendered
	  when there has been a widget defined for it.

2004-10-15 10:55  paul

	* menu-defs.php, menumaint-defs.php, treemenu-defs.php: Implemented
	  'pseudo menu items', in particular MENU_ITEM_SPACER and
	  MENU_ITEM_SEPARATOR. We also have a new stylesheet line of the
	  form: pseudo-item-spacing: 10px; which controls the vertical
	  whitespace for this kind of menu item. In the MenuBuilder there
	  are now two new options in the Target Webpage selector, called
	  (menu spacer) and (menu separator) to choose from.

2004-10-14 17:54  paul

	* datetime-defs.php: Tweak to displaydate_to_datetime() function
	  when it returns 'null' dates.

2004-10-14 15:43  paul

	* block-defs.php, htmlarea-defs.php, webpage-defs.php: Refinements
	  to the way HTMLArea generation is done for multiple on a page. We
	  now specifically render the htmlarea JS environment in the
	  webpage->generate() method. NB: Mozilla generally seems to
	  explode, with two editors on a page - probably its problem; IE
	  seems very stable.

2004-10-14 12:28  paul

	* form-defs.php, htmlarea-defs.php, plugin-defs.php,
	  webpage-defs.php: Changes to implement HTMLArea nicely, and
	  support the usage of multiple of these editors within the same
	  page. Still a WIP.

2004-10-13 19:25  paul

	* form-defs.php: Fixed test of presence of htmlarea. Need to prefix
	  docroot.

2004-10-13 19:20  paul

	* form-defs.php: Fixed rendering of the wysiwyg field.

2004-10-13 18:52  paul

	* block-defs.php: Fixed up the content insert javascript to match
	  up with the new wysiwyg object name.

2004-10-13 18:50  paul

	* form-defs.php: Changed the classid of the wysiwyg widget to be
	  just the same as the name. The HTMLArea object is this name with
	  a "_ed" suffix.

2004-10-13 18:04  paul

	* block-defs.php, form-defs.php: Re-worked the way we create and
	  initialise HTMLArea textareas. This is now done using a new class
	  'form_wysiwygfield' which extends 'form_memofield'.

2004-10-13 18:02  paul

	* js/htmlarea/: dialog.js, htmlarea.css, htmlarea.js, index.html,
	  make-patch, make-release.pl, popupdiv.js, popupwin.js,
	  examples/empty.html, examples/full-page.html,
	  examples/fully-loaded.html, examples/index.html,
	  images/ed_killword.gif, images/ed_print.gif,
	  images/ed_rmformat.gif, lang/de.js, lang/en.js, lang/vn.js,
	  plugins/CSS/css.js,
	  plugins/CharacterMap/popups/select_character.html,
	  plugins/ContextMenu/context-menu.js,
	  plugins/ContextMenu/lang/en.js, plugins/ContextMenu/lang/fr.js,
	  plugins/DynamicCSS/dynamiccss.js, plugins/DynamicCSS/lang/fr.js,
	  plugins/FullPage/full-page.js, plugins/FullPage/lang/de.js,
	  plugins/FullPage/lang/fr.js,
	  plugins/FullPage/popups/docprop.html,
	  plugins/HtmlTidy/html-tidy.js, plugins/ListType/list-type.js,
	  plugins/ListType/lang/de.js,
	  plugins/SpellChecker/spell-check-logic.cgi,
	  plugins/SpellChecker/spell-check-ui.html,
	  plugins/SpellChecker/spell-check-ui.js,
	  plugins/SpellChecker/spell-checker.js,
	  plugins/TableOperations/table-operations.js,
	  plugins/TableOperations/lang/fr.js,
	  plugins/TableOperations/lang/no.js, popups/fullscreen.html,
	  popups/insert_table.html, popups/link.html, popups/popup.js: The
	  latest HTMLArea from the project CVS.

2004-10-12 10:44  paul

	* treemenu-defs.php: Re-worked the stylesheet control. Introduced
	  the following 4 styles:  label-padding-left  item-spacing
	  heading-item-spacing	top-item-spacing These control the spacing
	  and padding around menu options of various types, and so aid the
	  menu formatting process.

2004-10-11 07:45  paul

	* utils.php: Cosmetic - return 'HTTP 1.1' in error code spoofing.

2004-10-11 07:45  paul

	* form-defs.php: - Added new class 'multipart_form'. A trivial
	  derivative of the 'form' class which just sets the enctype to
	  'multipart/form-data'.  - Removed superfluous space in <form> tag
	  generation.

2004-10-11 07:43  paul

	* datetime-defs.php: Split out function prose_diff() to
	  prose_diff_ts() which accepts two timestamps.

2004-10-11 07:42  paul

	* catalog-defs.php: - Added the 'upload()' method. Call this if you
	  have a new catalog item to upload and it will take care of
	  business, and define your current catalog item.  - Also
	  strenghtned the result statuses of the get() and delete()
	  methods.

2004-10-08 21:03  paul

	* treemenu-defs.php: Reverted the code to r1.22 vintage due to 1.23
	  being broken. Please FULLY test changes to this and any other
	  modules before committing - Axyl is presently in the process of
	  being packaged for Debian.

2004-10-08 17:22  mark

	* treemenu-defs.php: small cosmetic display bug where the selected
	  menu item (main or sub) wasn't getting the filler information.
	  this has been fixed.

2004-10-07 14:19  mark

	* treemenu-defs.php: added the attribute "imglink_filler" to the
	  tree menu.  this allows you to add anything, character or html
	  code between the tree menu widget icon (for the expand and
	  collapse image) and the text entry.

2004-10-06 15:52  mark

	* treemenu-defs.php: added a check to stop the 0 width _pad image
	  from being added to the tree menu rendering.

2004-10-06 11:08  paul

	* treemenu-defs.php: Re-worked the image customisation
	  functionality. We now pass in image objects to replace the
	  standard ones, if required.

2004-10-05 09:57  mark

	* menumaint-defs.php: fixed a query to cater for the new database
	  table field is_parent.  it was used in the "child of" dropdown
	  list.

2004-10-04 20:10  paul

	* html-defs.php, hvmenu-defs.php, menu-defs.php,
	  menumaint-defs.php, treemenu-defs.php: 1. Added new field:
	  ax_menuoption.is_parent This is a boolean. When true it indicates
	  the given menuoption is the parent of one or more sub-menu
	  options. These options will reference the current one as parent.
	  These parent menu options can now have target web-pages
	  themselves.

	  2. Altered the menu-builder to maintain the above field on all
	  menu options defined in a menu.

	  3. Altered the menu renderers to use this new flag instad of the
	  old action='' mechanism to determine parenthood.

	  4. Simplified the set_menu_images() method somewhat, and also
	  made the 'pad' amd 'menuoption' images settable.

2004-10-04 14:33  paul

	* webpage-defs.php: Axyl Multi-language Enhancement.  Fixed the
	  content-type tag typo (text-html)

2004-10-04 14:29  mark

	* treemenu-defs.php: added the ability to use custom images instead
	  of the + and - images used in the submenu menu items.

	  i'm probably going to modify it to allow use of no images if
	  desired. but thats later.  paul to test please.

2004-10-04 08:47  paul

	* menumaint-defs.php: Axyl Multi-language Enhancement.	Fixed the
	  issue with undefined language when in mono-lingual mode.

2004-10-03 11:04  paul

	* js/recmaint.js: Axyl Multi-language Enhancement.  Some changes to
	  support multi-byte content editing.

2004-10-03 11:03  paul

	* block-defs.php, constants.php, control-panel.php, html-defs.php,
	  layout-defs.php, query-defs.php, unicode-defs.php,
	  recmaint-defs.php, response-defs.php, treemenu-defs.php,
	  utils.php, webpage-defs.php: Axyl Multi-language Enhancement.
	  New module 'unicode-defs.php containing some UTF-8 utility
	  function for conversion etc.	Added code to allow admin to select
	  "Multi-language" option on Control Panel. This sets a new
	  RESPONSE property $RESPONSE->multilang to TRUE, and enforces a
	  UTF-8 character encoding.

	  This then results in the HTTP header to define a UTF-8 charset,
	  supported by a Content-Type meta-tag.

	  The Axyl content management sub-system also handles content using
	  mbstring functions and hence looks after multi-byte content in
	  this mode, allowing Unicode charsets to be pasted/types in, and
	  displayed correctly.

	  You can also define and set a Language at Layout and/or Block
	  level, which just results in the <html> tag containing the
	  language code as an attribute, and an additional Content-Language
	  meta-tag being included in the HEAD section of the page.

2004-10-03 10:56  paul

	* menumaint-defs.php: Moved recmaint field 'explode' statement
	  outside loop - efficiency enhancement.

2004-09-28 14:40  paul

	* hvmenu-defs.php, menu-defs.php, treemenu-defs.php: Refinements to
	  language-setting logic.

2004-09-28 11:54  paul

	* control-panel.php, hvmenu-defs.php, layout-defs.php,
	  menu-defs.php, menumaint-defs.php, response-defs.php,
	  treemenu-defs.php, webpage-defs.php: WIP: Axyl multi-language
	  enhancement.	Fixed up menu maintenance. Provided proper
	  defaulting when rendering menus to default language.

2004-09-27 13:18  paul

	* control-panel.php, database-defs.php, db-postgres.php,
	  default-application.xml, html-defs.php, hvmenu-defs.php,
	  layout-defs.php, menu-defs.php, menumaint-defs.php,
	  metadata-defs.php, response-defs.php, session-defs.php,
	  treemenu-defs.php, webpage-defs.php: WIP: Multi-language
	  enhancement for Axyl.  Added new DB schema - new table
	  'ax_language' and FK of 'lang_id' fields on ax_menu,
	  ax_wwwsession, ax_layout and ax_story. You WILL need to upgrade
	  schema in attended mode for these changes.  This commit is a
	  snapshot. Work is not complete.

2004-09-24 09:35  paul

	* control-panel.php, default-application.xml, response-defs.php,
	  webpage-defs.php: New feature for Axyl to support languages. This
	  update includes a new method on the RESPONSE 'set_language()'
	  which takes a text language identifier as argument. We also allow
	  site-wide language definition via the control-panel. The end
	  result is a new meta tag of the form:   <meta
	  http-equiv="content-language" content="en"> But this is only
	  added if the language has been set.

2004-09-24 09:32  paul

	* img/_submit.gif: New Axyl library button "submit" added.

2004-09-22 08:28  paul

	* js/htmlarea/: plugins/ListType/lang/en.js,
	  plugins/ListType/lang/makefile.xml,
	  plugins/SpellChecker/img/he-spell-check.gif,
	  plugins/SpellChecker/img/makefile.xml,
	  plugins/SpellChecker/img/spell-check.gif,
	  plugins/SpellChecker/lang/cz.js, plugins/SpellChecker/lang/da.js,
	  plugins/SpellChecker/lang/de.js, plugins/SpellChecker/lang/en.js,
	  plugins/SpellChecker/lang/he.js, plugins/SpellChecker/lang/hu.js,
	  plugins/SpellChecker/lang/it.js,
	  plugins/SpellChecker/lang/makefile.xml,
	  plugins/SpellChecker/lang/nl.js, plugins/SpellChecker/lang/ro.js,
	  plugins/SpellChecker/makefile.xml,
	  plugins/SpellChecker/readme-tech.html,
	  plugins/SpellChecker/spell-check-logic.cgi,
	  plugins/SpellChecker/spell-check-style.css,
	  plugins/SpellChecker/spell-check-ui.html,
	  plugins/SpellChecker/spell-check-ui.js,
	  plugins/SpellChecker/spell-checker.js,
	  plugins/TableOperations/img/cell-delete.gif,
	  plugins/TableOperations/img/cell-insert-after.gif,
	  plugins/TableOperations/img/cell-insert-before.gif,
	  plugins/TableOperations/img/cell-merge.gif,
	  plugins/TableOperations/img/cell-prop.gif,
	  plugins/TableOperations/img/cell-split.gif,
	  plugins/TableOperations/img/col-delete.gif,
	  plugins/TableOperations/img/col-insert-after.gif,
	  plugins/TableOperations/img/col-insert-before.gif,
	  plugins/TableOperations/img/col-split.gif,
	  plugins/TableOperations/img/makefile.xml,
	  plugins/TableOperations/img/row-delete.gif,
	  plugins/TableOperations/img/row-insert-above.gif,
	  plugins/TableOperations/img/row-insert-under.gif,
	  plugins/TableOperations/img/row-prop.gif,
	  plugins/TableOperations/img/row-split.gif,
	  plugins/TableOperations/img/table-prop.gif,
	  plugins/TableOperations/lang/cz.js,
	  plugins/TableOperations/lang/da.js,
	  plugins/TableOperations/lang/de.js,
	  plugins/TableOperations/lang/el.js,
	  plugins/TableOperations/lang/en.js,
	  plugins/TableOperations/lang/fi.js,
	  plugins/TableOperations/lang/he.js,
	  plugins/TableOperations/lang/hu.js,
	  plugins/TableOperations/lang/it.js,
	  plugins/TableOperations/lang/makefile.xml,
	  plugins/TableOperations/lang/nl.js,
	  plugins/TableOperations/lang/no.js,
	  plugins/TableOperations/lang/ro.js,
	  plugins/TableOperations/makefile.xml,
	  plugins/TableOperations/table-operations.js, popups/about.html,
	  popups/blank.html, popups/custom2.html, popups/editor_help.html,
	  popups/fullscreen.html, popups/insert_image.html,
	  popups/insert_table.html, popups/link.html, popups/makefile.xml,
	  popups/old-fullscreen.html, popups/old_insert_image.html,
	  popups/popup.js, popups/select_color.html,
	  tests/display-none.html, tests/style-script.html,
	  plugins/makefile.xml: Adding HTMLarea to the Axyl CVS repository.
	  Previously we grabbed the latest version from their CVS, but this
	  approach results in uncontrolled breakages as they change it.
	  This way we shapshot a version and control which set of HTMLarea
	  code we supply with Axyl better.

2004-09-22 08:25  paul

	* js/htmlarea/plugins/: EnterParagraphs/enter-paragraphs.js,
	  FullPage/img/docprop.gif, FullPage/img/makefile.xml,
	  FullPage/lang/en.js, FullPage/lang/he.js,
	  FullPage/lang/makefile.xml, FullPage/lang/ro.js,
	  FullPage/popups/docprop.html, FullPage/popups/makefile.xml,
	  FullPage/full-page.js, FullPage/makefile.xml, FullPage/test.html,
	  HtmlTidy/img/html-tidy.gif, HtmlTidy/img/makefile.xml,
	  HtmlTidy/lang/en.js, HtmlTidy/lang/makefile.xml, HtmlTidy/README,
	  HtmlTidy/html-tidy-config.cfg, HtmlTidy/html-tidy-logic.php,
	  HtmlTidy/html-tidy.js, HtmlTidy/makefile.xml,
	  ListType/list-type.js, ListType/makefile.xml: Adding HTMLarea to
	  the Axyl CVS repository. Previously we grabbed the latest version
	  from their CVS, but this approach results in uncontrolled
	  breakages as they change it. This way we shapshot a version and
	  control which set of HTMLarea code we supply with Axyl better.

2004-09-22 08:22  paul

	* js/htmlarea/plugins/: CharacterMap/character-map.js,
	  CharacterMap/makefile.xml, CharacterMap/img/ed_charmap.gif,
	  CharacterMap/img/makefile.xml, CharacterMap/lang/de.js,
	  CharacterMap/lang/en.js, CharacterMap/lang/makefile.xml,
	  CharacterMap/popups/makefile.xml,
	  CharacterMap/popups/select_character.html, ContextMenu/1.pl,
	  ContextMenu/context-menu.js, ContextMenu/makefile.xml,
	  ContextMenu/menu.css, ContextMenu/lang/de.js,
	  ContextMenu/lang/el.js, ContextMenu/lang/en.js,
	  ContextMenu/lang/he.js, ContextMenu/lang/makefile.xml,
	  ContextMenu/lang/nl.js, CSS/lang/en.js, CSS/lang/makefile.xml,
	  CSS/css.js, CSS/makefile.xml, DynamicCSS/lang/de.js,
	  DynamicCSS/lang/en.js, DynamicCSS/lang/makefile.xml,
	  DynamicCSS/dynamiccss.js, DynamicCSS/makefile.xml: Adding
	  HTMLarea to the Axyl CVS repository. Previously we grabbed the
	  latest version from their CVS, but this approach results in
	  uncontrolled breakages as they change it. This way we shapshot a
	  version and control which set of HTMLarea code we supply with
	  Axyl better.

2004-09-22 08:18  paul

	* js/htmlarea/: dialog.js, htmlarea.css, htmlarea.js, index.html,
	  license.txt, make-release.pl, makefile.xml, popupdiv.js,
	  popupwin.js, project-config.xml, reference.html,
	  release-notes.html, examples/2-areas.cgi, examples/2-areas.html,
	  examples/character_map.html, examples/context-menu.html,
	  examples/core.html, examples/css.html, examples/custom.css,
	  examples/dynamic.css, examples/dynamic_css.html,
	  examples/full-page.html, examples/fully-loaded.html,
	  examples/index.html, examples/list-type.html,
	  examples/makefile.xml, examples/pieng.png,
	  examples/remove-font-tags.html, examples/spell-checker.html,
	  examples/table-operations.html, examples/test.cgi,
	  images/ed_about.gif, images/ed_align_center.gif,
	  images/ed_align_justify.gif, images/ed_align_left.gif,
	  images/ed_align_right.gif, images/ed_blank.gif,
	  images/ed_charmap.gif, images/ed_color_bg.gif,
	  images/ed_color_fg.gif, images/ed_copy.gif, images/ed_custom.gif,
	  images/ed_cut.gif, images/ed_delete.gif,
	  images/ed_format_bold.gif, images/ed_format_italic.gif,
	  images/ed_format_strike.gif, images/ed_format_sub.gif,
	  images/ed_format_sup.gif, images/ed_format_underline.gif,
	  images/ed_help.gif, images/ed_hr.gif, images/ed_html.gif,
	  images/ed_image.gif, images/ed_indent_less.gif,
	  images/ed_indent_more.gif, images/ed_left_to_right.gif,
	  images/ed_link.gif, images/ed_list_bullet.gif,
	  images/ed_list_num.gif, images/ed_paste.gif, images/ed_redo.gif,
	  images/ed_right_to_left.gif, images/ed_save.gif,
	  images/ed_save.png, images/ed_show_border.gif,
	  images/ed_splitcel.gif, images/ed_undo.gif,
	  images/fullscreen_maximize.gif, images/fullscreen_minimize.gif,
	  images/insert_table.gif, images/makefile.xml, lang/b5.js,
	  lang/ch.js, lang/cz.js, lang/da.js, lang/de.js, lang/ee.js,
	  lang/el.js, lang/en.js, lang/es.js, lang/fi.js, lang/fr.js,
	  lang/gb.js, lang/he.js, lang/hu.js, lang/it.js, lang/ja-euc.js,
	  lang/ja-jis.js, lang/ja-sjis.js, lang/ja-utf8.js, lang/lt.js,
	  lang/lv.js, lang/makefile.xml, lang/nb.js, lang/nl.js,
	  lang/no.js, lang/pl.js, lang/pt_br.js, lang/ro.js, lang/ru.js,
	  lang/se.js, lang/si.js, lang/vn.js: Adding HTMLarea to the Axyl
	  CVS repository. Previously we grabbed the latest version from
	  their CVS, but this approach results in uncontrolled breakages as
	  they change it. This way we shapshot a version and control which
	  set of HTMLarea code we supply with Axyl better.

2004-09-20 20:56  paul

	* lucene-defs.php: Check the Axyl 'sys_control' Configuration (only
	  if available) and check the Lucene Site Indexing flag. If
	  present, use it to set a flag in the 'lucene_connection' class,
	  called 'enabled'. This determines if a connection to Lucene can
	  be attempted. This if the user disables Lucene Site Indexing from
	  the Axyl MAINT/SETUP screen, any Lucene calls will just be
	  skipped, instead of providing ugly socket errors to the user.

2004-09-13 20:34  paul

	* pg-schema-defs.php: Nailed a couple of little bugs in the
	  generation of indexes, and the dropping of functions has been
	  implemented with 'cascade' for now (may make this optional).

2004-09-13 20:33  paul

	* db-postgres.php: Updated the errormessage() method to use the
	  approved function for >= 4.2 PHP.

2004-09-13 12:22  paul

	* pg-schema-defs.php, schema-defs.php: We now instantiate all
	  schema objects passed a reference to the schema object they are
	  part of. This enables them to query the schema database version
	  and the database capabilities.

	  This fixes the buglet whereby Postgres tables were being
	  generated along with an INDEX CREATE for the primary index, when
	  Postgres already generates such indexes by default automatically
	  (a DB capability setting).

2004-09-12 17:37  paul

	* db-postgres.php: Re-formatted the tests for bool_from_db_value to
	  be explicit as to types, and also to make sure the string types
	  are done after a strtolower() to catch everything.

2004-09-12 17:36  paul

	* maintainer-defs.php: Seems to hang together. Also added changes
	  to bring the maintainer into line with DB-independent booleans
	  throughout. There were several sections which needed changing.
	  Keep looking out for gotchas on this one!

2004-09-10 11:08  mark

	* db-postgres.php, maintainer-defs.php: fixed the bug (finally!!)
	  where the maintainer was having trouble with both default values
	  and database values of the boolean variety.  was a problem in
	  both maintainer-defs and the bool_from_db_value() function within
	  the db-postgress library files.

	  tests ok on my current development site (jumpnz). paul to test at
	  his end for final confirmation.

2004-09-08 20:05  paul

	* recmaint-defs.php: 1. Can now use "delete" to register the
	  recmaint delete button, as well as "del".  2. When we register a
	  button more than once, we APPEND the javascript calls to ensure
	  the order of definition is observed correctly. Previously we
	  PREFIXED each new script.

2004-09-08 09:43  paul

	* response-defs.php: Prefix the INCDIR global with "/" to make it
	  consistent with all the others.

2004-09-06 11:51  mark

	* maintainer-defs.php: added the function set_formenctype() to
	  allow the use of fileupload fields within a maintained table
	  using this class.

2004-09-06 09:32  paul

	* pg-schema-defs.php: Added break, inside the Postgres bin
	  directory detection loop. Should save us a few pico-seconds. ;-)

2004-09-06 09:28  paul

	* pg-schema-defs.php: Improved detection of where the Postgres
	  executables directory is so we can get the database version. We
	  now have a list: /usr/lib/postgres/bin, /usr/bin, and
	  /usr/local/pgsql/bin to try. This can be augmented as necessary.

2004-09-04 13:17  paul

	* block-defs.php, layout-defs.php, lucene-defs.php,
	  metadata-defs.php: Implemented metadata indexing via Lucene. Any
	  time that the metadata is changed in the Meta Browser for a
	  webpage which has managed content, the whole layout is
	  re-indexed, and all Metadata Elements indexed as separate fields
	  named after the full meta tag name, eg. NZGLS.title.

2004-09-03 15:50  paul

	* block-defs.php, layout-defs.php, lucene-defs.php,
	  metadata-defs.php: WIP commit of metadata Lucene functionality.

2004-09-03 15:46  catalyst

	* database-defs.php: no $RESPONSE from the error report.

2004-09-03 10:03  paul

	* metadata-defs.php: 1. Added scheme inheritance. Now a metadata
	  element which is a descendant of other elements will inherit the
	  schemes associated with the parents. Saves a lot of maintenance,
	  and is more or less accurate. Schemes on offer are just optional
	  helpers anyway.  2. Various cosmetic improvements to the
	  information being displayed.

2004-09-02 12:26  paul

	* img/_meta.gif: New button for metadata editing access from
	  layout.

2004-09-02 12:25  paul

	* webpage-defs.php: Provided new method 'insert_metatag()' which
	  allows direct insertion of a ready-made metatag object into the
	  webpage head section.

2004-09-02 12:25  paul

	* metadata-defs.php: 1. Corrected bug in the meta_tag class.  2.
	  Changed the main tag content field to a shallow memo field.  3.
	  Createed methods to render elements as meta tag objects. We can
	  also either return HTML or the tag object.  4. Provided option
	  for only gettting the instantiated elements (the ones the layout
	  actually has elements defined for). This is for efficiency
	  reasons on page generation. For editing we need ALL possible
	  elements still.  5. Provided a new method 'insert_metatags()'
	  which inserts the tag objects into the $RESPONSE.

2004-09-02 12:20  paul

	* layout-defs.php: Implemented the metadata tag rendering section.
	  We only do this if the control-panel setting has metadata
	  enabled, otherwise the metadata-defs.php module is not included.

2004-09-02 11:03  paul

	* metadata-defs.php: Re-formatted the meta browser content. We now
	  have clickable links rather than a mess of ugly buttons. Also
	  added the method to remove an element from a layout set.

2004-09-02 11:02  paul

	* layout-defs.php: Changed META tag appearance check to align with
	  new RESPONSE variable name 'metadata_mode'. Also re-sized the
	  meta browser window to be slightly larger.

2004-09-02 09:01  paul

	* layout-defs.php: Incorporates a new button 'META' on all pages
	  showing content-managed handles (ie. to the Editor, Author
	  people). This pops up the meta-browser, but only if the website
	  has had metadata enabled in the control panel.

2004-09-02 09:00  paul

	* metadata-defs.php: The latest metadata handler classes. Now
	  allows metadata editing, and displays all metadata for a layout
	  in a 'tree' format.

2004-09-02 08:59  paul

	* response-defs.php: Response class has been updated to include a
	  new global flag 'metadata_enabled'. If this is set to true then
	  the enhancements allowing metadata editing and generation are
	  enabled. By default it is false.

2004-09-02 08:59  paul

	* webpage-defs.php: Defaulted the $language and $scheme arguments
	  to nullstrings in the set_metatag() method.

2004-09-02 08:58  paul

	* form-defs.php: Fixed <form> generation to use the full
	  $SCRIPT_NAME for the 'action' attribute. This will then include
	  the leading '/' as required now.

2004-09-02 08:57  paul

	* default-application.xml: Updated to control a new global flag
	  'metadata_enabled'. If this is set to true then the enhancements
	  allowing metadata editing and generation are enabled. By default
	  it is false.

2004-09-02 08:57  paul

	* control-panel.php: 1. Updated to control a new global flag
	  'metadata_enabled'. If this is set to tru then the enhancements
	  allowing metadata editing and generation are enabled. By default
	  it is off.  2. Fixed up the synchronisation section so that it
	  first finds the Axyl distribution HOME before syncing the
	  existing website with the latest default-application.xml for
	  new/deleted fields.

2004-08-31 08:34  paul

	* metadata-defs.php: Interim commit. WIP on metadata rendering and
	  maintenance.

2004-08-31 08:34  paul

	* layout-defs.php: Interim commit. WIP on metadata rendering.

2004-08-30 20:19  paul

	* response-defs.php: Cosmetic adjustments.

2004-08-29 09:17  paul

	* img/: _choose.gif, _select.gif: Two new Axyl library images:
	  choose and select buttons.

2004-08-28 17:17  paul

	* menumaint-defs.php: Cosmetic: renamed field label 'Permitted
	  groups:'

2004-08-28 17:17  paul

	* response-defs.php: Implemented optional group mebership level
	  security on all webpages. This is maintained in the
	  'axyl-sitepages.php' maintenance page. We now have new schema
	  'ax_sitepage_group' which is a list of groups permitted to view
	  the page - no records means anyone can view it. Note: new
	  response method 'check_group_membership()' is called in the
	  'page()' method. Unauthorised access is handled according to the
	  'On failed authentication' setting in the Axyl control panel.

2004-08-28 09:25  paul

	* metadata-defs.php: New module containing classes and functions
	  concerned with the manipulation of metadata elements on the
	  website.

2004-08-28 09:14  paul

	* webpage-defs.php: 1. Extended the set_metatag() method to accept
	  additional arguments: '$language' and '$scheme' both in the
	  'webpage' class, and the 'head' class.  2. The 'head' version of
	  set_metatag() now uses the new HTMLtag class to formulate meta
	  tags, before they are stored (as objects) in an array.  3. The
	  head html() rendering method inserts the http-equiv, and
	  generator meta-tags using the new HTMLtag class.  4. The head
	  html(0 rendering method now just calls the render() method on
	  each metatag object in the 'meta' array, and inserts the content
	  into the webpage 'head'.

2004-08-28 09:07  paul

	* html-defs.php: Added the generic 'HTMLtag' class. Can be used to
	  generate HTML 'tags' of any kind. Extends the 'tag' class and
	  provides an HTML-based rendering method called html(). Can be
	  further extended for specific HTML tags if required.

2004-08-28 09:06  paul

	* renderable.php: Added the generic 'tag' class. Can be used to
	  generate 'tags' of any kind, which for this purpose are defined
	  as things of the form: '<tagname attrib=val attrib ... >'.
	  Designed as a virtual class to be further extended for HTML, XML
	  etc.

2004-08-28 09:04  paul

	* recmaint-defs.php: Updated the code to use implode to assemble
	  argument lists to functions, instead of clumsy string concats. No
	  functionality changes.

2004-08-27 09:40  paul

	* img/: _arrowBL.gif, _arrowBR.gif: A couple of new Axyl buttons:
	  right and left arrows white on black.

2004-08-25 21:02  paul

	* db-mssql-server.php, db-mysql.php, db-odbc.php, db-oracle.php,
	  db-postgres.php: Various refinements of the boolean conversion
	  regex. Mark to test ORACLE module, and MySQL module.

2004-08-25 15:59  paul

	* db-mssql-server.php, db-mysql.php, db-odbc.php, db-oracle.php,
	  db-postgres.php: Refined the regexes for the substitution of
	  boolean clauses in WHERE statements. Mark to test Oracle.

2004-08-24 10:40  paul

	* datetime-defs.php: Just allowed nullstring default on the
	  timestamp paremeter for the timestamp_to_displaydate() function
	  so it defaults to current timestamp. Also some cosmetics.

2004-08-24 10:39  paul

	* debugger.php: Removed the strip_tags() from the CLI debug output
	  option. This can remove stuff in angled brakets that we want to
	  see.

2004-08-24 10:37  paul

	* lucene-defs.php: 1. Fixed up the lucene_utilitymsg so that we get
	  the response decoded properly. This allows us to properly check
	  status and error messages.  2. Added new utility message wrapper
	  lucene_backup() which will cause Luceneserver to back up its
	  index.

2004-08-24 10:33  paul

	* globals-defs.php, response-defs.php: Changes to facilitate
	  running CLI scripts with the new security-updated Axyl structure.
	  1. globals-defs.php Altered so that we no longer 'blow away'
	  variables which are already globalised.  2. response-defs.php -
	  Prevent headers being sent if CLI mode.  - Tidied up the
	  globalisation calls.	- For CLI we now assign site_docroot to be
	  the current working directory with getcwd() instead of using ".".

2004-08-24 09:56  paul

	* mail-defs.php: Added a new method 'extra_header($header,
	  $value)'. The method 'add_header()' is now DEPRECATED in favour
	  of this new 'extra_header()' method, which takes separate
	  header-name and header-value parameters.

2004-08-24 09:49  paul

	* mail-defs.php: 1. A complete re-write of the way this class
	  handles and generates headers. The previous version tended to
	  bung these into the body and let the transport sort it out.  2.
	  Added new methods: To(), From(), Cc(), Bcc(), Subject(), Body(),
	  ReplyTo().  3. Removed a lot of dross, and ad-hoc debugging.	4.
	  NOTE: this class will now need some extensive testing, especially
	  with MIME attachments. Check headers are all being generated
	  correctly!

2004-08-22 11:05  paul

	* database-defs.php, query-defs.php: Some minor follow-up changes.

2004-08-21 20:41  paul

	* database-defs.php, db-mssql-server.php, db-mysql.php,
	  db-odbc.php, db-oracle.php, db-postgres.php, query-defs.php:
	  Major changes.  NOTE: these changes are designed to be
	  transparent to existing applications.  1. We have moved the query
	  timing and debug reporting function right down to the 'database'
	  class level. Thus each module now does the query execution
	  timing, and reporting of the query.  2. Implemented the boolean
	  syntax conversion.  3. Moved the default DB methods up into the
	  parent 'database' class, out of the db- classes, and removed
	  these from the child db- classes unless they actually _need_ to
	  be over-ridden. This simplifies the lower classes quite a bit.

2004-08-21 20:38  paul

	* response-defs.php: Minor almost cosmetic change.

2004-08-21 11:34  paul

	* block-defs.php, configuration-defs.php, forum-defs.php,
	  hvmenu-defs.php, menu-defs.php, menumaint-defs.php,
	  selfregistration-defs.php: Update all boolean WHERE clauses to
	  use the db-independent syntax: 'WHERE foo=TRUE'.

2004-08-20 18:54  mark

	* db-oracle.php: WIP changes for Oracle DB module.

2004-08-20 10:54  paul

	* pg-schema-defs.php: Fixed small bug in sequence create SQL
	  generation..

2004-08-20 10:53  paul

	* menumaint-defs.php: Fix to prevent sub-headings being saved with
	  'action' values of '/'.

2004-08-20 10:52  paul

	* menu-defs.php: Fix to make sub-headings be detected as such.

2004-08-20 10:52  paul

	* maintainer-defs.php, recmaint-defs.php, js/recmaint.js: Changes
	  to allow multiple record maintainers to operate on the same
	  webpage. Also fixed a small bug in listbox element ordering.

2004-08-07 12:54  paul

	* hvmenu-defs.php, menu-defs.php: Fixed of inconsistent usage of
	  the authcode both as a char ('t' or 'f') and boolean.

2004-08-07 10:22  paul

	* block-defs.php, maintainer-defs.php, recmaint-defs.php,
	  js/recmaint.js: Changed the way we do recmaint "new" records, so
	  that re-ordering can be done on the same commit. We now have a
	  "NEW_" prefix on the 10000 series id.

2004-08-07 10:21  paul

	* menumaint-defs.php: 1. Fieldname change on table 'ax_menuoption':
	  'level' to 'menu_level'.  2. Changed the way we do recmaint "new"
	  records, so that re-ordering can be done on the same commit. We
	  now have a "NEW_" prefix on the 10000 series id.

2004-08-07 10:20  paul

	* hvmenu-defs.php, menu-defs.php, treemenu-defs.php: Fieldname
	  change on table 'ax_menuoption': 'level' to 'menu_level'.

2004-08-03 20:08  paul

	* file-defs.php: Provided a new method eof() on the inputfile
	  class. Don't know why we didn't have one before this.

2004-08-02 16:41  paul

	* layout-defs.php: 1. Removed the usage of LIMIT and OFFSET from
	  the layout versioning. This ensures database independence for
	  other databases which don't have this non-SQL addition.  2. Fixed
	  a bug in the REVERT function of versioninfg. Now works fine.

2004-08-02 16:39  paul

	* query-defs.php: Added method to the dbrows class called
	  'rowexists()' which takes an integer row number. Returns true if
	  that row exists in the recordset.

2004-08-02 14:16  paul

	* menumaint-defs.php: Ensure menuoption 'action' fields are
	  absolute path for website.

2004-08-01 19:26  paul

	* query-defs.php: 1. Reverted the SQLDATA dump to unwind the array,
	  rather than use var_dump which echoes straight into the buffer.
	  2. Wrapped the numrows() call to populate 'rowcount' in a test
	  for 'select' in the query so it only executes for SELECT
	  statements. MySQL didn't like it being executed for all queries.
	  3. Removed the affectedrows() call to populate
	  'affectedrowcount'. This might be temporary pending further work.
	  Meantime, execute $yourquery->affectedrows($rid) to get this
	  count in your own application code.

2004-08-01 19:21  paul

	* user-defs.php: 1. Fixed the reading of the 'enabled' flag to used
	  the bool_from_db_value() method for DB-independence.	2. Fixed
	  the get_user_by_ip() method to select on 'inet' datatype for
	  Postgres, and 'text' datatype for others.

2004-08-01 19:19  paul

	* webpage-defs.php: Cosmetic only.

2004-08-01 19:17  paul

	* catalog-defs.php, forum-defs.php, layout-defs.php,
	  maintainer-defs.php, menu-defs.php, menumaint-defs.php,
	  pim-defs.php: Fixed up all get_next_sequencevalue() calls to
	  include table and column names.

2004-08-01 19:16  paul

	* block-defs.php: 1. Fixed the istrue() on the blocklet visibility.
	  This was the cause of probs with MySQL blocklet display.  2.
	  Fixed up all get_next_sequencevalue() calls to include table and
	  column names.  3. Changed blocklet user-defined tables to create
	  cells with valign="top" - it looks neater.

2004-07-30 15:29  paul

	* query-defs.php: Trying diferent debugging approach to SQLDATA for
	  MySQL returned rows.

2004-07-30 14:50  paul

	* db-mysql.php: Fixed typo in LIMIT sql gen.

2004-07-30 10:55  paul

	* block-defs.php, database-defs.php, db-mssql-server.php,
	  db-mysql.php, db-odbc.php, db-oracle.php, db-postgres.php,
	  layout-defs.php, query-defs.php, webpage-defs.php: 1. Added
	  Db-independence for LIMIT. Actually we now have Db independence
	  for the build() part of the sqlquery class.  2. Fixed up the
	  standard stylesheet to be better for IE and Mozilla. We now have
	  a few font sizings in sitestyle_ie.css.  3. Re-jigged some
	  imagery.

2004-07-27 14:04  paul

	* img/_find.gif: New library image 'FIND' button.

2004-07-26 15:55  paul

	* block-defs.php: Implemented block properties fields at the top of
	  the Wysiwyg form. So we can set things like background colours
	  etc.

2004-07-25 11:34  paul

	* pg-schema-defs.php, schema-defs.php: Many changes to get closer
	  to database-independent functionality. Renamed the pg_* classes
	  to DB_* classes. Any new DB modules will implement the same-named
	  classes.

2004-07-25 11:33  paul

	* maintainer-defs.php: Fixed to work with the new pg-schema-defs
	  clas renamed to DB_schema, from pg_schema in pg-schema-defs.php.

2004-07-25 11:32  paul

	* globals-defs.php: Debugging now in DEBUG class.

2004-07-23 11:57  paul

	* database-defs.php, db-mssql-server.php, db-mysql.php,
	  db-odbc.php, db-oracle.php, db-postgres.php, file-defs.php,
	  lucene-defs.php, pg-schema-defs.php, query-defs.php,
	  schema-defs.php: Latest database modules. Re-ordered parameters
	  for sequence functions and also fix affectedrows for mysql.

2004-07-21 10:01  paul

	* database-defs.php, db-mssql-server.php, db-mysql.php,
	  db-odbc.php, db-oracle.php, db-postgres.php, query-defs.php:
	  Moved locking functionality out into the database-dependent
	  modules, from query-defs.php.

2004-07-19 16:52  paul

	* plugin-defs.php, webpage-defs.php: Moved class page_section to
	  plugin-defs.php, so it gets defined early enough for plugin
	  classes. Not sure why it was working in the first place (Andrew
	  found this problem but all other sites work ok).

2004-07-17 18:11  paul

	* block-defs.php, catalog-defs.php, database-defs.php,
	  datetime-defs.php, db-mssql-server.php, db-mysql.php,
	  db-odbc.php, db-oracle.php, db-postgres.php, forum-defs.php,
	  layout-defs.php, maintainer-defs.php, menu-defs.php,
	  menumaint-defs.php, pim-defs.php, query-defs.php,
	  session-defs.php, utils.php: Some pretty far-reaching changes on
	  the DB-independence front: 1) boolean handling moved out to the
	  db-xxx.php DB modules.  2) Sequence handline also moved out to
	  the db-xxx.php DB modules. With this we now deprecate use of
	  next_sequencevalue() function and advise conversion to use
	  get_next_sequencevalue() function which is DB independent.  3)
	  Added set_datestyle() DB independent session var set function.
	  4) Added standard DB updates for all 'last_modified' fields, for
	  DBs where we won't have triggers defined.

2004-07-14 11:22  paul

	* menumaint-defs.php, recmaint-defs.php, js/recmaint.js: Added new
	  feature for record maintainer. There is a new method in the
	  maintainer called initial_record(). It takes a single value - the
	  value of the record (a key value). On initialisation the
	  maintainer then positions the listbox to the record with that key
	  value. This is done by inserting javascript in the webpage foot.

2004-07-13 09:03  paul

	* configuration-defs.php: Fixed typoed text-field rendering which
	  generated the Initial Value and Default Value fields with "1" in
	  them.

2004-07-09 15:25  paul

	* block-defs.php: 1. We now allow setting of block description.
	  This will be useful when we want to allow content to be picked
	  from a menu and re-used.  2. Support for blocklet_sep attribute
	  (pixels). We separate each blocklet vertically by this whitespace
	  using a null table row.  3. Support for background_img attribute.
	  We can now set the background image of a block by picking images
	  from the ax_catalog table.

2004-07-09 15:23  paul

	* layout-defs.php: No longer set the background colour of the
	  containing layout cell to the same colour as the block. Otherwise
	  if the layout cell is padded, you get the wrong result.

2004-07-09 15:22  paul

	* html-defs.php: Added the generic 'background' attribute. This is
	  a URL which can be used to set the image for background in
	  tables, body...

2004-07-06 14:01  paul

	* html-defs.php: Sort out the image metrics issue with absolute URL
	  and absolute path mismatch in the new website schema.

2004-07-06 13:53  paul

	* block-defs.php: Set min inage padding to zero.

2004-07-06 13:47  paul

	* html-defs.php: Add test for readable file when trying to get
	  image size using gd.

2004-07-06 12:40  paul

	* html-defs.php: Experiment: removal of whitespace before and after
	  the <td> and <th> render in table class.

2004-07-06 12:31  paul

	* block-defs.php: Added 'Default' option for img alignment, which
	  results in no 'align=' tag being emitted. This should stop IE
	  putting padding around the image, in it's inimitable fashion.

2004-07-02 10:23  mark

	* file-defs.php: fixed bug for "realpath" returning FALSE all the
	  time

2004-06-28 09:57  mark

	* selfregistration-defs.php: replaced hard coding of image buttons
	  with $LIBDIR

2004-06-25 15:24  paul

	* control-panel.php: Fixed up for new library arrangement.

2004-06-25 14:29  paul

	* db-mssql-server.php, db-odbc.php, db-oracle.php: Tidied these
	  untested DB modules up by adding in the 'affectedrows()' method.

2004-06-25 13:56  paul

	* db-mysql.php: (Re)fixed the typo password --> passwd.

2004-06-25 08:16  paul

	* db-mysql.php, db-postgres.php: Adjustment to the $rid wrapper
	  approach. We now only do this in database-defs.php, so this is
	  now not necessary in the lower-level db-xxx.php modules.

2004-06-25 08:00  paul

	* db-postgres.php: Wrapped the DB access routines in a test of
	  whether the Resource ID ($rid) is NOT FALSE, and return
	  appropriately if it is.

2004-06-24 20:37  paul

	* database-defs.php, db-mysql.php, db-postgres.php, query-defs.php:
	  1. Postgres DB module now check PHP version and uses new function
	  calls if >=4.2.  2. Affected rows has been reinstated, now that
	  we can check PHP version. The method is called 'affectedrows()',
	  and the variable in query-defs.php has been renamed to be
	  'affectedrowcount'.  3. Wrapped a lot of these DB access routines
	  in a test of whether the Resource ID ($rid) is NOT FALSE, and
	  return appropriately if it is. This should fix the probs with
	  'mysql_num_rows()'.

2004-06-24 10:33  catalyst

	* database-defs.php, db-postgres.php, query-defs.php: Removed the
	  rowsaffected enhancement, since this is not supported with
	  earlier versions of Php/Postgres than 4.3.

2004-06-24 09:50  paul

	* user-defs.php: Additional test clause on update_vars(0 method to
	  cope with databases with booleans which are ints rather than
	  "t"/"f".

2004-06-23 13:52  paul

	* block-defs.php: Changed the references to 'ax_block.columns' to
	  be 'ax_block.cols' to suit certain DBs which don't like us using
	  that word!

2004-06-23 13:30  paul

	* pim-defs.php: Corrected missing '>'

2004-06-08 09:22  paul

	* treemenu-defs.php: Incorporated Simon Watson's change to include
	  a query string in the pattern recognition of the URL which
	  determines whether a menu option is to be highlighted or not.

2004-06-06 11:54  paul

	* img/_exclam.gif: New library image as part of the security
	  update, for Axyl version 2.1.0.

2004-06-06 11:50  paul

	* .htaccess, antihack.php, application-defs.php, application.php,
	  block-defs.php, button-defs.php, catalog-defs.php,
	  configuration-defs.php, constants.php, control-panel.php,
	  data-defs.php, database-defs.php, datetime-defs.php,
	  db-mssql-server.php, db-mysql.php, db-odbc.php, db-oracle.php,
	  db-postgres.php, dbsearch-defs.php, debugger.php,
	  default-application.xml, error-defs.php, fieldvalidation.js,
	  file-defs.php, form-defs.php, forum-defs.php, globals-defs.php,
	  html-defs.php, menu_com.js, recmaint.js, hvmenu-defs.php,
	  image-defs.php, keep-defs.php, layout-defs.php, list-funcs.php,
	  lockfile-defs.php, lucene-defs.php, mail-defs.php,
	  maintainer-defs.php, menu-defs.php, menumaint-defs.php,
	  mime-types.php, monitor-defs.php, optlist-defs.php,
	  paging-defs.php, pg-schema-defs.php, pim-defs.php,
	  plugin-defs.php, query-defs.php, recmaint-defs.php,
	  renderable.php, response-defs.php, rowmenu-defs.php,
	  schema-defs.php, search-defs.php, selfregistration-defs.php,
	  session-defs.php, swish-defs.php, timer-defs.php,
	  treemenu-defs.php, user-defs.php, utils.php, webpage-defs.php,
	  wml-defs.php, xml-defs.php: Changes as part of the security
	  update, for Axyl version 2.1.0.

2004-06-06 11:48  paul

	* js/: fieldvalidation.js, menu_com.js, recmaint.js: The new
	  location for these javascripts.

2004-04-19 08:20  paul

	* file-defs.php: A better version of mkpath() This one handles the
	  case where you submit a single directory name as parameter as in
	  mkpath("thing"); Previously this would have resulted in a new
	  directory called "/thing" (note "/" prefixed). This new version
	  will coreectly create "./thing".

2004-04-19 08:18  paul

	* control-panel.php: Cosmetic.

2004-04-17 16:44  paul

	* menumaint-defs.php: Fixed the page create bit to use $CMDIR.

2004-04-17 16:44  paul

	* file-defs.php: Refined mkpath() function so it checks for the
	  existence of the path before trying to create it.

2004-04-17 15:23  paul

	* menumaint-defs.php: Changed to make sure that newly created pages
	  are created under the $CMDIR hierarchy.

2004-04-17 15:23  paul

	* hvmenu-defs.php: Changed to save 'menu_vars.js' files into the
	  $CMDIR var directory hierarchy, with theme name used as filename
	  prefix.

2004-04-17 14:36  paul

	* block-defs.php: Fixed up four erroneous $LIBDIR/img refs.

2004-04-17 14:35  paul

	* webpage-defs.php: Added in the webpage theme as part of the
	  filename for a cached file. So now we (properly) separate these
	  themede pages in namespace and each can have it's own cached
	  copy.

2004-04-17 11:33  paul

	* default-application.xml: Default debug option to false.  Added in
	  the new CMDIR global to the default application XML config file.

2004-04-16 15:19  paul

	* control-panel.php: Axyl re-structure/debianization.  Added the
	  CMDIR global variable to Axyl. This is the directory which
	  contains managed content created by the user, and must be
	  somewhere underneath the 'var' subdirectory of the website.

2004-04-14 15:21  mark

	* database-defs.php, db-postgres.php, query-defs.php: added tuple
	  rowsaffected

2004-04-14 13:42  mark

	* forum-defs.php: handles css now

2004-04-10 13:00  paul

	* img/_add.gif, img/_approve.gif, img/_approved.gif,
	  img/_archive.gif, img/_arrowD.gif, img/_arrowL.gif,
	  img/_arrowR.gif, img/_arrowRR.gif, img/_arrowU.gif,
	  img/_back.gif, img/_bottom.gif, img/_buttons.gif,
	  img/_calendar.gif, img/_cancel.gif, img/_chevD.gif,
	  img/_chevL.gif, img/_chevR.gif, img/_chevU.gif, img/_clear.gif,
	  img/_copy.gif, img/_create.gif, img/_default.gif, img/_del.gif,
	  img/_delete.gif, img/_document.gif, img/_done.gif, img/_dot.gif,
	  img/_down.gif, img/_e.gif, img/_edit.gif, img/_excel.gif,
	  img/_export.gif, img/_flash.gif, img/_go.gif, img/_hide.gif,
	  img/_home.gif, img/_image.gif, img/_import.gif, img/_less.gif,
	  img/_minus.gif, img/_mop.gif, img/_more.gif, img/_movie.gif,
	  img/_msword.gif, img/_new.gif, img/_next.gif, img/_ok.gif,
	  img/_pad.gif, img/_pad9.gif, img/_paste.gif, img/_pdf.gif,
	  img/_plus.gif, img/_ppt.gif, img/_prev.gif, img/_publish.gif,
	  img/_quit.gif, img/_redx.gif, img/_refresh.gif, img/_remove.gif,
	  img/_reset.gif, img/_revert.gif, img/_save.gif, img/_search.gif,
	  img/_set.gif, img/_show.gif, img/_sound.gif, img/_split.gif,
	  img/_top.gif, img/_transfer.gif, img/_tri.gif, img/_tridown.gif,
	  img/_trileft.gif, img/_unset.gif, img/_up.gif, img/_update.gif,
	  img/_x.gif, _add.gif, _approve.gif, _approved.gif, _archive.gif,
	  _arrowD.gif, _arrowL.gif, _arrowR.gif, _arrowRR.gif, _arrowU.gif,
	  _back.gif, _bottom.gif, _calendar.gif, _cancel.gif, _chevD.gif,
	  _chevL.gif, _chevR.gif, _chevU.gif, _clear.gif, _copy.gif,
	  _create.gif, _default.gif, _del.gif, _delete.gif, _document.gif,
	  _done.gif, _dot.gif, _down.gif, _e.gif, _edit.gif, _excel.gif,
	  _export.gif, _flash.gif, _go.gif, _hide.gif, _home.gif,
	  _image.gif, _import.gif, _less.gif, _minus.gif, _mop.gif,
	  _more.gif, _movie.gif, _msword.gif, _new.gif, _next.gif, _ok.gif,
	  _pad.gif, _paste.gif, _pdf.gif, _plus.gif, _ppt.gif, _prev.gif,
	  _publish.gif, _quit.gif, _redx.gif, _refresh.gif, _remove.gif,
	  _reset.gif, _revert.gif, _save.gif, _search.gif, _set.gif,
	  _show.gif, _sound.gif, _split.gif, _top.gif, _transfer.gif,
	  _tri.gif, _tridown.gif, _trileft.gif, _unset.gif, _up.gif,
	  _update.gif, _x.gif: Library images now in new $LIBDIR/img
	  subdirectory.

2004-04-10 13:00  paul

	* block-defs.php, configuration-defs.php, control-panel.php,
	  html-defs.php, hvmenu-defs.php, layout-defs.php,
	  maintainer-defs.php, menumaint-defs.php, treemenu-defs.php: All
	  fixed up to reference library images from new $LIBDIR/img
	  subdirectory.

2004-04-10 12:23  paul

	* cm-template.php: Moved to 'inc' directory as cm-template.inc.

2004-04-10 11:59  paul

	* axyl-template.php: Moved to 'inc' subdirectory and with new
	  extension of '.inc'.

2004-04-07 07:09  paul

	* file-defs.php: Enhanced the outputfile class to allow opening for
	  append. Default is overwrite - which is compatible with previous
	  class behanviour.

2004-03-26 14:18  simon

	* query-defs.php: Commit function in transaction object bug fix to
	  detect errors thrown on the commit command as well and not just
	  errors thrown by previous transaction queries.

2004-03-19 09:18  mark

	* forum-defs.php: changed functionality to allow site admins to
	  post to a disabled forum sort of like creating a page to preview
	  before making it live.

2004-03-18 09:58  mark

	* _approved.gif: modified image

2004-03-18 09:55  mark

	* _approve.gif: new admin button for transfers

2004-03-17 07:43  mark

	* selfregistration-defs.php: fixed cancel button to do what it's
	  sposed to...

2004-03-15 09:40  paul

	* _approved.gif, _transfer.gif: New buttons for Axyl.

2004-03-11 13:51  mark

	* pg-schema-defs.php: bah!

2004-03-11 13:49  mark

	* pg-schema-defs.php: casting the id type to the query

2004-03-01 09:34  mark

	* forum-defs.php: more cosmetic changes

2004-03-01 09:20  mark

	* forum-defs.php: latest changes to forum defs

2004-02-27 16:26  mark

	* forum-defs.php: forum main heading style change

2004-02-27 15:34  mark

	* forum-defs.php: style changes

2004-02-27 10:36  mark

	* forum-defs.php: style changes

2004-02-26 12:17  mark

	* forum-defs.php: fixed the missing "posted by" text when replying
	  to a forum post

2004-02-26 12:14  mark

	* forum-defs.php: missed a style

2004-02-26 11:56  mark

	* selfregistration-defs.php: allowed self reg to label the forums
	  and who it's for

2004-02-26 09:17  mark

	* forum-defs.php: changed forums to use style sheet

2004-02-25 13:35  mark

	* forum-defs.php: forums extras

2004-02-25 08:58  paul

	* monitor-defs.php: Added method 'suppress_condition()' to the
	  generic monitor class. This records that condition as being
	  supressed and hence it won't be notified if it arises.

2004-02-02 20:26  paul

	* monitor-defs.php: Removed debugging.

2004-02-02 20:24  paul

	* monitor-defs.php: Fixed condition value ordering.

2004-02-02 20:21  paul

	* monitor-defs.php: Extra debugging

2004-02-02 16:20  paul

	* response-defs.php: Fix to case where we have a CGI (or WAP phone)
	  browser, and the Keep in enabled in the XML application config
	  file. We check for this just after reading the config and force
	  the Keep to be switched 'off'.  - Fixed typo!!

2004-02-02 15:44  paul

	* response-defs.php: Fix to case where we have a CGI (or WAP phone)
	  browser, and the Keep in enabled in the XML application config
	  file. We check for this just after reading the config and force
	  the Keep to be switched 'off'.

2004-02-02 14:02  paul

	* monitor-defs.php: Changed enumeration values for the conditions
	  to be more sensible numbers.

2004-02-02 13:42  paul

	* response-defs.php: Added a debug_output(DBG_O_CLI); call when we
	  have a browser = CLI situation.

2004-02-02 13:41  paul

	* monitor-defs.php: Fixed bug in the way the "nolockfile" option is
	  handled. Also changed to return the overall condition status code
	  on return of the check() method.

2004-01-31 13:44  paul

	* monitor-defs.php: Ceated another command-line option "testing" to
	  go alongside "verbose" for the timeslot stuff. The "verbose"
	  option now only causes e-mailed reports to be sent for everything
	  including OK statuses, not pager alerts. The new "testing" option
	  does what "verbose" used to do - send emails AND pager alerts for
	  everything including OK statuses.

2004-01-23 08:15  paul

	* lucene-defs.php: Print out full path of failed index stories.

2004-01-23 07:52  paul

	* lucene-defs.php: Print out full path of failed index stories.

2004-01-22 11:52  paul

	* lucene-defs.php: Clear stat cache for file_exists() status to be
	  updated.

2004-01-22 11:26  paul

	* lucene-defs.php: Lockfile timeout exit strategy changes.

2004-01-22 11:10  paul

	* lucene-defs.php: Lockfile timeout exit strategy changes.

2004-01-22 10:58  paul

	* lucene-defs.php: Added a couple of debugs for when we wait for
	  lockfile.

2004-01-22 10:05  paul

	* lucene-defs.php: Implemented a lockfile avoidance scheme for the
	  file_indexer class whereby we can wait for a lockfile to go away
	  (and limit the wait time too if required) before indexing a file.
	  This is intended to be used to limit load during a large
	  re-indexing process.

2004-01-16 10:40  mark

	* .htaccess: changes to files and things for template display

2004-01-13 17:08  paul

	* layout-defs.php: Got rid of debug statements (commented out).

2004-01-10 12:04  paul

	* plugin-defs.php: Fixed up buglet introduced by removal of the
	  pseudo include_once definitions which were part of the original
	  Axyl library prior to 'include_once' coming along. We had a
	  reference to $LAYOUT_DEFS when rendering plugins.

2004-01-10 08:59  paul

	* paging-defs.php, pg-schema-defs.php, pim-defs.php,
	  plugin-defs.php, query-defs.php, recmaint-defs.php, recmaint.js,
	  renderable.php, response-defs.php, rowmenu-defs.php,
	  schema-defs.php, search-defs.php, selfregistration-defs.php,
	  session-defs.php, swish-defs.php, timer-defs.php,
	  treemenu-defs.php, user-defs.php, utils.php, webpage-defs.php,
	  wml-defs.php, xml-defs.php, antihack.php, application-defs.php,
	  application.php, axyl-template.php, block-defs.php,
	  button-defs.php, catalog-defs.php, cm-template.php,
	  configuration-defs.php, constants.php, control-panel.php,
	  data-defs.php, database-defs.php, datetime-defs.php,
	  db-mssql-server.php, db-mysql.php, db-odbc.php, db-oracle.php,
	  db-postgres.php, dbsearch-defs.php, debugger.php, error-defs.php,
	  fieldvalidation.js, file-defs.php, form-defs.php, forum-defs.php,
	  globals-defs.php, html-defs.php, hvmenu-defs.php, image-defs.php,
	  keep-defs.php, layout-defs.php, list-funcs.php,
	  lockfile-defs.php, lucene-defs.php, mail-defs.php,
	  maintainer-defs.php, menu-defs.php, menumaint-defs.php,
	  mime-types.php, monitor-defs.php, optlist-defs.php: Cosmetic
	  only. Updated the header for each file.

2004-01-10 08:34  paul

	* db-defs.php, tableviewer-defs.php: These were written
	  specifically for rugbyvu, and have now been removed from the main
	  Axyl library.

2004-01-07 09:34  paul

	* makedoc.sh: Irrelevant file.

2004-01-03 11:12  paul

	* menumaint-defs.php: Made title bar in standard Axyl 'axtitle'
	  style.

2004-01-03 11:12  paul

	* treemenu-defs.php: Implemented vertical-align style for treemenu.

2004-01-03 10:49  paul

	* hvmenu-defs.php: Corrected a style-name typo:
	  menu-vertical-align.

2004-01-02 11:27  paul

	* block-defs.php, layout-defs.php: Altered labels for supplementary
	  style textbox.

2004-01-02 11:23  paul

	* hvmenu-defs.php: Corrected the vertical overlap limits, and
	  assignment sense.

2004-01-01 17:36  paul

	* control-panel.php: Upgraded to the new Axyl 'look'.

2004-01-01 17:35  paul

	* block-defs.php, layout-defs.php: Enhancement: provision of three
	  extra text-fields for entering supplementary style settings into
	  for layout, block and blocklet. The styles are standard CSS such
	  as "font-weight:bold" etc. With Layout and Black these only
	  really affect the enclosing tables. With the Blocklet they affect
	  the content.	NOTE: this requires an Axyl schema upgrade for
	  extra fields on the following tables: ax_layout, ax_block and
	  ax_blocklet.

2003-12-31 19:41  paul

	* maintainer-defs.php: Fixed small bug whereby defaulted text
	  fields were being set to the intended value INCLUDING the
	  surrounding quotes. So a field which was defaulted in the schema
	  to 'foo' was being set to '\'foo\'' by the maintainer, instead of
	  just 'foo'.

2003-12-31 16:16  paul

	* block-defs.php, control-panel.php, layout-defs.php,
	  menumaint-defs.php: Changed to go with the latest sitestyle.css
	  where we have renamed a few critical CSS classes to be prefixed
	  with "ax". These are just ones used to mainly render various
	  forms etc. and should not impact applications very much.

2003-12-30 13:04  paul

	* hvmenu-defs.php, menu-defs.php, treemenu-defs.php: Some major
	  changes to the treemenu class, plus minor changes to the format
	  of the stylesheet (menus section) sitestyle.css whereby we have
	  split out the highlight items styles to two new classes:
	  '.menu_highlight' and '.submenu_highlight'. The main changes are
	  to the way the treemenu gets rendered, with a lot more control
	  over style.

2003-12-23 09:49  paul

	* form-defs.php: Add provision for Accept-Charset attribute in
	  <FORM> tag.  By default no atribute will be inserted.

2003-12-17 08:44  paul

	* layout-defs.php: Removed some rather verbose debugging.

2003-12-17 08:44  paul

	* lucene-defs.php: Minor adjustment to the lucene response debug
	  message.

2003-12-16 10:37  paul

	* layout-defs.php: Interim fix for content management version
	  creation bug whereby the new layout was created linked to the old
	  block. Caused by omission of a reset() on a associative array.

2003-12-12 08:58  paul

	* layout-defs.php: Allow index() method to index no matter what the
	  version. Ie. make this a genuine servant method which does just
	  what it is told. Alos added call to index() from the publish()
	  method, so all content being published is indexed.

2003-12-12 07:43  paul

	* block-defs.php: Trying the effect of NOT stripping tags from
	  indexed content. This means that text in href's and titles will
	  now be indexed.

2003-12-08 15:45  mark

	* forum-defs.php: removed thread display bug.

2003-12-07 20:09  paul

	* forum-defs.php: Just a few small changes - added in explicit
	  RESPONSE->requested for href generation in various places.

2003-12-07 15:40  paul

	* forum-defs.php: Some fixups: - Got rid of the hard-wired
	  ccs_forums.php page reference. Replaced this with
	  $RESPONSE->requested so it will work with any page.  - Also got
	  rid of all the 't' and 'f' references and replaced these with
	  proper booleans and used istrue() and set() to get/set these vars
	  in from/to the database.

2003-12-03 14:42  paul

	* lockfile-defs.php: Corrected small bug noticed by Mark: an equals
	  sign had been typoed into a minus sign.

2003-11-13 15:47  paul

	* lucene-defs.php: In index_tree loop we now do not crap out on
	  first failure. We also total failed and succeeded and report at
	  the end.

2003-11-12 21:42  paul

	* lucene-defs.php: Added special sequences of left/right
	  double-quotes and apostrophe to be replaced with ascii
	  equivalents, in the index_file() method. Reworked slightly.

2003-11-12 21:36  paul

	* lucene-defs.php: Added special sequences of left/right
	  double-quotes and apostrophe to be replaced with ascii
	  equivalents, in the index_file() method. Reworked slightly.

2003-11-12 21:33  paul

	* lucene-defs.php: Added special sequences of left/right
	  double-quotes and apostrophe to be replaced with ascii
	  equivalents, in the index_file() method. Reworked slightly.

2003-11-12 21:26  paul

	* lucene-defs.php: Added special sequences of left/right
	  double-quotes and apostrophe to be replaced with ascii
	  equivalents, in the index_file() method. Reworked slightly.

2003-11-12 21:18  paul

	* lucene-defs.php: Added special sequences of left/right
	  double-quotes and apostrophe to be replaced with ascii
	  equivalents, in the index_file() method. Reworked slightly.

2003-11-12 21:12  paul

	* lucene-defs.php: Added special sequences of left/right
	  double-quotes and apostrophe to be replaced with ascii
	  equivalents, in the index_file() method. Reworked slightly.

2003-11-12 20:09  paul

	* lucene-defs.php: Added special sequences of left/right
	  double-quotes and apostrophe to be replaced with ascii
	  equivalents, in the index_file() method. Reworked slightly.

2003-11-12 19:57  paul

	* lucene-defs.php: Added special sequences of left/right
	  double-quotes and apostrophe to be replaced with ascii
	  equivalents, in the index_file() method. Reworked slightly.

2003-11-12 19:42  paul

	* lucene-defs.php: Added special sequences of left/right
	  double-quotes and apostrophe to be replaced with ascii
	  equivalents, in the index_file() method.

2003-11-11 10:29  paul

	* monitor-defs.php: Fixed diskspace monitor bug where the var to
	  compare space with was lacking a $this-> de-reference.

2003-11-10 10:57  mark

	* forum-defs.php: error rewording

2003-11-10 10:31  mark

	* forum-defs.php: fixed bug where was trying to use thread which
	  didn't exist.

2003-11-07 15:35  mark

	* forum-defs.php: added fixes for no forumid and no threadid bugs

2003-11-07 15:03  mark

	* forum-defs.php: fixed another bug.

2003-11-07 14:22  mark

	* forum-defs.php: fixing some security holes

2003-11-07 12:11  mark

	* forum-defs.php: fixed another small bug

2003-11-07 12:00  mark

	* forum-defs.php: added the ability for moderators to access teh
	  same functionality the admins and editors can within a particular
	  forum.

2003-11-06 07:24  mark

	* forum-defs.php: added admin/editor THREAD LOCKing and THREAD
	  STICKY functions

2003-11-04 15:13  mark

	* forum-defs.php: added administrators and editors ability to
	  "silently" edit any forum post.  including the messages that are
	  thread header messages.

2003-10-24 16:11  mark

	* forum-defs.php: fixed bug with deleting thread did wrong stuff
	  after.  was not clearing out the deleted thread and including it
	  when it was meant to be deleted).

2003-10-24 14:00  mark

	* selfregistration-defs.php: fixed "no auth code in database"
	  message

2003-10-24 13:26  mark

	* forum-defs.php, selfregistration-defs.php: display and function
	  additions to these defs files

2003-10-23 15:22  paul

	* renderable.php: Set default browser type to HTML

2003-10-23 09:03  mark

	* selfregistration-defs.php: added email validation

2003-10-22 14:37  mark

	* selfregistration-defs.php: more form checks when updating
	  registration

2003-10-22 14:03  mark

	* selfregistration-defs.php: added in function to change password
	  on update registration

2003-10-22 13:24  mark

	* selfregistration-defs.php: added edit reg functionality

2003-10-20 15:39  paul

	* response-defs.php: Refining the detection logic (and probably
	  fucking it up in the process;-)

2003-10-20 12:17  paul

	* response-defs.php: Included browser make detection so that we use
	  our list of phones there. Also tidied away some diagnostics.

2003-10-20 11:41  paul

	* response-defs.php: Fixed another stupidity in the browser
	  detection mechanism.

2003-10-20 11:30  paul

	* response-defs.php: Fixed detection typo. Tidied recog strings.

2003-10-20 10:06  paul

	* renderable.php, response-defs.php: Refined the detection phase.
	  Recognise WAP phones explicitly from the User-Agent field now,
	  using makes: nokia, sharp, ericsson, motorola etc.  More will be
	  added soon.

2003-10-20 09:47  paul

	* response-defs.php: Try old apache_request_headers() instead of
	  getallheaders() function.  REVERT

2003-10-20 09:42  paul

	* response-defs.php: Try old apache_request_headers() instead of
	  getallheaders() function.

2003-10-20 09:24  paul

	* response-defs.php: Added user agent to response object.

2003-10-19 20:13  paul

	* response-defs.php: Deal with idiot phones which can't fucking
	  send the vnd.wap accept string in the accept header. This is a
	  temporary fix, since we can't default the site to WML just
	  because no HTML browser is recognised.

2003-10-19 17:41  paul

	* renderable.php: Got rid of the XHTMLMP variant for mobile phones.
	  XHTML should be the same whatever the device it is sent to.

2003-10-19 17:40  paul

	* response-defs.php: 1. Refining the browser_type detection
	  mechanism. We still detect the main HTML browsers as before. When
	  these are not matched it is likely to be a phone or a PDA, and
	  this is where the changes lie. We now look at the HTTP_ACCEPT
	  header and for the newer XHTML capable phones we go for standard
	  old WML if we get a "vnd.wap" variant in the accept header,
	  otherwise we might go for xhtml or just html. Currently there is
	  no difference in the rendering of the latter two.

	  2. Have fixed up the browser_type switch statements to use the
	  new BROWSER_TYPE constants rather than plain text strings.

2003-10-17 07:55  paul

	* response-defs.php: Keep detection mechanism, but revert to WML as
	  default if the HTML browsers are not detected in the
	  HTTP_USER_AGENT string. (Hopefully fixes the error reported by
	  Matthew).

2003-10-16 21:18  paul

	* renderable.php, response-defs.php, session-defs.php, utils.php,
	  webpage-defs.php, wml-defs.php: Implemented some more browser
	  types and enhanced the detection functionality so that we get
	  accurate browser types especially for WAP phones which can do
	  XHTML. Currently we don't use the extra types much and just map
	  the HTML ones onto the standard HTML, and the WAP ones onto
	  either WML or WMLUP as before. However it should mean things get
	  recognised better. The default if nothing is detected is also now
	  HTML, rather than falling through to WML as it used to before.

2003-10-15 10:54  mark

	* selfregistration-defs.php: latest self reg defs file

2003-10-15 09:40  mark

	* selfregistration-defs.php: add the selfregistration-sefs to the
	  axyl library

2003-10-14 10:13  paul

	* lockfile-defs.php: Tidied up the error report for lockfile errors
	  regarding PID.

2003-10-14 10:06  paul

	* monitor-defs.php: Corrected condition codes. Added CR's to email
	  messages.

2003-10-14 09:52  paul

	* monitor-defs.php: Fixed bug in raising of error when monitor
	  error condition has been detected due to lockfile problems.

2003-10-14 09:51  paul

	* lockfile-defs.php: Fixed bug in calculation of lockfile age.

2003-10-14 07:48  mark

	* forum-defs.php: latest forum defs.

	  new functionality...

2003-10-09 16:07  mark

	* forum-defs.php: latest forum defs file

2003-10-09 10:17  paul

	* mail-defs.php: Implemented the CC and BCC headers! Duh.

2003-10-09 08:38  mark

	* forum-defs.php: current forum defs

2003-10-07 16:18  mark

	* forum-defs.php: latest axyl_forums

2003-10-06 09:52  mark

	* forum-defs.php: new forum-defs.php file

2003-10-04 20:07  paul

	* mail-defs.php: Fixed long-standing bug where lines in the main
	  body of an email with attachments would have line-breaks
	  inserted. This was due to the indiscrimate application of the
	  "chunk_split()" function to article body text. We now only apply
	  it to base_64_encoded MIME data.

2003-10-02 16:28  paul

	* maintainer-defs.php: Removed the hiding option for Joined tables
	  on Add. We still hide Linked and Detail tables forms though.

2003-09-26 12:21  paul

	* block-defs.php, layout-defs.php: Removed erroneous footers
	  (axfoot style).

2003-09-26 10:20  paul

	* block-defs.php, layout-defs.php: Enhanced to conform to the new
	  Axyl styles for form elements and form headings etc.

2003-09-26 07:44  paul

	* menumaint-defs.php: Remove hard-wired table width and alignment.
	  Made it a descendant of HTMLObject and now the container table
	  inherits attributes as specified via styles etc. by the creator
	  of the object at the top level.

2003-09-25 13:11  paul

	* form-defs.php, html-defs.php, maintainer-defs.php: Various
	  changes.

2003-09-23 19:56  paul

	* maintainer-defs.php: Prevent display of linked/joined/detail
	  table forms if we are performaing an ADD operation on the main
	  table. This is because of the old chicken and the egg scenario,
	  where we haven't got a master record to relate to the others yet.
	  The idea is to insert the main record and then they get the
	  related forms to play with after that.

2003-09-23 15:48  paul

	* menu-defs.php: Fixed the get_if_modified so that it works.

2003-09-23 15:46  paul

	* menumaint-defs.php: Fixed Axyl style error.

2003-09-23 15:46  paul

	* form-defs.php: Minor changes: 1. the <hr> tag is now rendered
	  just as <hr>.  2. The form elements like labelfield, textcontent,
	  and annotation now can have a css parameter. Unfortunately this
	  isn't used anywhere on render yet.  3. Fixed long-standing foible
	  in combofield additem() method where the value is assigned to the
	  same as the key if blank. Changed to make this assign blank if
	  blank is passed, but to use the key if the value is omitted.	4.
	  Fixed up the Phpdoc comments so they should work now.

2003-09-23 15:41  paul

	* pim-defs.php: Added a method to render the contact details as a
	  \n delimited ascii string.

2003-09-23 15:40  paul

	* treemenu-defs.php: Make the get_if_modified save to session if
	  changes are detected.

2003-09-23 15:40  paul

	* maintainer-defs.php: Changed so that FK dropdowns get a null
	  value element when the field is NULLABLE.

2003-09-22 20:51  paul

	* menumaint-defs.php: Narrowed this form to 600px.

2003-09-22 20:51  paul

	* form-defs.php: Fixed so that the displayonly field type gets the
	  Axyl label style. Also fixed so that the listbox select gets
	  vertically aligned top.

2003-09-22 20:49  paul

	* maintainer-defs.php: Fixed various bugs in rendering and
	  submitting the m2m linked table configuration. Fixed up the
	  set_labelfields for master-detail, and fixed up the new Axyl
	  styling to work better.

2003-09-22 12:51  paul

	* configuration-defs.php, control-panel.php, maintainer-defs.php,
	  menumaint-defs.php: Altered to use the new Axyl styles in the
	  standard sitestyle.css. This should mean that the forms generated
	  from these modules should look better and more consistent.

2003-09-22 12:50  paul

	* form-defs.php: Added new properties: labelcolon (boolean),
	  labeljustify (string: 'left' or 'right'), labelcss (string).
	  These just allow a bit of styling to be applied to form
	  generation.  We also now inherit the form style/class etc.
	  properly.

2003-09-22 12:48  paul

	* treemenu-defs.php: Cosmetic only.

2003-09-21 09:43  paul

	* monitor-defs.php: Changed to suit the new locking scheme. We now
	  do lock..unlock inside the check() method each time it is called.
	  Previously we were not removing the lockfile when in a 'skip'
	  timeslot.

2003-09-17 20:38  paul

	* maintainer-defs.php, form-defs.php: Using new HTMLObject method
	  "inherit_attributes()"  to sets the objects style and look from
	  the containing object.

2003-09-17 20:37  paul

	* html-defs.php: New method "inherit_attributes()" passed an
	  HTMLObject object instance as the only parameter. Sets the
	  current objects style and look from the given object. Used to
	  make tables contained within an HTMLObject look the same etc.

2003-09-15 13:20  paul

	* menu-defs.php: Added $max_level_depth property - max levels the
	  menu goes to. Also make sure we don't assign a menu option for
	  ID=0.

2003-09-15 13:12  paul

	* rowmenu-defs.php: First working rowmenu class. This renders
	  hierarchical menus horizontally level-by-level starting with top
	  level. It only shows lower levels if they are "expanded" via
	  clicking on a parent level submenu-heading item. Fully persistent
	  as per the treemenu, using the same ax_wwwsession.menu_status
	  field to save serialized menu object.

2003-09-15 13:11  paul

	* treemenu-defs.php: A few tidy-ups plus now using ID attribute in
	  the <A> tag to assign the .hlmenuitem styling from sitestyle.css.
	  This targets the links properly and stops all the cascading
	  inheritance problems with links.

2003-09-14 13:23  paul

	* rowmenu-defs.php: Work in progress. only.

2003-09-14 13:22  paul

	* menu-defs.php: Renamed internal var "description" to be "desc" to
	  save some space.

2003-09-14 13:22  paul

	* treemenu-defs.php: Cosmetic only. Removed debugging and
	  streamlining some code.

2003-09-14 13:21  paul

	* control-panel.php, default-application.xml, session-defs.php:
	  Updated the Axyl application control-panel settings. We now have
	  two new options as follows: 1) $INCDIR which is a global variable
	  just like $IMAGESDIR and is defaulted to website root
	  sub-directory "inc". This can be used to specify the location of
	  a directory where you might have 'include files" (eg. *.inc) for
	  your Php modules.  2) There is a new session cookie lifetime
	  modifier in the session section which is a checkbox. When checked
	  (default not) the 'Guest cookies browser lifetime' option causes
	  guest logins to be assigned a cookie lifetime for the duration
	  their browser is open, over-riding the cookie lifetime setting
	  for logins.

2003-09-14 11:19  paul

	* _mop.gif: Menu option image 9x9 pixels.

2003-09-14 11:16  paul

	* menu-defs.php, treemenu-defs.php: Implementation of the treemenu
	  (vertical orientation only so far) class. This is a non
	  javascript hierarchical menu system which is implemented as a
	  persistent menu via serialized menu object stored in
	  ax_wwwsession.menu_status.

2003-09-14 11:14  paul

	* response-defs.php: Backward-compatible change - no need for code
	  changes. This is an additional option.  Response now looks for
	  global $cachecontrol (usually supplied on a URL) and if it
	  contains "dynamic" then any page_expiry which has been specified
	  for the website will be over-ridden and dynamic behaviour
	  implemented instead (via http headers).  For example, this is
	  used by the treemenu class, so that menus get refreshed every
	  round-trip and not cached.

2003-09-13 10:57  paul

	* monitor-defs.php: Fixed erroneous lockfile filename error. We
	  were always creating a new lockfile object with a nullstring
	  path.

2003-09-10 16:22  paul

	* hvmenu-defs.php, menu-defs.php, treemenu-defs.php: Split out
	  HVmenu, and treemenu from the original menu-defs.php as it was
	  getting a bit over-subscribed. Generally you will want to choose
	  which menu type to use and not be encumbered with other code.

2003-09-10 16:21  paul

	* menumaint-defs.php: Cosmetic only - comments.

2003-09-09 20:59  paul

	* _pad.gif: Padding widget. Single transparent pixel which we can
	  expand by specifying the width/height attributes in HTML
	  rendering.

2003-09-09 20:57  paul

	* image-defs.php: Include-once for renderable.php. Cosmetic really.

2003-09-09 20:57  paul

	* session-defs.php: Re-named the property "record" to be
	  "session_record" in the session class. This might break code
	  which references this property, but it is unlikekly anything
	  does. Naming was bad, hence this renaming.

2003-09-09 20:55  paul

	* file-defs.php: Removed return values from constructor of
	  stylesheet class.

2003-09-09 20:54  paul

	* utils.php: Two new functions href_addparm(0 and href_delparm().
	  With the first you give it a url, a key and a value. It adds the
	  key=value to the url but replaces it if already there. The second
	  removes a named key from a url. Useful for url re-writing.

2003-09-09 20:53  paul

	* menu-defs.php: Added the new treemenu class.	Also brought the
	  menuoption class in from maintainer-defs

2003-09-09 20:52  paul

	* html-defs.php: 1. Added target attribute, and settarget() method.
	  For links.  2. Added the anchor class for <A> tags. Supercedes
	  old Link class in button-defs.php

2003-09-09 20:50  paul

	* menumaint-defs.php: Menuoption class moved from maintainer-defs
	  module to menu-defs module.

2003-09-07 11:50  paul

	* _home.gif, home.gif: Renamed to _home.gif

2003-09-07 11:48  paul

	* _calendar.gif, _less.gif, _minus.gif, _more.gif, _plus.gif,
	  home.gif: New utility images

2003-09-06 08:34  paul

	* application.php, catalog-defs.php, control-panel.php,
	  file-defs.php, maintainer-defs.php, plugin-defs.php,
	  query-defs.php, timer-defs.php, webpage-defs.php: Cosmetic
	  changes only. Phpdoc package assignments.

2003-09-05 17:48  paul

	* monitor-defs.php: Corrected erroneous comments on check() method.

2003-09-05 17:42  paul

	* lockfile-defs.php, monitor-defs.php, optlist-defs.php: Added
	  Phpdoc stuff.

2003-09-05 17:24  paul

	* monitor-defs.php: Cosmetic. Added some more comments.

2003-09-05 17:09  paul

	* monitor-defs.php: Implemented another monitor class
	  'exec_monitor'. This class implements a monitor which executes a
	  script or program and uses the output or the return code to
	  determine success. With this monitor you can basically do
	  anything that you can do with Perl or shell scripts (or any other
	  programing language which can return a result code) to monitor
	  systems, and have it integrated into the Axyl monitoring
	  platform.

2003-09-05 15:08  paul

	* file-defs.php: 1. Added new function 'unique_filename' which
	  returns a unique filename as an md5 string with optional
	  user-specified prefix, and extension.

	  2. Added new class 'quickfile' which is instantiated with a path
	  and a string containing content. The file is created, and the
	  content saved to it. You can check the 'created' boolean property
	  to check for success.

	  3. Enhanced the 'closefile' method of the 'outputfile' class so
	  it returns a boolean, TRUE, if the file was closed successfully.
	  Mainly this is useful when content has been written, to make sure
	  that it got created properly.

2003-09-05 15:03  paul

	* response-defs.php: Refined the assignment of the $RESPONSE
	  property 'http_host". For the HTTP case this remains the same, as
	  it does for WML. However for CLI we now exec a backtick (shell
	  command) to return the hostname, since we do not have apache to
	  define the http_host in this particular case.

2003-09-05 15:01  paul

	* optlist-defs.php: Cosmetic. Removed debug code.

2003-09-05 15:01  paul

	* datetime-defs.php: Cosmetic. Expanded comments.

2003-09-05 15:00  paul

	* monitor-defs.php: Module containing classes to undertake
	  monitoring tasks. There are currently the following monitor
	  classes defined: postgres_monitor, file-monitor, lucene_monitor
	  and diskspace_monitor. These can be instantiated/configured and
	  then plugged into a main monitor class which will run them and
	  look after notifications etc. The system will email and send SMS,
	  depending on the results of the monitoring.

2003-09-05 14:58  paul

	* lockfile-defs.php: Module for managing a lockfile. Allows you to
	  specify the name, or have one generated, and manages the creation
	  of it. If the lockfile exists already then you can specify time
	  limits to determine hung processes. If the lockfile is older than
	  the specified time then the 'lockfile' class will look for the
	  attached process and try to kill it. It will also remove an
	  orphaned lockfile. Should the process not be killed then the
	  lockfile handler will 'freeze' the system to indicate this.

2003-09-01 15:43  paul

	* webpage-defs.php: Fix up image references in "background="
	  attribute of <body> tag. This adjusts any references to point at
	  the theme IMAGESDIR.

2003-08-31 20:24  paul

	* optlist-defs.php: New module which has the "optlist" class for
	  handling command line options of the --optname=optvalue kind.

2003-08-27 17:18  paul

	* ChangeLog: Latest Axyl library Change Log

2003-08-27 17:17  paul

	* block-defs.php, layout-defs.php: Implemented user-definable
	  "index_category" per ax_layout. Each layout, when you edit it,
	  shows a new field for typing a category string of your choice. If
	  left blank (the default) the category is always "sitecontent". If
	  you put something else in there, then all BLOCKS of that LAYOUT
	  will be indexed with that "category" field in Lucene.  NB: as
	  soon as you commit the change to the layout index category, all
	  blocks of the layout will be re-indexed.

2003-08-27 16:16  paul

	* form-defs.php: Added autocomplete attribute and new
	  disable_autocomplete() method for form elements. Mainly useful
	  for password fields where you don't want the browser saving
	  passwords in insecure "user convenience" caches.

2003-08-26 20:34  paul

	* constants.php, utils.php: Just provided a new filesize display
	  formatting function which returns a nice string filesize (eg.
	  123GB) for a given integer bytesize passed in.

2003-08-25 13:06  paul

	* catalog-defs.php: Corrected typo.

2003-08-25 13:04  paul

	* catalog-defs.php: When searching, exclude "sitecontent" category.
	  This omits all Axyl block content hits.

2003-08-25 12:26  paul

	* catalog-defs.php: When catalog item sucessfully retreived from DB
	  make sure that the 'newcat' flag is reset.

2003-08-24 21:44  paul

	* catalog-defs.php: Fixed typo in filtering.

2003-08-24 21:25  paul

	* catalog-defs.php: Implemented catalog class to contain catalog
	  items. Does searches on Lucene and database for items.

2003-08-24 21:25  paul

	* mime-types.php: Added a mime_category array with
	  descriptions/labels for displaying in dropdowns etc.

2003-08-24 21:24  paul

	* lucene-defs.php: Fixed boost parameter non-pass-thru problem.

2003-08-22 13:55  paul

	* catalog-defs.php: New catalogitem class for handling these things
	  more conveniently. Also deals with indexing them to Lucene.

2003-08-18 14:18  paul

	* datetime-defs.php: Added new schedule class. Handles timeslots as
	  a schedule.

2003-08-16 09:58  paul

	* ChangeLog: Latest Changelog, for those that want it.

2003-08-16 09:56  paul

	* lucene-defs.php: Added disconnect() call, after each message has
	  been sent. This closes the socket properly. Once a message is
	  sent, the reason for the socket being there has gone.

2003-08-15 11:44  paul

	* file-defs.php: Fixed special case where file-upload form is
	  submitted with null filename in the field. Now correctly detects
	  this and sets nothing uploaded flags and counters.

2003-08-15 11:43  paul

	* query-defs.php: Removed parameter doco for returned bools on
	  start_transaction and begin_transaction.  These function return
	  void.

2003-08-04 10:58  paul

	* block-defs.php: Fixes to cope with renamed ax_catalog field
	  "category" -> "mime_category".

2003-08-04 10:54  paul

	* block-defs.php: Cope with non-valid media types when rendering
	  them.

2003-07-29 15:08  paul

	* menumaint-defs.php: Corrected typo'd fieldname in menu insert.

2003-07-23 20:06  paul

	* datetime-defs.php: Added new datetime display format ISO_8601
	  which displays datetimes in format: YYYYMMDDTHHMMSS+HHMM.

2003-07-23 16:39  paul

	* maintainer-defs.php: 1. We now handle the 'date' datatype. This
	  needs special handling due to the lack of a time component.  2.
	  Also changed the POST processing slightly. If an empty string is
	  returned for either a datetime or date field, it is stored on the
	  database as NULL.

2003-07-23 16:38  paul

	* datetime-defs.php: Added new conversion function
	  displaydate_to_date(). Same as the existing function
	  displadate_to_datetime() but omits (truncates) the time portion.

2003-07-23 16:37  paul

	* pg-schema-defs.php: Added new generic datatype: date.

2003-07-23 15:17  paul

	* application-defs.php: No functional change. Just changed to use
	  the new xmlheader() function.

2003-07-23 15:16  paul

	* xml-defs.php: 1. Added new xmlheader() utility function. Returns
	  the standard <?xml...> header. You can speciy the version and
	  encoding, otherwise it defaults to 1.0 and utf-8.  2. Added parm
	  to the xmltag() class so that we can tell it not to use CDATA
	  encoding for the value of a tag. Defaults to using it as before.

2003-07-23 15:14  paul

	* mime-types.php: Added the text/xml mime type.

2003-07-23 15:14  paul

	* mail-defs.php: 1. Removed the overlapping mime types which are
	  also in mime-types.php. These are all the common document, audio
	  and media ones.  2. Re-worked the headers. If a Disposition is
	  given the description is now used as a filename for the
	  Content-Disposition header, and no Content-Description header is
	  emitted.

2003-07-18 12:05  paul

	* query-defs.php: Added a new method to dbquery class called
	  "eof()". Returns true if the query is currently on the last
	  record of a resultset.

2003-07-14 19:50  paul

	* response-defs.php: Do "closed.php" check AFTER the
	  application.xml file has been processed, so that we have access
	  to site names, dirs etc.  and can therefore display the closed
	  screen properly.

2003-07-14 19:50  paul

	* block-defs.php: Added "Default" option to blocklet justify select
	  menu.

2003-07-10 19:20  paul

	* ChangeLog: Latest change log.

2003-07-10 19:00  paul

	* lucenex-defs.php, pager-defs.php, varpool-defs.php: These files
	  are obsolete.

2003-07-09 19:40  paul

	* html-defs.php: Embedded object internal name - strengthening.
	  Correcting the pattern.  Ok, brute-force approach - we are now
	  md5'ing it too!

2003-07-09 19:39  paul

	* html-defs.php: Embedded object internal name - strengthening.
	  Correcting the pattern.  Adding escapes.

2003-07-09 19:37  paul

	* html-defs.php: Embedded object internal name - strengthening.
	  Correcting the pattern.  Adding quotes to it, and += for good
	  measure!

2003-07-09 19:36  paul

	* html-defs.php: Embedded object internal name - strengthening.
	  Correcting the pattern.  Excluding brackets.

2003-07-09 19:33  paul

	* html-defs.php: Embedded object internal name - strengthening.
	  Correcting the pattern.

2003-07-09 19:24  paul

	* html-defs.php: Embedded object internal name - strengthening.

2003-07-09 19:23  paul

	* response-defs.php: Cosmetic changes - removed some commented-out
	  debugging.

2003-07-09 16:08  paul

	* _document.gif, _msword.gif: Revised images.

2003-07-09 12:32  paul

	* maintainer-defs.php: Propagated the hiddenbuttons setting down to
	  the detail maintainer level so the buttons there are affected as
	  well.

2003-07-08 17:28  paul

	* maintainer-defs.php: Implemented new set_hiddenbuttons() method
	  so we can remove selected buttons from the interface.

2003-07-08 15:18  paul

	* maintainer-defs.php: Tidied up the POSTprocess getting of posted
	  values for fields.

2003-07-08 14:16  paul

	* pg-schema-defs.php: Fixed constraint creation table --> tablename
	  (also for fk tablenames).

2003-07-08 14:05  paul

	* pg-schema-defs.php: Missing brackets.

2003-07-08 14:04  paul

	* pg-schema-defs.php: Fixing constraint definition: fieldnames and
	  numbers.

2003-07-08 13:54  paul

	* pg-schema-defs.php: Fixing constraint definition: fieldnames and
	  numbers.

2003-07-08 13:30  paul

	* pg-schema-defs.php: Fixed constraint definition - fieldnames
	  instead of field attr numbers passed in.

2003-07-08 13:22  paul

	* pg-schema-defs.php: Debugging.

2003-07-08 12:08  paul

	* pg-schema-defs.php: Typo

2003-07-08 12:07  paul

	* pg-schema-defs.php: More debugging.

2003-07-08 12:01  paul

	* pg-schema-defs.php: Added pkonly attribute to table constraint
	  detection to limit cascaded detection of FK's and to therefore
	  limit needless database activity.

2003-07-08 11:49  paul

	* pg-schema-defs.php: Added pkonly attribute to table constraint
	  detection to limit cascaded detection of FK's and to therefore
	  limit needless database activity.

2003-07-08 10:06  paul

	* response-defs.php: Removed debugging statements which were
	  filling syslog.

2003-07-08 09:33  paul

	* pg-schema-defs.php: Added debugging for v7.2 schema detection

2003-07-08 08:57  paul

	* pg-schema-defs.php: Add in PK constraints gathering for v7.2.

2003-07-07 20:17  paul

	* pg-schema-defs.php: Fix for v7.2 Fk definition.

2003-07-07 16:52  paul

	* maintainer-defs.php, recmaint-defs.php, recmaint.js: Finished off
	  the maintainer to properly get the master/detail table
	  functionality going. We can now maintain master detail
	  relationships fully. Also added a method to annotate fields with
	  blurb (goes underneath in italics) and a method to specify fields
	  (text) which should be non-blank. Changed the mandatory behaviour
	  to look at metaschema and use the NOT NULL constraint as it
	  should.

2003-07-07 16:25  paul

	* form-defs.php: 1. Added new method add_annotation() to the form
	  class. This adds a text string which is rendered in the same
	  column as the fields appear in (right-hand one), leaving the
	  left-hand column empty. Used to 'annotate' fields.  2. Added
	  method set_fieldwidth_pct() which takes a single integer
	  percentage. This is the percent width of the fields column
	  (right-hand one) of the form. The rest is taken by the label
	  column (left-hand one). Defaults to 65%.

2003-07-07 16:22  paul

	* utils.php: Added a new general function called inline_script()
	  which takes a script and either appends, prefixes or replaces an
	  existing script. Used with the set_onxxxxx() methods in
	  html-defs.php.

2003-07-07 16:20  paul

	* html-defs.php: Provided the set_onxxxxx(0 methods with the
	  ability to either prefix or append the new script to any
	  pre-existing script. The default is to replace anything with the
	  new script (ie. retaining backward-compatibility with previous
	  behaviour).

2003-06-30 08:34  paul

	* pg-schema-defs.php: Debugging maintainer on Postgres v7.2 Removed
	  debugging.

2003-06-30 08:09  paul

	* pg-schema-defs.php: Debugging maintainer on Postgres v7.2 (WIP)

2003-06-30 08:03  paul

	* maintainer-defs.php: Debugging maintainer on Postgres v7.2 (WIP)

2003-06-29 20:55  paul

	* pg-schema-defs.php: Fixes to index generation.

2003-06-29 20:42  paul

	* pg-schema-defs.php: Fixes to constraint acquisition.

2003-06-29 14:42  paul

	* block-defs.php, configuration-defs.php, layout-defs.php,
	  maintainer-defs.php, menu-defs.php, menumaint-defs.php,
	  pager-defs.php, pim-defs.php, query-defs.php, schema-defs.php,
	  pg-schema-defs.php, session-defs.php, user-defs.php: Axyl table
	  rename fixups. This code will now run with the new Axyl table
	  names with ax_ prefix.

2003-06-23 13:59  paul

	* _archive.gif, _document.gif, _excel.gif, _image.gif, _pdf.gif,
	  _ppt.gif: Updated icons.

2003-06-21 13:50  paul

	* block-defs.php, layout-defs.php: Altered layout/block headings to
	  use an Axyl style for colours.

2003-06-20 12:49  paul

	* query-defs.php: Pass back boolean to commit() function.

2003-06-19 15:21  mark

	* html-defs.php: fixed a bug in displaying icons

2003-06-12 20:03  paul

	* _image.gif: New icon to represent an image. Used when we have a
	  clickable representation of an image.

2003-06-12 20:02  paul

	* html-defs.php: Enhanced the "img" class. Added a new method
	  "asIcon()" which renders this object as a clickable icon which
	  opens a window containing the image. This uses Javascript in
	  Axyl, and just a vanilla new browser window if not.

2003-06-10 08:30  paul

	* block-defs.php: Stop setting listbox combo value. The javascript
	  in recmaint now does this itself on initialise.

2003-06-10 08:30  paul

	* recmaint-defs.php: Uses new function 'firstRecord()' to
	  initialise recmaint combos.

2003-06-10 08:29  paul

	* recmaint.js: Added new function 'firstRecord()' to initialise
	  recmaint combos.

2003-06-10 08:29  paul

	* maintainer-defs.php: Skip mandataory checks when record not
	  valid.

2003-06-09 17:10  paul

	* maintainer-defs.php, recmaint-defs.php: First full version of the
	  Axyl table maintainer. This module is a quick method of
	  maintaining tables in a Postgres database (and in extendable to
	  others). It will auto-maintain single tables, multiple joined
	  tables (1-to-1), multiple link tables (m-to-m), and many detail
	  tables in a master-detail relationship (1-to-m). There are also
	  many ways to customise the layout, look, and the behaviour
	  (titles, labels, mandatory fields, readonly fields, styles,
	  etc.).

2003-06-09 11:05  paul

	* maintainer-defs.php: WIP on the maintainer.

2003-06-09 11:05  paul

	* block-defs.php: Changes to go with enhanced recmaint-defs and js.
	  Also changed background colour for toolbar label.

2003-06-09 11:03  paul

	* schema-defs.php: Added missing 'set default' option for FK
	  constraints.

2003-06-09 11:03  paul

	* control-panel.php, menumaint-defs.php: Changes to go with
	  enhanced recmaint-defs and js.

2003-06-09 10:58  paul

	* layout-defs.php: Fixed so that we can now have more than one
	  layout per page.

2003-06-09 10:53  paul

	* recmaint-defs.php, recmaint.js: IMPORTANT: This module has been
	  changed to allow multiple instances of record-maintainer
	  javascript structures to co-exist in the same webpage. This means
	  we can now have multiple recmaint sets on the page. Pre-existing
	  pages having only one should be unaffected.

2003-05-24 13:25  paul

	* query-defs.php: Added some utility functions: 1.
	  transaction_failed(), transaction_succeeded() Returns the
	  appropriate perspective on transaction status.  2.
	  transaction_open() Returns true if transaction is currently open.

2003-05-24 13:24  paul

	* layout-defs.php, block-defs.php: Altered delete/remove methods to
	  delete child records, rather than assume RI is doing it. This is
	  because RI is not on all Axyl implementations due to issues with
	  older versions of Postgres not supporting contraints like v7.3
	  does, and hence not allowing pgdiff.php to successfully generate
	  the proper diff scripts to apply axyl RI.

2003-05-24 11:40  catalyst

	* block-defs.php: Added is_object() test around problematic
	  rendering issue for NZPA.

2003-05-24 09:09  paul

	* block-defs.php: Removed erroneous debughex() method call to
	  dbugger.

2003-05-20 08:15  paul

	* maintainer-defs.php: The maintainer now supports master-detail
	  links, and allows maintenance of a set of detail records for the
	  master table. You may specify any number of detail links for the
	  master table.  Each is maintained in a multi-record maintenance
	  form.

2003-05-20 08:12  paul

	* recmaint-defs.php: We now always add javascript to make the
	  recmaint key combo display its field contents for the currently
	  set item.

2003-05-20 08:10  paul

	* schema-defs.php: Added method to dbtable class: getlabelfield().
	  This method returns the first most likely fieldname which could
	  be used as a human-readable label eg. in a dropdown menu. This
	  works off the fieldname, and compares with common patterns such
	  as "name", "desc" etc. however you can submit your own pattern
	  set optionally. If none found, returns name of the first key
	  field.

2003-05-15 13:35  paul

	* html-defs.php: Added the 'set_attribute()' method to HTMLObject.
	  All forms and HTML objects now inherit this method. It allows
	  users to specify attributes to be included in the tag. For
	  example:  set_attribute("foo", "bar"); would result in the
	  folliowing attribute being included in the tag:  'foo="bar". You
	  can also include single parameters ie. set_attribute("mything");
	  would result in the string 'mything' being included in the tag.

2003-05-08 19:58  paul

	* maintainer-defs.php: Fixed up so that it runs without $RESPONSE
	  being defined.  Javascript still needs to be inserted by hand in
	  this case, but at least it all runs without error. See comments
	  in the code.

2003-05-07 16:01  paul

	* maintainer-defs.php, pg-schema-defs.php, schema-defs.php: Latest
	  maintainer WIP.

2003-05-07 11:30  paul

	* recmaint.js: Try new record/field delimters to try to avoid
	  clashes with user content foibles.

2003-05-07 11:26  paul

	* recmaint-defs.php: Try new record/field delimters to try to avoid
	  clashes with user content foibles.

2003-05-06 13:13  paul

	* maintainer-defs.php: Fixed a few small styling issues.

2003-05-06 12:43  paul

	* maintainer-defs.php: Final version of the table maintainer (v1.0
	  at least). This allows you to maintain a table very easily with
	  the usual Add, Modify, Delete handled for you. But it also allows
	  much more, via configuration methods: field validation,
	  formatting, hiding, are all supported and you can also join
	  additional tables which have a 1-to-1 relationship, and edit
	  these too. Foreign keys are automatically detected and rendered
	  as selects (dropdowns) with meaningful content. All-in-all a Tour
	  de Force!

2003-05-06 10:11  paul

	* form-defs.php: Some small changes to formatting: align field
	  labels to top only for textareas, and removal of table borders
	  when separator is being displayed.

2003-05-06 10:10  paul

	* maintainer-defs.php: Latest table maintainer.

2003-05-04 16:16  paul

	* _refresh.gif: New image button.

2003-05-04 14:53  paul

	* form-defs.php: Two changes: 1) Now we apply the css/style
	  settings through to the table which contains the form. Allows us
	  to style this object.  2) Added some reinforcing on the piece in
	  form_combofield class where it checks which item is selected. The
	  equates were not working properly for nullstring.

2003-05-04 14:51  paul

	* pg-schema-defs.php, schema-defs.php: Added is_integer_class and
	  is_serial_class methods. Allows us to determine field typing for
	  table maintainer script.

2003-05-04 14:49  paul

	* application-defs.php: A bit of reinforcing in the code.

2003-05-01 16:25  paul

	* maintainer-defs.php: WIP.

2003-05-01 16:12  paul

	* maintainer-defs.php: WIP.

2003-04-30 09:19  paul

	* maintainer-defs.php, pg-schema-defs.php, schema-defs.php: The new
	  Table Maintainer and Schema classes - still under development.

2003-04-30 09:18  paul

	* form-defs.php: We now allow the form class to have subforms added
	  to it (using add() method) and these are rendered in-line in the
	  order added together with fields. Also cleaned up a lot of
	  superfluous "return $this;" historical statements.

2003-04-26 23:01  andrew

	* response-defs.php: Identify log messages as debug.

2003-04-26 14:40  paul

	* db-defs.php: Corrected what looked to be a bogus find/replace
	  where the string 'editable' had been transformed to 'edidbtable'.
	  Looks like someone did a global replace on 'table' -> 'dbtable'
	  and didn't check!

2003-04-25 14:35  paul

	* .htaccess: Just refining the pattern-matching for the files.

2003-04-25 14:21  paul

	* .htaccess: Added additional extensions for files which hsould not
	  be visible via a web-browser: *.sh *.pl and *.inc

2003-04-25 12:36  paul

	* control-panel.php: Cosmetics.

2003-04-25 12:33  paul

	* control-panel.php, default-application.xml, query-defs.php:
	  Provided a configurable SQL Execution Threshold in mS. If queries
	  exceed this value then they are logged to syslog. A value of zero
	  disables this behaviour. Use this to catch queries which might be
	  inefficient.

2003-04-25 10:40  paul

	* .htaccess: Security for Apache-served Axyl websites. The default
	  contents of this file will stop directory listings, and prevent
	  access to configuration files and data files.

2003-04-24 11:48  paul

	* query-defs.php: Added general logging facility whereby all
	  queries which take over 5 seconds to execute are logged to the
	  system log. This is a troubleshooting aid, since queries this
	  long are unusual.  May be added to config in future, but
	  hardwired for now.

2003-04-23 10:29  paul

	* db-oracle.php: Forgot to include this module in v1.0.0 release.
	  Now included.

2003-04-23 10:29  paul

	* axyl-template.php: New template page for vanilla non-managed Axyl
	  webpages.  This is used by setup-sitepages.php to generate new
	  pages which are not content-managed.

2003-04-23 10:27  paul

	* menumaint-defs.php: More explicit title for webpage creation
	  section indicating that it only creates CONTENT MANAGED pages.

2003-04-23 10:18  paul

	* response-defs.php: Added User Agent (browser) libwww-perl which
	  must be a Perl library thingy to browse websites of something
	  like that.

2003-04-19 19:20  paul

	* ChangeLog: Axyl Library Version 1.0.0 NB: Any previous reference
	  to this version of the library should be ignored - this is the
	  real v1.0.0.

2003-04-19 17:34  paul

	* control-panel.php: Cosmetics.

2003-04-19 16:27  paul

	* control-panel.php: Added MySQL option to database choices. Like
	  Oracle OCI8 and ODBC this database interface is untested.

2003-04-19 16:26  paul

	* database-defs.php, db-mysql.php, db-odbc.php: Refurbished the
	  database support. Provided the Oracle OCI8 interface (untested).

2003-04-19 11:46  paul

	* application-defs.php, control-panel.php, default-application.xml:
	  Latest version of the Control Panel. Now includes the debug
	  settings.

2003-04-19 11:46  paul

	* response-defs.php: Made completely backward-compatible with
	  pre-control panel versions of Axyl. Will run fine with the old
	  way of setting up the RESPONSE object.

2003-04-18 20:18  paul

	* control-panel.php: This is the Axyl library control panel page.
	  It is a standalone page which sets up the application.xml file
	  which in turn is the control file for the user website. The
	  reason it is packaged in the Axyl Library directory is so that we
	  can distribute changes easily to those using CVS for the library.
	  New versions of it can then be copied up to the main website
	  directory for use.

2003-04-18 11:55  paul

	* application-defs.php: Added/corrected documentation. No
	  functional changes.

2003-04-18 11:55  paul

	* response-defs.php: Unset the application object after
	  inititalisation.

2003-04-17 12:19  paul

	* default-application.xml: The default XML configuration which is
	  used as a reference point for conversions and as a back-stop for
	  everyone using the control-panel.php script.

2003-04-17 12:18  paul

	* application-defs.php: Latest XML application configuration
	  handler methods.

2003-04-17 12:17  paul

	* response-defs.php: The new response class now uses the XML
	  application configuration to set itself up. NB: this version of
	  response-defs should be backward compatible and should skip the
	  new code if the new XML configuration is not found.

2003-04-17 12:15  paul

	* application.php: The default application.php file which all
	  XML-configured Axyl apps should now use. This is copied up into
	  the website root by the conversion process undertaken
	  automatically by the control-panel.php script.

2003-04-10 12:24  paul

	* application-defs.php: Working version of control panel stuff.

2003-04-10 11:43  paul

	* recmaint.js: Put quotes around the ID of the keyfield value for
	  the data in a record maintainer. Allows usage of strings as keys,
	  not just numerics (integers).

2003-04-10 11:42  paul

	* _default.gif: New button 'default'.

2003-04-10 11:42  paul

	* default-application.xml: The default application.xml
	  configuration for Axyl.

2003-04-09 19:54  paul

	* recmaint.js: Reverted to original version 1.14. Also tidied up by
	  removing some commented lines no longer needed.

2003-04-09 09:20  paul

	* application-defs.php: Classes and functions for handling the new
	  XML application configuration files.

2003-04-09 09:18  paul

	* lucene-defs.php: Renamed the setparm() method to setattribute()
	  as this is the correct nomenclature. No functional changes.

2003-04-09 09:17  paul

	* xml-defs.php: Removed the curly-brackets cludge, since we now
	  re-produce XML code properly using special chars for the <&>
	  chars within HTML rendering.

2003-04-09 09:15  paul

	* recmaint-defs.php: Enhanced so that the condition where the
	  RESPONSE object is not defined will produce Javascript code
	  directory via the returned output, as opposed to inserting it
	  into the RESPONSE.

2003-04-09 09:14  paul

	* renderable.php: Enhanced so that the default option (where the
	  RESPONSE object is not defined for example) will act as though it
	  is an html browser, and will take parameters.

2003-04-09 09:13  paul

	* recmaint.js: Replaced all string delimiters from single to double
	  quotes.  Added single quotes around the array ID which forms the
	  main idenitifier for the listbox record (the key). This enables
	  us to use not only numeric keys, but strings too. Necessary for
	  the Axyl control panel sub-project.

2003-04-06 11:03  paul

	* xml-defs.php: Added Mark's new maint screen for groups.

2003-04-05 20:14  paul

	* lucenex-defs.php.dom, xml-defs.php.dom: Not required in main
	  repository. These are just temporary files which may be used in
	  the future.

2003-04-05 20:09  paul

	* lucene-defs.php: Cosmetics.

2003-04-05 16:34  paul

	* ChangeLog: Axyl 1.0.0 This represents the start of a more
	  rigorous versioning of Axyl, so that we can better inform any
	  users of changes and the impact of those changes.

2003-04-05 16:28  paul

	* lucene-defs.php: Refinement of XML interface. Always send the
	  <?xml...> tag before the Lucene request content.

2003-04-05 15:18  paul

	* lucene-defs.php, lucenex-defs.php: IMPORTANT: lucene-defs.php is
	  now the XML interface version of this module. The deprecated old
	  colon-delimited line version of the interface is now found in
	  lucenex-defs.php. If your Lucene server does not yet support the
	  new XML syntax, then you need to EITHER replace all your includes
	  of "lucene-defs.php" with includes of "lucenex-defs.php" OR
	  freeze the CVS tag of your lucene-defs.php to version "1.41".

2003-04-05 11:53  paul

	* lucene-defs.php, lucenex-defs.php: Renamed the lucene modules
	  back to where they were - some bugs were discovered in the email
	  search process of Newsquest.

2003-04-05 11:13  paul

	* lucene-defs.php, lucenex-defs.php: IMPORTANT: lucene-defs.php is
	  now the XML interface version of this module. The deprecated old
	  colon-delimited line version of the interface is now found in
	  lucenex-defs.php. If your Lucene server does not yet support the
	  new XML syntax, then you need to EITHER replace all your includes
	  of "lucene-defs.php" with includes of "lucenex-defs.php" OR
	  freeze the CVS tag of your lucene-defs.php to version "1.41".

2003-04-04 12:17  paul

	* layout-defs.php, user-defs.php: Enhanced the permissions system
	  used for Layout plain cells to enable the setting/unsetting of a
	  NONE option, which will permit nothing, even viewing of a given
	  cell or cells.

2003-04-04 11:39  paul

	* lucenex-defs.php.dom, xml-defs.php.dom: Temporary archival. These
	  use the alternative approach to handling XML content using the
	  DOMXML extension to Php. Currently on ice due to live versions of
	  Php4 not being versions which have a decent version of DOMXML.

2003-04-04 11:37  paul

	* html-defs.php: Added the setnbsp() methods. This allows you to
	  set a table, group, or row to render cell content as "&nbsp;" if
	  the cell contains a nullstring.

2003-04-04 11:36  paul

	* layout-defs.php: Added checking in for vewing cells - for
	  plaincells it now obeys the READ permission attribute. Also we
	  have added handling for a new user group: "Entry" which is for
	  data entry users who can change the data in plain cell tables.
	  They can only change data in PENDING views however.

2003-04-04 11:34  paul

	* lucene-defs.php, response-defs.php, lucenex-defs.php: Clarified
	  the descriptive stuff at the top of the file. Cosmetic.

2003-04-01 09:46  paul

	* debugger.php: Renamed utility function debughex() to debug_hex()
	  for the sake of consistency with other debug_* functions.

2003-04-01 09:45  paul

	* lucenex-defs.php, xml-defs.php: Latest finished XML version of
	  Lucene Php/Axyl interface. This is now fully working and awaiting
	  testing phase.

2003-03-28 11:14  paul

	* lucenex-defs.php, xml-defs.php: Lucene XML implementation using
	  the standard XML parser to get around DOM XML being immature in
	  Php 4.1.2 which is running on the live servers.

2003-03-27 19:13  paul

	* lucenex-defs.php, xml-defs.php: Implementation of the XML lucene
	  interface, using the DOM XML extension of Php4. This may need Php
	  v4.3+ to run.

2003-03-26 19:19  paul

	* lucenex-defs.php: Interim save.

2003-03-26 16:22  paul

	* xml-defs.php: Interim save.

2003-03-26 09:29  paul

	* lucenex-defs.php, xml-defs.php: Changes to implement XML lucene
	  interface

2003-03-24 14:36  paul

	* form-defs.php: Removed the verbose value fields from the WMLUP
	  version of the form_jumpmenu class.

2003-03-23 17:52  paul

	* menu-defs.php: Fixed paging problems for menus. Changed pg var to
	  $ipg

2003-03-19 18:18  srdjan

	* layout-defs.php: Layout edit table needed a bit of a bleach too

2003-03-19 17:08  srdjan

	* block-defs.php, layout-defs.php: Updated wrong styles last time -
	  now set black on white for block and layout names only - the
	  other styles are defined in the sitestyles.css

2003-03-19 15:42  catalyst

	* recmaint-defs.php, recmaint.js: Changed record and field
	  delimiters - browser running javascript doesn't always like upper
	  ASCII chars

2003-03-19 14:11  srdjan

	* layout-defs.php: Mandate black on white style when in layout edit
	  mode

2003-03-19 10:39  srdjan

	* html-defs.php: Set default table cellpadding to 0

2003-03-16 10:30  paul

	* menu-defs.php: Re-worked the WML menus for OpenWave so that the
	  More..  option appears as the last menu item and can therefore be
	  hot-keyed on a mobile phone.

2003-03-16 10:30  paul

	* datetime-defs.php: Added SHORT_DATETIME in 'Mar 3 23:09' format.

2003-03-15 16:13  paul

	* menu-defs.php: Menu wrapping: re-phrased the "First story" label
	  to be "First" to be generic.

2003-03-14 14:36  catalyst

	* wml-defs.php: fixed scrub to work with phone

2003-03-14 10:56  paul

	* button-defs.php: Fixed the href re-writing of this.

2003-03-14 10:55  paul

	* menu-defs.php: Re-implemented the WML rendering of standard
	  menus. We now implement the option of paging these, using
	  wrap_threshold as the page size. Set this to non-zero to see the
	  paging More..  link and page numbering.

2003-03-14 10:54  paul

	* wml-defs.php: Slight revamp of href_rewrite function for WML.
	  Nothing too radical. Functionality unchanged.

2003-03-13 16:56  paul

	* paging-defs.php: Added page numbering advice.

2003-03-13 15:40  paul

	* renderable.php: Fixed tiny little foible with passing parameter
	  to the render() methods when wmlup() is being used (OpenWave
	  phones).

2003-03-13 15:40  paul

	* paging-defs.php: Space before More.. link.

2003-03-13 15:15  paul

	* paging-defs.php: Improved pages class to make it a descendant of
	  the RenderableObject class. This makes it useful to HTML pages as
	  well if required.

2003-03-13 08:44  paul

	* form-defs.php: Fixed up the OpenWave issues with select menus not
	  having re-written URLs - form_jumpmenu class.

2003-03-13 08:43  paul

	* datetime-defs.php: Added new datetime format DOW_HHMM which shows
	  it in the following format: 'Sun 09:53'.

2003-03-12 13:49  paul

	* wml-defs.php: Improved the href re-writing in the WMLgo element
	  and we now have a utility function href_rewrite() which takes an
	  href and adds the session ID to it ass appropriate.

2003-03-12 11:09  paul

	* response-defs.php, webpage-defs.php: Corrected the meta tag to be
	  http-equiv rather than name type for the content-type header.
	  Also in response, we now properly default the charset according
	  to browser type.

2003-03-11 20:29  paul

	* response-defs.php, webpage-defs.php: Implemented character
	  encoding specification more fully. We now also have the ability
	  to define the global charset for the site in application.php via
	  the set_encoding() method of the response class. This can also be
	  done on a page-by-page basis if different charsets are required
	  for different pages.

2003-03-11 16:29  srdjan

	* menu-defs.php: Check if $mno_top is an array before iterating

2003-03-11 14:21  paul

	* layout-defs.php: Appending content to Save/Export button form at
	  bottom of the plain cells layouts. Was losing content before.

2003-03-11 11:02  paul

	* webpage-defs.php: Cosmetic

2003-03-11 11:01  paul

	* wml-defs.php, button-defs.php: Fixed up the assemblage of session
	  IDs for WAP elements like go, prev etc.

2003-03-10 12:31  paul

	* webpage-defs.php: Test to check debugger defined.

2003-03-10 12:15  paul

	* wml-defs.php: Added global decl for RESPONSE.

2003-03-10 11:52  paul

	* wml-defs.php: Trying modification of body in wml() method for
	  title display on Openwave phones.

2003-03-10 11:45  paul

	* wml-defs.php: Trying to assign title directly to body since
	  invoking method insert_para() didn't work.

2003-03-10 08:17  paul

	* ChangeLog: Latest Axyl Changelog

2003-03-09 20:04  paul

	* layout-defs.php: Implemented CSV rendering of a layout via an
	  export button which appears at the foot of the layout.

2003-03-09 20:03  paul

	* html-defs.php: Implemented CSV rendering of a table.

2003-03-09 20:03  paul

	* block-defs.php: Removed some obsolete debugging.

2003-03-09 12:25  paul

	* form-defs.php: Fixed non-rendering form_combofield options due to
	  the items array needing to be rest. used foreach instead of while
	  loop.

2003-03-09 11:54  paul

	* pim-defs.php: Fixed up the saving of organisations when new, and
	  the relationship to contactinfo. This now obeys RI checking where
	  a contactinfo record must exist for the org to refer to first.

2003-03-09 09:19  paul

	* layout-defs.php: Now always include sto() javascript function to
	  cater for changed data in editable layouts.

2003-03-08 23:07  paul

	* response-defs.php, webpage-defs.php: Renamng set_DTD() to
	  set_dtd() to try and solve strange case problem with Php function
	  naming.

2003-03-08 22:54  paul

	* webpage-defs.php: - In the head section we strip out any relative
	  stylesheet refs, content-type meta tags, and title tags.  - No
	  longer clear the sections head, body and deck when we load a
	  template - scripts may have already been set. We do clear the
	  content still.  - Trim the script and content values to make sure
	  we do not emit empty newlines.

2003-03-08 22:50  paul

	* response-defs.php: Properly initialise the default DTD's array
	  for the response.

2003-03-08 22:49  paul

	* layout-defs.php: Removed some superfluous debugging output.

2003-03-08 22:40  paul

	* block-defs.php: Removed some superfluous debugging output.

2003-03-07 12:44  paul

	* response-defs.php, webpage-defs.php: Improving the wml/html
	  framework still further. We now properly support the DTD
	  specifier, by offering configuration at global, template and
	  plage level. Also improved the templates, making these more
	  flexible: we now scrap the <head> section and faithfully
	  reproduce any content there, apart from the <title> tag which is
	  generated by Axyl.

2003-03-06 10:25  paul

	* debugger.php, response-defs.php, webpage-defs.php, wml-defs.php:
	  The new framework for authoring WML content in Axyl. We have the
	  new methos in the RESPONSE called card() which is called instead
	  of page(). This creates a default card, and puts it into global
	  var $CARD. You can then manipulate this card (and create others),
	  prior to adding it to your WML template with the plugin() method
	  as usual. Templates for WML content are in the same place as
	  normal, but have the extension ".wml".

2003-03-06 10:23  paul

	* session-defs.php: Cosmetic.

2003-03-06 10:22  paul

	* keep-defs.php: Set the parameters of the keep cookie to make sure
	  the domain is set. Stops cookies being submitted willy-nilly.

2003-03-06 10:10  srdjan

	* session-defs.php: Ommit http_host from cookie if server is
	  running on localhost

2003-03-05 16:33  paul

	* pim-defs.php, response-defs.php, webpage-defs.php, wml-defs.php:
	  Cosmetic only.

2003-03-05 12:52  paul

	* response-defs.php, webpage-defs.php, wml-defs.php: Major changes.
	  Brought the WML generation of pages into the main Axyl framework.
	  We can now have templates for WML pages and we generate a default
	  card. Existing code should work without changes, but please
	  check!

2003-03-05 12:50  paul

	* form-defs.php: Fixed WML content formatting problem with
	  form_textfield class.

2003-03-05 12:48  paul

	* database-defs.php, antihack.php, html-defs.php, renderable.php,
	  session-defs.php, utils.php: Cosmetic.

2003-02-28 14:53  paul

	* response-defs.php: Fixed the persistent hosts problem (again!)

2003-02-28 11:58  paul

	* response-defs.php: Changes along the road to bringing WML
	  generation fully into Axyl webpage generation. In the response
	  class we now support a new "browser" BROWSER_PHONE which means
	  any WAP phone browser. We are more careful regarding what we
	  output now, to support WML generation from Axyl.

2003-02-28 11:55  paul

	* webpage-defs.php, session-defs.php: Changes along the road to
	  bringing WML generation fully into Axyl webpage generation.

2003-02-26 19:29  paul

	* utils.php: Re-worked the quoted_valuestring(0 utility function
	  once again.  Using htmlspecialchars like &quot; etc. is no good
	  since these get saved to the DB and will only render as the
	  correct char in web-browsers. We have insterad opted to force all
	  double-quotes to single in the rare event that there are both
	  types of quote in the submitted form value.

2003-02-26 16:30  paul

	* utils.php: Fixed up HTML special characters which appear inside
	  the double quoted value tags of various things like <input> form
	  elements. This stops the problem of having delimiting double
	  quotes, and finding that the data contained within these actually
	  has one or more double quotes in it.

2003-02-26 16:02  paul

	* response-defs.php: Prevented a null value being incorporated into
	  the persistent hosts and blocked ips arrays.

2003-02-26 13:00  paul

	* utils.php: Changed default logging prefix to 'AXYL' from
	  'PHPLIB'.

2003-02-26 09:20  paul

	* ChangeLog: Latest Changelog

2003-02-26 09:01  paul

	* response-defs.php: Added new method: set_blocked_ips(). This
	  takes either a delimited string list of IPs to block, or an array
	  of strings. It might not return, given that if it fnds the
	  current IP trying to access the site is in the list it will crash
	  and burn the response.  Also changed set_persistent_hosts()
	  method to be in line with the array or delimted string scenario.

2003-02-25 17:00  paul

	* layout-defs.php: Fixed the broken save function for saving plain
	  cell content from the user layout page.

2003-02-25 16:49  paul

	* html-defs.php: Corrected a possible bug with autojustify when no
	  justification is required (left-justified).

2003-02-25 16:34  paul

	* layout-defs.php: Generally decreasing the generated page size for
	  large matrix pages. Removed bg colour style for form input
	  elements and made it a style of the input element for the page.
	  Also got rid of text-align:left styles, and shortened the store()
	  JS function to sto().

2003-02-25 16:32  paul

	* html-defs.php: More robust approach for apply_rowstripes() method
	  (again), and also got rid of text-align:left in the autojustify
	  routine since this is the default alignment.

2003-02-25 15:00  paul

	* html-defs.php: More robust approach for apply_rowstripes() method
	  for when there are no pre-existing class/style setting for the
	  row being striped.

2003-02-25 12:27  paul

	* layout-defs.php: Speeded up the layoutcontent() method a bit more
	  by removing a redundant cell_exists() check. Removed
	  debug_profile() calls. Fixed up the Last Modified display for
	  when we have no blocks in the layout.

2003-02-25 10:10  paul

	* html-defs.php, layout-defs.php: Speeded up the layoutcontent()
	  method for rendering plain cells, especially when no editable
	  regions are detected. Also fixed the rowstriping so that it gets
	  done late, at rendering time for a table.

2003-02-24 20:32  paul

	* layout-defs.php: In the editform() method we no longer generate
	  the controls table as an object each time because rendering it is
	  too expensive in execution time. Instead we build a table, render
	  it and then str_replace cell content for each plain cell.

2003-02-24 20:30  paul

	* html-defs.php: Removed the tablename from the cellid which is
	  assigned for permissions handling and perms textbox form
	  elements.

2003-02-24 20:29  paul

	* data-defs.php, form-defs.php: Provided new method on the
	  form_combofield - clearitems() which clears the items in the
	  select list. Same method in the data array class.

2003-02-24 20:28  paul

	* debugger.php: Cosmetics.

2003-02-24 16:47  paul

	* session-defs.php: Added a new cookie lifetime value
	  SESS_BROWSER_LIFETIME which means set cookie time to be such that
	  it lasts until the user browser is closed.

2003-02-24 14:35  paul

	* layout-defs.php: Fixed the edbox non-rendering problem.

2003-02-24 12:30  paul

	* layout-defs.php: Fixed the edbox problem properly this time. Also
	  shaved some time off the editform rendering by NOT using
	  $Tt->clearcontent() to clear the table, which is mega slow.

2003-02-24 12:15  paul

	* layout-defs.php: Removed condition from around various
	  initialisation calls prior to the layout generation.

2003-02-24 12:09  paul

	* session-defs.php: Removed the strtolower conversion on the
	  username supplied by the login process. This was causing problems
	  when users entered the proper case for usernames - login
	  rejected.

2003-02-24 11:57  paul

	* layout-defs.php: Small performance improvements by moving some
	  work outside the main loop through layout cells.

2003-02-24 11:53  paul

	* debugger.php: Fixed div by zero case.

2003-02-24 10:32  paul

	* html-defs.php: Changed way we calculate the number of cols in a
	  table to speed things up for large tables.

2003-02-24 10:31  paul

	* layout-defs.php: Changed to using cellcount() and also tot_cols
	  to speed things up a bit.

2003-02-24 07:54  paul

	* layout-defs.php: Trimmed back the number of debug profiling
	  calls.

2003-02-24 07:54  paul

	* debugger.php: Added profile_close() method to the debugger to
	  close off any hanging debug_profile() calls.

2003-02-23 19:01  paul

	* layout-defs.php: Added profiling calls to aid debugging the large
	  amount of time rendering plain cell layouts.

2003-02-23 19:00  paul

	* debugger.php: Added a simple profiler to the debugger. This is
	  invoked by using a new debugging class DBG_PROFILE in the usual
	  way eg: debug_on(DBG_SQL|DBG_PROFILE); etc. The Axyl libraries
	  have some profile output already, but you probably need to add it
	  to your own app. To do this use the new function debug_profile().
	  For example if you have a method called foo() which you want to
	  profile, put the call debug_profile("foo stuff"); at the top of
	  the method, AND at the bottom just before return.  The profiler
	  will give you the time in mS between these two calls. Multiple
	  pairs of calls will be added to the total.

2003-02-22 10:35  paul

	* session-defs.php: Added possibility of naming your
	  username/password form fields as 'user' and 'pass' instead of
	  'tbxUsername' and 'tbxPassword', for login forms. This is so we
	  can login on WAP phones via a URL which is a bit less
	  long-winded.

2003-02-20 20:22  paul

	* menumaint-defs.php: Fixed up the way the builder assigns the menu
	  level field so that if the user elects to re-assign the parent on
	  create or update, then the level is properly looked-up and set.

2003-02-20 14:16  paul

	* layout-defs.php: Made sure that layout name is adjusted *before*
	  the new replicated layout is created, so that we don't end up
	  creating a new one when we try to access it.

2003-02-19 08:34  paul

	* mail-defs.php: Added some more debugging including a dump of the
	  whole email if DBG_DUMP is on. Added debug_trace() calls also.

2003-02-18 16:57  paul

	* layout-defs.php: Fixed layout replicate. Also fixed the toolbar
	  availability.

2003-02-18 16:15  paul

	* ChangeLog: Latest Axyl changelog.

2003-02-18 16:14  paul

	* session-defs.php: On session record creation, for GUEST sessions
	  we avoid setting the login_datetime, and allow it to be set to
	  the DB default value of 'now'. This is because Guest logins are
	  not tracked, and therefore login_datetime is never updated for
	  these users.

2003-02-18 14:56  paul

	* mail-defs.php: Added new method charset() to set characeter set
	  for mail and attachments.

2003-02-18 13:33  mark

	* mail-defs.php: changed charset to use utf-8 rather than us-ascii
	  - which is a subset of utf-8.

2003-02-16 15:41  paul

	* _copy.gif, _paste.gif, _update.gif: New Axyl buttons.

2003-02-16 15:38  paul

	* html-defs.php: New method clearstyle() which mulls style string.
	  Also we now check whether the style already exists before
	  appending it.

2003-02-16 15:36  paul

	* block-defs.php, layout-defs.php: Implemented copy/paste
	  functions. Aso implemented row check/uncheck all via double-click
	  event for checkboxes in plain cells. Various other changes.

2003-02-14 16:25  paul

	* layout-defs.php: Interim save. WIP on plain-cells editing
	  (Ratefo) mods.

2003-02-14 13:36  paul

	* block-defs.php: Interim save of layout functionality. Still have
	  to resolve the inclusion of multiple blocks inside the layout
	  form since the layout form was extended in order to submit
	  updates to plain cell content within the layout.

2003-02-14 12:15  paul

	* block-defs.php, layout-defs.php: Interim save of layout
	  functionality. Still have to resolve the inclusion of multiple
	  blocks inside the layout form since the layout form was extended
	  in order to submit updates to plain cell content within the
	  layout.

2003-02-14 12:14  paul

	* html-defs.php: Fixes to spanning functionality. Added get_row()
	  method which returns the given row object.

2003-02-14 10:30  paul

	* webpage-defs.php: Got rid of the charset encoding. This can be
	  set using the new set_encoding method of $RESPONSE, if required
	  and is therefore not hard-coded into a meta tag, which is largely
	  ignored by browsers anyway.

2003-02-14 10:17  paul

	* response-defs.php: Provided new method 'set_encoding()' which
	  allows you to specifiy a character encoding for the page.
	  Examples are 'utf-8' or 'iso-8859-1'. This should be called after
	  you have included your 'application.php' and before you call
	  send() to send the webpage back to the browser.

2003-02-12 18:56  paul

	* _arrowRR.gif: New library image button.

2003-02-12 14:47  paul

	* html-defs.php: Latest improvements to the table merging
	  functionality.

2003-02-11 19:52  paul

	* layout-defs.php: Work in progress implementing the plain cell
	  content for Ratefo. We now have a system which basically works -
	  allows definition of a matrix, assignment of permissions and
	  editing and display of content.

2003-02-11 19:43  paul

	* layout-defs.php: Work in progress implementing the plain cell
	  content for Ratefo. We now have a system which basically works -
	  allows definition of a matrix, assignment of permissions and
	  editing and display of content.

2003-02-11 19:42  paul

	* html-defs.php: - Added method on tablecell to set the cell ID.  -
	  Re-wrote the autojustify function. We now always do this in the
	  html() method (ie. late) rather than in the td() method.

2003-02-11 19:40  paul

	* user-defs.php: Removed debugging.

2003-02-10 16:30  paul

	* layout-defs.php: Interim save. WIP on plain-cells editing
	  (Ratefo) mods.

2003-02-10 08:46  paul

	* layout-defs.php: Cosmetic only.

2003-02-06 16:06  paul

	* menumaint-defs.php: Enhanced to deal with multiple menus. Now
	  displays a dropdown menu if there are more than one. Also
	  defaulted some values to make sure DB saves are ok.

2003-02-06 16:05  paul

	* layout-defs.php: Fixed to create a layout_set record when the
	  very first layout is created.

2003-02-06 16:05  paul

	* pim-defs.php: Fixed so that if there is no contactinfo record, a
	  new one is created when we read the organisation initially.

2003-02-05 16:07  paul

	* menumaint-defs.php: Fixed menuoption put() method to specify the
	  menuid when specifying the key in the WHERE clause.

2003-02-05 08:23  paul

	* ChangeLog: Latest ChangeLog. NOTE: Do not install the current
	  version of Axyl without applying the conversion scripts in the
	  'db' sub-dir 'orgconv.php', 'layoutconv.php' and
	  'layoutconv2.php' and then using pgdiff.php against the axyl_core
	  database to correct any differences.

2003-02-05 08:12  paul

	* _chevD.gif, _chevL.gif, _chevR.gif, _chevU.gif, _redx.gif: New
	  general images for the library.

2003-02-05 08:11  paul

	* layout-defs.php: Large changes to implement the new layout schema
	  (removed the layout_cell table) and to support the new plaincell
	  content type which emulates a spreadhseet with authroised user
	  group access on a per-cell basis. Increased the functionality of
	  the layout editor to include permissions display/set/unset, and
	  row and column insert/delete.

2003-02-05 08:09  paul

	* html-defs.php: Implemented delete_row() and delete_cols()
	  properly to handle the effect of crossing merged cells.

2003-02-05 08:08  paul

	* block-defs.php: Added $layoutid as a block property. This is the
	  ID of the layout that the block belongs to. This supports the
	  schema change which has removed the layout_cell table. Also
	  removed the group "Admin" from the permitted editor authority for
	  content managed blocks. This separates system Admin from content
	  management as it should be.

2003-02-05 08:06  paul

	* user-defs.php: Made the permissions object much more robust and
	  provided it with extra functiomality such as unpermit().

2003-02-03 12:19  paul

	* _set.gif, _unset.gif: Two new utility buttons 'set' and 'unset'

2003-01-30 16:37  paul

	* layout-defs.php: Fixed the problem of creating a brand new
	  layout. We now detect that there are no versions in existence on
	  the first access of a new layout, and create it.

2003-01-29 12:03  paul

	* pim-defs.php: New module 'pim' which stands for Personal
	  Information Management. At the mment all we have in here are two
	  classes: 'organisation' and 'contactinfo'. The contact info class
	  accesses the contactinfo table and allows access to the generic
	  contact data stored in records there. The organisation class uses
	  the contactinfo class, since organisations have contact info.

2003-01-29 12:01  paul

	* utils.php: Added a small function which takes firstname, lastname
	  as parameters and returns the name formatted in the classic style
	  of:  LASTNAME, Firstname.

2003-01-27 17:30  paul

	* html-defs.php: Enhanced insert_row() which takes into account
	  rowspans in effect when inserting.

2003-01-27 15:20  paul

	* html-defs.php: Basic insert_row() which currently does not take
	  into account rowspans in effect when inserting.

2003-01-27 14:46  paul

	* layout-defs.php: Changed the edit button permissions to use
	  user_can_edit() method to tell whether to display it or not.

2003-01-27 12:14  paul

	* html-defs.php: Fixed up insert_cols() method so that it handles
	  merged cols more logically (extending the merge appropriately).

2003-01-27 11:42  paul

	* block-defs.php: Fixed oops with not setting the blockmode
	  variable from a POST operation resulting in prevention of block
	  editing etc.

2003-01-26 09:25  paul

	* ChangeLog: Latest Changelog.

2003-01-26 08:19  paul

	* configuration-defs.php: Make sure that the field name has all
	  spaces converted to underscores, in all methods. No impact on
	  existing apps.

2003-01-26 08:18  paul

	* html-defs.php: Just added a check for row object being an object.
	  This is to avoid probs when an application fails to define any
	  table rows and then tries to display the table. No impact on
	  existing apps.

2003-01-26 08:17  paul

	* block-defs.php, layout-defs.php: Added Content Preview Mode
	  switch so that content authors can view the website just like a
	  normal user without logging off.

2003-01-26 08:15  paul

	* form-defs.php: Make sure that a form table has at least one empty
	  table row, so it is a 'legal' html table when nothing happens to
	  get put into the form for some reason.

2003-01-24 17:37  paul

	* block-defs.php, layout-defs.php: Developing this module (interim
	  commit).

2003-01-24 14:08  paul

	* menumaint-defs.php: Fixed the typo syntax error.

2003-01-24 14:08  paul

	* layout-defs.php: Removed the 'falling bacl to pending' notice
	  from all but Admin, Editor and Author logins.

2003-01-24 07:53  paul

	* block-defs.php, layout-defs.php: Beta version of the new
	  versioning content management Layout System. Provides for
	  management of three versions: Previous, Live and Pending copies
	  of the layout. Admin and Editor logins can 'publish' Pending
	  layouts, or 'revert' Live layouts. Author logins can only change
	  the Pending layout. The system actually stores all versions as
	  they are created and published, providing an audit trail of
	  content. Viewers (non-authors) of the site see only the Live
	  version of the layouts.

2003-01-24 07:50  paul

	* menumaint-defs.php: When creating new webpages from the menu
	  form, we now create a 'layout_set' record too.

2003-01-24 07:48  paul

	* ChangeLog: Latest ChangeLog.

2003-01-23 08:04  mark

	* user-defs.php: added permossions in user-defs.

	  allows user to have individual permissions on a hive cell.

2003-01-22 20:18  paul

	* query-defs.php: Provided a new method for a database query
	  (dbrecords, dbquery, dbselect etc.) called "istrue()". This
	  should be used instead of the method "field()" when you are
	  retrieving data from a boolean field. Eg:   $myQuery =
	  dbrecordset("SELECT enabled FROM foo");   $mybool =
	  istrue("enabled"); Whereas using the field() method would return
	  "t" or "f" for a Postgres database, istrue() returns true or
	  false, and will work with any type of database.

2003-01-22 12:52  paul

	* block-defs.php, layout-defs.php: Interim save for content
	  management with version handling.

2003-01-22 12:52  paul

	* debugger.php: Added notification for tables debugging being set
	  on.

2003-01-22 11:49  paul

	* _publish.gif, _revert.gif: New buttons for content management.

2003-01-21 08:52  paul

	* ChangeLog: Latest Axyl Changelog.

2003-01-20 09:59  paul

	* layout-defs.php: Fixed typo.

2003-01-20 09:55  paul

	* layout-defs.php: Implemented an automatic "last modified"
	  datetime display. This shows the last date/time the layout was
	  modified based on the most recently modified block. The display
	  format is selectable per layout, and can have an optional prefix,
	  eg. "Last updated:".	Default is to not display this timestamp at
	  the foot of the layout so existing pages will show no change
	  unless it is explicitly switched on by editing the layout and
	  changing the checkbox.

2003-01-18 10:22  paul

	* lucene-defs.php: Added new method meta_fields() to the
	  file_indexer class. This allows us to specify fields are to be
	  processed if found in files as meta-tags, but not define them to
	  the index message. This assumes they are defined somewhere else -
	  eg. in the .properties file. Otherwise same functionality.

2003-01-17 09:43  paul

	* ChangeLog: Latest Changelog.

2003-01-17 09:38  paul

	* mail-defs.php: Added a blank line (crlf) before the body. This
	  should indicate we have a body, rather than more headers. This
	  should fix problems with Newsquest, where the body contained a
	  story title with a colon eg. "ASIA: THE NET TIGHTENS", and the
	  whole line was being removed by the mailer as being a header.
	  Similarly links such as http://blah were being removed.

2003-01-15 15:38  paul

	* ChangeLog: Latest Changelog.

2003-01-13 20:12  paul

	* lucene-defs.php: Added sort limit detection by looking at
	  returned error message text (in absence of error codes for now).
	  Set a couple of new bool flags: $sort_limit_exceeded and
	  $sort_memory_exceeded.

2003-01-13 10:50  paul

	* ChangeLog: Latest Changlog.

2003-01-13 10:48  paul

	* response-defs.php: Made sure that, when running a script from the
	  command line (CLI mode), the context-defs.php file is NOT
	  included. This does not affect web applications.

2003-01-13 10:46  paul

	* database-defs.php: Small change to make this module more
	  standalone. Made sure that a $RESPONSE object was not necessary
	  for it to function as advertised.

2003-01-10 14:41  paul

	* file-defs.php: Fixed the problem with creating paths. The
	  function realpath() returns false for non-existent paths, so have
	  to check this.

2003-01-10 14:39  paul

	* stash-defs.php: Unused module.

2003-01-10 09:11  paul

	* file-defs.php: Fine-tuned the opening of the temp file in the
	  outputfile class so that it always checks that the temporary file
	  name is not returned as null (indicating no room in tmp dir).

2003-01-10 09:07  paul

	* file-defs.php: Fine-tuned the closefile of the outputfile class
	  so that it always deletes the temporary file it has created.

2003-01-09 21:18  paul

	* datetime-defs.php: Added a new format DISPLAY_TIMESTAMP_FORMAT
	  which is d/m/y hh:mm:ss formatted.

2003-01-09 21:08  paul

	* file-defs.php: Just added a new parameter "mode" to pass to the
	  closefile() method of the outputfile class. This can be SAVE_FILE
	  (the default if parameter is omitted), or ABANDON_FILE. The
	  latter allows you to decide not to move the temporary copy of the
	  output file to the assigned path/name after all, and simply close
	  the handle.

2003-01-09 21:06  paul

	* lucene-defs.php: Cosmetic only.

2003-01-09 13:04  paul

	* dbsearch-defs.php, search-defs.php: Part of fixing up DB
	  searching to be more generic, and return a generic array of
	  fields rather than fixed ones.

2003-01-09 13:03  paul

	* lucene-defs.php: Return number of hits integer.

2003-01-08 11:57  paul

	* lucene-defs.php: Fixed problem with missing field headers in
	  strip_field_name() method.

2003-01-07 21:08  paul

	* lucene-defs.php: Removed the sort specifier from the define field
	  statement as generated by the helper method strip_field_name().

2003-01-07 20:48  paul

	* lucene-defs.php: Fixed typo.

2003-01-07 20:45  paul

	* lucene-defs.php: Removed timeout override from receive() method -
	  we never call this method in isolation - only from send() which
	  retains the timeout override parameter.

2003-01-07 20:20  paul

	* lucene-defs.php: Upped the timeout limit for index_file(0 method
	  of the file indexer class. This is to deal with Lucene going away
	  and optimizing the index on us for minutes on end (doesn't affect
	  queries).

2003-01-07 16:54  paul

	* block-defs.php, layout-defs.php: Forced left-justify of headings
	  with the content manager editing controls.

2003-01-07 16:46  paul

	* block-defs.php: Fxed some uninitialised block variables up.

2003-01-07 16:46  paul

	* query-defs.php: Applied the same fix for nullstring equivalence
	  to the equated() method as for the values() method (see
	  ChangeLog).

2003-01-07 09:26  paul

	* lucene-defs.php: Increased the timeout for indxing via the
	  index_file() method of the file_indexer class to 15s.

2003-01-07 09:22  paul

	* lucene-defs.php: Increased socket receive retries from 2 to 3. We
	  observed that the server would sometimes timeout (10s), then take
	  a further 8s before responding.

2003-01-07 09:18  paul

	* lucene-defs.php: Implemented retries in the receive loop of the
	  lucene_connection class. This is because some operations (notably
	  indexing) have been observed to take longer than the default
	  timeout of 10s on rare occasions. As part of this change, have
	  also made sure that the system no longer 'hangs' waiting for EOF
	  from the server after the timeout has occurred, but instead
	  returns with error.

2003-01-07 08:20  paul

	* lucene-defs.php: Put some extra debugging/verbose output in the
	  index_tree processing loop. Now reports the ID of the indexed
	  item each loop, or breaks out if failure occurs.

2003-01-06 21:46  paul

	* lucene-defs.php: Refinement to startup mode.

2003-01-06 20:39  paul

	* lucene-defs.php: Added restart capability to file_indexer class.
	  We can now specifiy "restart" on the command line. This means the
	  path passed in is a path to a file of paths to articles to be
	  indexed, such as 'find' might produce.

2003-01-06 14:52  paul

	* lucene-defs.php: Just some adjustments on progress output for
	  tree indexing.

2003-01-06 14:38  paul

	* lucene-defs.php: Propagated the $timeoutsecs parameter through
	  all levels of lucene message classes. This allows us to specify
	  the socket timeout for various messages. Normally this need not
	  be done, however for certain messages (eg. a control message to
	  do an OPTIMIZE) a longer timeout is necessary. Also defined a new
	  constant SOCK_FOREVER which can be passed as the timeout
	  paramter. Actually the value of this constant is 24hrs, but in
	  this context, thats as good as forever.

2003-01-06 09:45  paul

	* lucene-defs.php: Fixed small bug introduced with merging Srdjan's
	  changes with mine in matchfield() method of lucene_search class.

2003-01-06 08:28  paul

	* ChangeLog: Latest changelog.

2003-01-05 19:30  paul

	* lucene-defs.php: Altered the index_tree() method of file_indexer
	  class to generate the file list via the find command to a file.
	  This allows us to handle VERY big archives and index these in one
	  (very long) hit.

2003-01-05 19:26  paul

	* file-defs.php: The readln() metho of the inputfile class now
	  returns the line having had all whitespace trimmed from the end.
	  Ie. this removes \n's amongst other things.

2003-01-05 16:43  paul

	* lucene-defs.php: Slightly less verbose indexer output in debug
	  mode.

2003-01-05 16:22  paul

	* timer-defs.php: 1) Changed the methods secs(), millsecs() and
	  microsecs(). These now return a float, rather than a formatted
	  string. This allows you to use it in arithmetic.  2) Added new
	  methods formatted_secs(), formatted_millsecs() and
	  formatted_microsecs(). These do what the above methods used to do
	  - return a formatted string.	3) Added new method
	  formatted_time() which returns a 'nice' human time in '2d 3h 44m
	  2s' format.

2003-01-05 16:19  paul

	* search-defs.php: Added a clear_daterange() method.

2003-01-05 16:18  paul

	* query-defs.php: 1) Fixed a small problem with the values(0 method
	  of the listofthings class. When trying to detect the type of a
	  value it would interpret a zero (0) and a nullstring ("") as the
	  same thing. Fixed by using the === operator. This fixed the
	  assembly of SQL query strings, where a value is zero. Previously
	  it would be built as '' (nullstring).  2) When you use the set()
	  method to set a field, and the field is a boolean, we previously
	  always encoded this as 't' for true, and 'f' for false. We still
	  do this, but only if we are connected to a Postgres database.
	  Others will be rendered as 1 or 0.  3) Added a dbdelete class, to
	  go alongside dbinsert and dbupdate. Pass it a table in the
	  constructor, use the where() method, and then the execute()
	  method.

2003-01-05 16:09  paul

	* utils.php: Added utility function nicetime(). It takes a number
	  of seconds and returns a string in format 3d 12h 14m 5s. Leading
	  elements are suppressed if zero.

2003-01-05 16:08  paul

	* file-defs.php: Made the regex parameter of the get_dirlist()
	  function work properly. Now you can specify a pattern (regex) for
	  the file name to match, and only return files which fit.

2003-01-05 16:07  paul

	* response-defs.php: Mode refinements to the CLI mode of operation.
	  We disable output buffering whenver we are in CLI mode.

2003-01-05 16:04  paul

	* debugger.php: Added a new output mode: DBG_O_CLI for command-line
	  interface Php code. This strips all HTML, and uses \n line
	  endings.

2003-01-05 15:57  paul

	* lucene-defs.php: Fixed up merge of Srdjan's additions.

2002-12-31 13:55  srdjan

	* lucene-defs.php: lucene_search->matchfield(): support array of
	  values; values are ORed, giving the effect of SQL IN() function

2002-12-30 17:13  paul

	* debugger.php: When the debugger is in DBG_O_ECHO output mode,
	  then we translate all <br>'s to \n's.

2002-12-30 17:11  paul

	* db-mysql.php, db-odbc.php, db-postgres.php, db-mssql-server.php:
	  Added a check to make sure the relevant Php extension is loaded
	  to support the appropriate database access. For example, for
	  Postgres we check that "pgsql" is loaded, and if it isn't we
	  dynamically load it. This is to support CLI applications where
	  the extensions are not automatically loaded. Existing
	  applications should be unaffected.

2002-12-30 17:09  paul

	* lucene-defs.php: Removed all references to $CONTEXT, which was
	  previously used to grab Lucene Host and Port settings from the
	  configuration settings. We now look for an existing definition of
	  the class "configuration", and if present we create a
	  configuration object and look up the Host and Port directly. This
	  means the Lucene classes are not dependent on the presence of the
	  application file "context-defs.php" any longer. Existing
	  aplications should not be affected - you should not have to make
	  any code changes.

2002-12-30 17:06  paul

	* response-defs.php: The RESPONSE now caters for Axyl scripts run
	  in command line (CLI) mode. In this case the browser type is set
	  to "cli" and the browser is set to BROWSER_NONE. Also, no
	  cacheing directive headers are output. Existing web-applications
	  should be unaffected.

2002-12-26 09:31  paul

	* response-defs.php: Removed debugging.

2002-12-26 09:28  paul

	* form-defs.php: Forced include of html-defs.php when forms are
	  included. This is a required class for forms, even if WML is
	  being generated in fact. (If we had multiple inheritance, this
	  could be a lot tidier.)

2002-12-26 08:34  paul

	* ChangeLog: Latest Change Log.

2002-12-26 08:33  paul

	* block-defs.php: Fully implemented CSV import and export from
	  blocks. This takes the following form.  Import: A file-upload
	  field is provided just below the content box on the block edit
	  form. You can choose a field (must be .csv) and click the
	  'import' button. The CSV formatted file content is then pulled
	  into the _highlighted blocklet_ as a table.  Export: To make a
	  block (ie. all blocklets in the block) exportable, first make
	  sure the checkbox at the top of the block edit form is ticked.
	  Once this is done, a button will appear at the foot of the block
	  called 'export'. Clicking this will result in the whole block
	  being sent to the user agent/browser as a CSV stream, to be saved
	  or opened.

2002-12-24 14:47  paul

	* block-defs.php: Implemented the CSV export functionality. This
	  will export block content as a CSV formatted stream. Tables are
	  rendered as rows of comma-delimited fields, etc. and the correct
	  headers are provided to make the browser prompt the user to save
	  the content as a file (or open directly).

2002-12-24 13:59  paul

	* mail-defs.php: Implemented the -f parameter in the call to mail()
	  which sets the envelope from address of the email to the From:
	  address by passing the -f param to sendmail. This should fix up
	  the returned mails which go to www-data@spinoza for some sites.

2002-12-23 16:36  paul

	* _export.gif, _import.gif, response-defs.php: Additional buttons.

2002-12-23 15:37  paul

	* block-defs.php: WIP. developing CVS export.

2002-12-19 08:06  paul

	* block-defs.php: Work in progress on CVS uploads to generate table
	  content.

2002-12-18 15:50  paul

	* ChangeLog: Latest change log.

2002-12-18 15:43  paul

	* form-defs.php: Used the new utility function quoted_valuestring()
	  in generating the value="foo" tags in form_textfield(0 and
	  form_hiddenfield().  This allows these fields to contain double
	  quotes - necessary for Lucene phrase searching for example.

2002-12-18 15:40  paul

	* utils.php: Added the new function quoted_valuestring(). You pass
	  it a value and it returns a string containing the value with
	  quotes around it. The type of quotes used depends on the value
	  content. If it already has a double-quote inside it, then
	  single-quotes are used, else double-quotes are used. Intended for
	  use in generating the value="foo" tags in form fields of type
	  <input type=text"> This allows these fields to contain double
	  quotes - necessary for Lucene phrase searching for example.

2002-12-18 11:38  paul

	* ChangeLog: Latest change log.

2002-12-18 11:37  paul

	* response-defs.php: New application.php option allowing system to
	  send an Expires: header which specifies a time some seconds in
	  the future, and allow the pages to therefore be cached for that
	  time by the user browser. New method set_page_expirysecs(),
	  defaults to -1 which is to say no cacheing (backward compatible
	  behaviour).

2002-12-17 10:12  paul

	* lucene-defs.php: Trim the hits values. Previously they were being
	  returned with a leading space character.

2002-12-16 16:18  paul

	* cm-template.php: Part of the new menumaint-defs.php change
	  whereby we can no specify the template to use for a
	  content-managed page which the user creates.

2002-12-16 16:17  paul

	* menumaint-defs.php: Added the abaility to specify the template
	  name for a new file which is created by the user. Reads templates
	  from $TEMPLATESDIR

2002-12-16 16:17  paul

	* file-defs.php: Added new utility function get_file_stem() which
	  returns the filename minus the extension, given a full filename
	  passed in.

2002-12-13 17:27  srdjan

	* query-defs.php: Added GROUP BY clause; extracted common code that
	  converts list into list_of_items

2002-12-10 09:54  paul

	* user-defs.php: Fixed comments for group membership names array.

2002-12-06 15:59  brenda

	* webpage-defs.php: added contenct type (was commented out) changed
	  DTD to 4.01 added type to <SCRIPT> tag

2002-12-06 15:55  paul

	* response-defs.php: Implemented a set_keep() method to be called
	  from the application.php setup file. This will enable/disable the
	  keep functionality.

2002-12-04 10:15  paul

	* query-defs.php: Added the offset() method to the dbquery class to
	  allow for queries where we want to specify the start row to
	  return in the result set.

2002-12-04 08:56  paul

	* html-defs.php: Fixed small typo in little-used method of
	  HTMLobject class.

2002-12-03 17:56  paul

	* ChangeLog: Latest CVS change log.

2002-12-03 17:56  paul

	* html-defs.php: Cosmetics - added some more comments.

2002-12-03 17:30  paul

	* form-defs.php: Added new button classes to the form entities
	  already defined in the laudable interests of consistency. We now
	  define: form_submitbutton, form_reset_button and also
	  form_imagebutton.  These are replacements for the equivalent
	  classes in button-defs.php, which are now deprecated. See the
	  latest PhpDoc documentation for details (form module).

2002-12-02 16:39  paul

	* recmaint.js: Tidied up the debugging (removed).

2002-12-02 15:54  mark

	* recmaint.js: removed a space in .replace functions

2002-12-02 14:51  paul

	* form-defs.php: Fixed typo sttributes() -> attributes()

2002-12-02 11:36  paul

	* recmaint.js: Working through the email/urls list maintenance
	  stuff. WIP.

2002-12-02 09:32  paul

	* form-defs.php, html-defs.php: A rather far-reaching change to the
	  class-hierarchy of forms field classes. All forms classes
	  (form_field, form_textfield etc.) are now descendants of
	  HTMLobject, and therefore inherit the StylableObject as well.
	  This brings these HTML entities into line with all classes which
	  can be styled, and rendered, and which have a similar list of
	  attributes which go into the HTML tag.  Notes: This change
	  _should_ be transparent to you. All of the methods and properties
	  previously available are still available, with additional ones
	  from the newly inherited classes.

2002-12-02 09:27  paul

	* block-defs.php: Removed rawurldecode from the add_record part of
	  this, since we now do this in recmaint-defs.php when we build the
	  data structure. We don't want to do this twice!

2002-11-29 20:27  paul

	* lucene-defs.php: Straightened out the formatting so I could read
	  it.

2002-11-29 16:13  mark

	* recmaint.js: added functionality to allow people in orgs,
	  publishers and newspapers to enter in multiple emails and urls
	  for those people.

2002-11-28 16:11  paul

	* recmaint-defs.php: Alternative solution to the bug Mark found
	  using rawurlencode() which allows _any_ kind of chars to be
	  present in the data.

2002-11-28 14:49  mark

	* recmaint-defs.php: changed foreach ($this->fields as $field) {
	       $data_js .= '"' . $rec[$field] . '",'; }

	  so the java script arrays are created using the "'s as field
	  delimiters.

2002-11-25 13:55  david

	* lucene-defs.php: changes in application connection logic

2002-11-25 12:28  david

	* lucene-defs.php: fixed a bug in the lucene_msg function

2002-11-25 11:14  paul

	* layout-defs.php: Created index() and unindex() methods. These
	  operate on all blocks of the layout.

2002-11-25 11:14  paul

	* block-defs.php: Created index() and unindex() methods, instead of
	  doing this inline as part of the save function. Allows it to be
	  called from elsewhere.

2002-11-23 17:26  paul

	* lucene-defs.php: Fixed some comments and parameter description.

2002-11-23 15:04  paul

	* block-defs.php, layout-defs.php: Added Lucene indexing and
	  unindexing calls where the context configvalue 'Lucene Site
	  Indexing' exists and is set to TRUE.	This causes Axyl
	  Content-Managed Blocks to be indexed automatically when created
	  or altered, and removed from the index if deleted.

2002-11-23 14:43  paul

	* lucene-defs.php: Fixed up the application assignment section. The
	  new (and superfluous) configvalue 'Lucene Application' will not
	  be used in most Axyl applications, where APP_PREFIX does the job
	  adequately. For these apps, we now fall through and use the
	  APP_PREFIX as before. This is called backward compatibility.
	  Added a new message class 'lucene_unindexmsg'. This has a single
	  method 'unindex()' which takes the ID of the item to remove from
	  the Lucene index.  Also removed David's change comments, which
	  are best kept out of the code as they are recorded in CVS.

2002-11-14 13:24  david

	* lucene-defs.php: now looking up default lucene application in
	  system config

2002-11-07 13:09  david

	* lucene-defs.php: changed set_range to allow for multiple fields
	  in the same query

2002-11-05 10:50  paul

	* block-defs.php: No functional changes. Just beginning to look at
	  indexing the block contents, on save, using Lucene.

2002-11-05 10:46  paul

	* menu-defs.php: Fixed design problem where menu_vars.js for HVmenu
	  was not being 'themed'. We now save this variables file in the
	  relevant theme sub-directory, when themes are defined so each
	  theme has its own menu look and feel as appropriate.

2002-11-04 22:26  paul

	* menumaint-defs.php: Defaulted the template filename to
	  'cm-template.php' (hardcoded) in case of no config settings.
	  Seems reasonable.

2002-11-04 16:45  paul

	* query-defs.php: Handling for NULL. We now allow usage of the
	  special define NULL (do not use quotes around it) to specify a
	  null value in a set() method call. This applies only to the
	  classes dbinsert or dbupdate.

2002-10-31 11:35  paul

	* lucene-defs.php: Added the $boost parameter to the macth()
	  methods. This allows you to specify a relative boost factor for
	  individial search terms.  Of course you don't have to use this
	  parameter, and can always append the Lucene boost syntax with
	  your words/phrases before adding them via the match() methods
	  (see Lucene query syntax:
	  http://jakarta.apache.org/lucene/docs/queryparsersyntax.html)

2002-10-30 18:46  paul

	* ChangeLog: Latest Change Log

2002-10-30 18:45  paul

	* query-defs.php: Added the $delim parameter for field and table
	  lists when specifying queries. This lets you pick your own
	  delimiter for a list where a comma conflicts with other syntax.
	  This affect the sqlquery class, methods: fieldlist(), tables(),
	  from(), into(), orderby()

2002-10-30 18:43  paul

	* search-defs.php: Made a few more things private.

2002-10-30 10:14  paul

	* search-defs.php: As part of the Lucene project, various small
	  changes have been made to this module. You MAY require changes to
	  your code as a result, so please check your functionality if you
	  use this class or anything derived from it.

2002-10-30 10:13  paul

	* lucene-defs.php: First full version of the Lucene classes. These
	  classes are now fully functional and enable you to index items
	  using Lucene, or query Lucene for results from Php.

2002-10-30 10:12  paul

	* file-defs.php: Moved the get_file_extn() function here, from
	  utils.php. Also added new function get_dirlist() which can
	  recursively build an array of file paths from a given directory
	  downwards.

2002-10-30 10:11  paul

	* utils.php: Removed the get_file_extn() function and put it into
	  file-defs.php instead.

2002-10-27 20:25  paul

	* ChangeLog: Latest ChangeLog

2002-10-27 20:22  paul

	* file-defs.php: There is now an extra property of the fileupload
	  class called 'fieldname'. This is the name of the field which
	  uploaded the current file, as accessed by get_first(), get_next()
	  etc.

2002-10-27 20:20  paul

	* form-defs.php: Changed the default for including the
	  MAX_FILE_SIZE hidden field for upload fields to FALSE. You have
	  to explicitly include it. This prevents it being included
	  multiple times by default.

2002-10-26 12:39  paul

	* lucene-defs.php: Added the second parameter (length) for the
	  fgets() call. This only became optional post Php 4.2.0.

2002-10-25 11:41  paul

	* ChangeLog: Latest change log.

2002-10-25 11:40  paul

	* lucene-defs.php: Implemented the lucene_search class. Also made
	  the whole class hierarchy inherit the search class.

2002-10-25 11:39  paul

	* search-defs.php: Initialise the 'hit' array to be an empty array
	  instead of leaving it unset. This also impacts existing Newsquest
	  code, which has also been changed in storysearch-defs.php.

2002-10-25 10:58  paul

	* search-defs.php: Added extra parameter to the method
	  set_daterange() which defines the name of the field containing
	  the date to apply the range criteria to.

2002-10-24 11:47  paul

	* search-defs.php: Got rid of formatting on relevance field.

2002-10-23 16:14  paul

	* lucene-defs.php: Much more solid version with more error checking
	  and reporting and also a better method of retreiving the response
	  via lines rather than one lump (timeout issues).

2002-10-23 08:50  paul

	* lucene-defs.php: Mods to lucene timeout stuff.

2002-10-22 09:05  paul

	* lucene-defs.php: Amended for latest spec from Adrian on range
	  searching.

2002-10-21 22:08  paul

	* lucene-defs.php: New lucene search support module. This contains
	  classes to connect to our newly implemented lucene server and
	  send it various messages to do queries, index content and various
	  other message types.

2002-10-21 22:07  paul

	* search-defs.php: Changed default value of max_results to 25 (from
	  0), and also implemented storage of date-range values.

2002-10-21 16:04  paul

	* recmaint-defs.php: Added utility function to grab the right field
	  value out of the posted array.

2002-10-19 21:25  paul

	* block-defs.php: Cater for WHERE clause in <DATA> tags, making
	  sure we prefix AND on existing query where clause.

2002-10-19 09:03  paul

	* ChangeLog: Latest Change Log

2002-10-17 15:54  paul

	* block-defs.php: Added new format type 'raw' which means
	  unformatted. This goes along with the others: text, bullets,
	  list, ordered list, table as a type of format for blocklet
	  content. Used for data queries and anywhere that you don't want
	  <p> paras inseted or styles applied to the content.

2002-10-17 15:34  paul

	* block-defs.php: No leading <p> for text blocks. Also use
	  number_format for content which is a numeric.

2002-10-17 15:34  paul

	* _tri.gif, _tridown.gif, _trileft.gif: Finer images from Jake.

2002-10-16 11:20  paul

	* html-defs.php: Method poke_cell() now allows you to set the cell
	  CSS and the cell content CSS in the same call. Method
	  poke_cellcss now allows you to set the content CSS as well.

2002-10-16 11:19  paul

	* _go.gif, _search.gif: A couple of new buttons for Axyl.

2002-10-15 14:00  paul

	* html-defs.php: Refinement to set_width_profile. Now applies the
	  profile to all rows which have the complete set of visible cells.

2002-10-14 09:16  paul

	* button-defs.php: Made sure style doesn't appear unless
	  non-nullstring.

2002-10-11 21:43  paul

	* menumaint-defs.php: Provided the spin-off method sitemap() which
	  generates the entire menu hierarchy as a site map.

2002-10-11 15:39  paul

	* menumaint-defs.php: Clarified the labelling of the sections in
	  the maintainer due to braindead user making a silly mistake and
	  disabling the whole menu, thinking it was the option/item.

2002-10-11 15:01  paul

	* _tri.gif, _tridown.gif, _trileft.gif: Jakes new images.

2002-10-11 14:01  paul

	* menumaint-defs.php: Display a menu even if not active. To allow
	  re-activation.

2002-10-11 14:01  paul

	* html-defs.php: Can now poke a css style/class onto a given table
	  cell addressed by row,column.

2002-10-10 15:10  paul

	* utils.php: Added a couple of small utility fns:
	  strip_http_prefix() and also add_http_prefix(). The former,
	  removes any http:// prefix from a given URL and returns it. The
	  latter makes sure the http:// prefix is present, and adds it if
	  not.

2002-10-09 14:29  paul

	* menumaint-defs.php: When creating a new sitepage webpage, we now
	  check to see if it already exists, and avoid over-writing if so.
	  We still create the new sitepage reference in the database
	  though.

2002-10-08 19:25  paul

	* html-defs.php: For the table class we now automatically insert a
	  row (<tr>) if the caller forgets and starts off their table with
	  a <td> instead.  Only for the case where nothing has yet been
	  defined for the table though (ie. no rows yet).

2002-10-08 15:05  paul

	* html-defs.php: Corrected flaw in the way tables which involved
	  colspan or rowspan elements were being generated. Due to the new
	  method of having ALL cells present even if spanned, the
	  pre-existing method of applying rowspan and colspan were not
	  generating these 'null' cells. They now do. Unless you were
	  generating complex tables with rowspan and colspan, you won't
	  notice anything at all with this bugfix.

2002-10-07 16:11  paul

	* block-defs.php: Open documents in their own window to avoid the
	  page expired problem.

2002-10-07 16:11  paul

	* html-defs.php: Added target parameter to the AsLInk method for
	  embedded objects so we can open documents in their own window.

2002-10-07 16:04  mark

	* mail-defs.php: fixed bug in "add_header" function.  it wasn't
	  adding extra email headers to the mail object.

2002-10-07 08:12  paul

	* ChangeLog: Latest change log.

2002-10-06 11:20  paul

	* menu-defs.php: Fixed up ordering of the top-level menu options.

2002-10-06 11:19  paul

	* block-defs.php: Various re-working of the editing interface.
	  Added in the media and document insertion properly now so you can
	  insert tags for these items and render them in a variety of
	  different ways on the content-managed webpage.

2002-10-06 11:18  paul

	* utils.php: Added utility fn to return the extension (eg. 'gif')
	  from a file path, if it has such a thing. Used mainly with
	  mimetype detection.

2002-10-06 11:17  paul

	* html-defs.php: A swathe of changes to the way embedded objects
	  get rendered. Also fixed up the vl() list type rendering.

2002-10-06 11:16  paul

	* mime-types.php: Added function to get mimetype from filepath.
	  Also added some extra mimetypes.

2002-10-06 11:15  paul

	* _excel.gif, _flash.gif, _msword.gif: Axyl image buttons/icons.

2002-10-04 16:11  paul

	* _document.gif, _excel.gif, _msword.gif, _pdf.gif: Additional
	  images for Axyl.

2002-10-04 16:10  paul

	* _sound.gif: Refinements to the look of the sound icon.

2002-10-04 16:10  paul

	* mime-types.php: Changed some mimetypes: CONTENT_WORD now becomes
	  CONTENT_MSWORD and CONTENT_EXCEL becomes CONTENT_MSEXCEL.

2002-10-04 16:09  paul

	* webpage-defs.php: Refinement of the generic popup window
	  Javascript.

2002-10-04 16:08  paul

	* html-defs.php: Finished the first cut of theMedia/Doc/Flash
	  embedding classes.  These classes allow you to render multimedia
	  on a webpage as Flash, Movie or Sound content, as well as
	  Documents of types: MS-Word, MS-Excel, PDF, Text, Html etc.

2002-10-04 07:59  paul

	* response-defs.php: Switched off debugging.

2002-10-04 07:58  paul

	* db-defs.php, tableviewer-defs.php: Changed name of class 'table'
	  to 'dbtable' These changes are all renaming references to this
	  class.

2002-10-04 07:27  paul

	* response-defs.php: Added Opera to the list of specific browsers
	  detected.

2002-10-04 07:27  paul

	* html-defs.php: Added new classes to render embedded multimedia
	  into webpages. These are 'embed', 'EmbeddedObject', and derived
	  classes: 'FlashObject', and 'MediaObject'. Rendering is sexy in
	  Internet Explorer, but has doubtful support in other browsers.

2002-10-03 16:25  paul

	* webpage-defs.php: Simplified the popup function code slightly.
	  Re-arranged the parameters order too.

2002-10-03 16:23  paul

	* mime-types.php: Added functions to determine mimetype from file
	  extension and also categorise a given mimetype into groups such
	  as 'movie', 'audio', 'document' and 'image' etc.

2002-10-03 12:38  paul

	* file-defs.php: Cosmetic stuff only.

2002-10-03 12:37  paul

	* webpage-defs.php: Added a new method called add_popup_script().
	  This is called like this:
	  $RESPONSE->body->add_popup_script(..parms..); The method adds
	  Javascript to the relevant section (eg. body) of the webpage. You
	  specifiy the name you want the function to take, and (optionally)
	  the fixed window size and position. The page will then be
	  populated with this function. It is then up to you to add in
	  calls to this function wherever you want to pop up a window.

2002-10-02 12:19  paul

	* mime-types.php: New mime-types for the library

2002-10-02 12:19  paul

	* _movie.gif, _sound.gif: New images for the library

2002-10-01 10:41  paul

	* html-defs.php: Interim work in progress.

2002-09-30 21:26  paul

	* html-defs.php: Added new <embed> class,  EmbeddedObject class,
	  and the derived class FlashObject.

2002-09-29 16:41  paul

	* ChangeLog: Latest changelog.

2002-09-29 16:40  paul

	* html-defs.php: Re-wrote the way tables handle spans. We now
	  always have the complete number of cells in every row, but flag
	  them as either row or column-spanned as appropriate. Major
	  change.

2002-09-29 16:39  paul

	* layout-defs.php: Fixed up the layout_action bug. Also made the
	  layout merge and splitting of the table work with the new way
	  tables work.

2002-09-29 16:38  paul

	* configuration-defs.php: Made varname parameter more consistent.
	  Now the varnames are stored with underscores, but you refer to
	  them as they are seen in the maint screen - with spaces between
	  words.

2002-09-29 16:36  paul

	* menumaint-defs.php: Finished off the menu builder maintenance
	  screens with a webpage file creation feature. You can now create
	  a new content managed webpage from the menu builder from a
	  template.

2002-09-29 16:35  paul

	* block-defs.php: Various changes to do with table dynamic mods.
	  etc.

2002-09-27 14:56  paul

	* block-defs.php: Tidying up the form formatting.

2002-09-27 14:50  paul

	* block-defs.php: Tidying up the form formatting.

2002-09-27 13:19  paul

	* ChangeLog: Latest Change Log

2002-09-27 13:19  paul

	* block-defs.php: Added new field blocklet_width. Also added field
	  validation for integer fields which uses onblur to keep these
	  within limits and containing valid numbers.

2002-09-27 13:18  paul

	* form-defs.php: No functional changes.

2002-09-27 13:18  paul

	* fieldvalidation.js, recmaint-defs.php: Added a new module
	  fieldvalidation.js which will hold any utilities for validating
	  fields in the client browser.

2002-09-27 13:17  paul

	* recmaint.js: Cosmetic changes only.

2002-09-27 07:41  paul

	* menumaint-defs.php: Set the default for parent_id properly for
	  adding menu option.

2002-09-27 07:37  paul

	* response-defs.php: Got rid of debugging

2002-09-27 07:15  paul

	* menumaint-defs.php: Added the Parent selector so that menu items
	  can be moved to a different parent in the hierarchy.

2002-09-26 21:35  paul

	* _bottom.gif, _next.gif, _prev.gif, _top.gif, menumaint-defs.php,
	  response-defs.php: New menu maintainance module. Allows the
	  complete managing of a multi-level hierarchical menu system from
	  one webpage.

2002-09-26 21:34  paul

	* recmaint.js: Fixed up so it saves the multiple-select combo data.

2002-09-26 11:11  paul

	* button-defs.php: Fixed up an important ramification of changing
	  the onclick behaviour of image_button. To make legacy code work
	  as before we have to append 'return false;' to the onclick
	  javascript so the form is not submitted automatically. To make it
	  submit, you must now set the property 'onclick_form_submit' to
	  true, in the image button object, before rendering it.

2002-09-26 09:31  paul

	* recmaint.js: Enhanced the Javascript record maintainance library
	  functions so that they now handle multi-select combo elements.
	  This was made problematical by the field naming convention which
	  adds "[]" to the end of the Php varname, to indicate an array. We
	  have to search for this with a new function called
	  findFieldObj().

2002-09-26 09:29  paul

	* block-defs.php: Pushed out the new entry blockid value to 10,000
	  just to be on the safe side.

2002-09-26 09:28  paul

	* button-defs.php: Changed the way we generate INPUT TYPE=IMAGE
	  buttons.  Previously when we had an onclick= setting defined, we
	  opted for the safe HREF surrogate approach to avoid
	  incompatibilities in Netscape which doesn't support onclick well.
	  We now detect Netscape and for all other browser render the
	  onclick properly.  Also changed alt and title attribute
	  generation. Title is now taken from the "alt" specification,
	  which is usually intended to be a tooltip. The real alt attribute
	  is taken from the button name, as it should be.

2002-09-26 09:26  paul

	* image-defs.php: Tidied up html attribute formatting and added
	  double quotes to all attributes. No functional changes.

2002-09-26 09:19  paul

	* html-defs.php: Improved the set_width_profile() method for the
	  table class. It now scans all rows in the table looking for the
	  first one which has as many cells as the profile has widths.
	  Fallback is row zero (the first) if this search fails.

2002-09-25 14:05  paul

	* form-defs.php: Fixed a bug with setvalue() used with a
	  form_combofield which is specified as being multiple-select.
	  Previously the method would erroneously convert the passed array
	  to a string. This has been fixed. You can now pass an array of
	  values via the setvalue() method and these will all be selected
	  in the control if they exist in its options list.

2002-09-24 10:52  paul

	* block-defs.php, recmaint-defs.php, recmaint.js: Implemented field
	  disable for when there are no blocklets in a block. This prevents
	  a user from entering info before doing an "Add" blocklet.

2002-09-23 14:26  paul

	* block-defs.php: Made sure that when image tags added, we omit the
	  width and height attributes if they are zero. This happens when
	  GD is not present on the system.

2002-09-23 12:00  paul

	* form-defs.php: Fixed typo.

2002-09-23 11:57  paul

	* form-defs.php: Rationalisation of set_width() style setting,
	  using the new method of operation of set_style() where styles are
	  appended.

2002-09-23 11:55  paul

	* ChangeLog: Latest change log.

2002-09-23 11:55  paul

	* form-defs.php: Changed the mode of operation of set_style() in a
	  slightly subtle way. Calls to this method will now APPEND the
	  given style to the style variable. This should not be a problem
	  for existing code, where mostly styles are set in a single call.
	  It is a very useful trait however, allowing you to build a style
	  for an element from various sources.

2002-09-23 11:49  paul

	* ChangeLog: Latest change log.

2002-09-23 11:48  paul

	* form-defs.php: Added override method set_width() to the
	  form_combofield class. The single parameter passed to this method
	  is the required width of the element in pixels (applied as a
	  style). Also added a new method set_size(). This sets the number
	  of lines to display.

2002-09-23 10:45  paul

	* block-defs.php: Fixed small buglet where heading was not being
	  initialised.

2002-09-23 10:14  paul

	* block-defs.php, layout-defs.php: Added functionality to set the
	  horizontal and vertical alignment of each block in the layout,
	  and the individual background colours.  Also allowed for setting
	  bg colour of the whole layout. Restricted merging for rows when
	  next row has a rowspan already.

2002-09-23 10:13  paul

	* html-defs.php: Added new method clearcontent() to set all cells
	  of a table to contain nullstring in one hit.

2002-09-22 18:35  paul

	* ChangeLog: Latest change log.

2002-09-22 18:33  paul

	* button-defs.php: Added a new method to the image_button class
	  called set_confirm_text(). When text is set, then a Javascript
	  popup will display the text in a confirmation mode. The function
	  will return true if they select Ok, and false otherwise, which
	  will control form submission (or not) as appropriate.

2002-09-22 18:30  paul

	* html-defs.php: Various tweaks and so on to the table management
	  functions in particular the marge/split cells area.

2002-09-22 18:30  paul

	* block-defs.php, layout-defs.php: Development of layout content
	  management. First cut of the final system including the ability
	  to format the main layout table itself, but still work in
	  progress.

2002-09-22 08:05  paul

	* layout-defs.php: Development of layout content management. In
	  progress.

2002-09-22 08:04  paul

	* block-defs.php: Cosmetic changes only.

2002-09-22 08:04  paul

	* plugin-defs.php: Now at plugin processing stage we look for
	  layout tags rather than block tags.

2002-09-22 08:03  paul

	* recmaint.js: Line-endings dos2unix'd.

2002-09-22 08:02  paul

	* _arrowD.gif, _arrowL.gif, _arrowR.gif, _arrowU.gif: Smaller
	  versions of these arrow images.

2002-09-22 08:02  paul

	* html-defs.php: Many changes concerned with dynamic table
	  modification, such as adding/removal of rows and columns, merging
	  and splitting of rows and columns, and poking and peeking cell
	  content.

2002-09-21 12:17  paul

	* layout-defs.php: Layout definitions. A new module which
	  encapsulates methods to manage multipl blocks arranged on a
	  webpage. This is part of the Axyl content management system.

2002-09-21 09:40  paul

	* _split.gif: Another Axyl library image.

2002-09-21 08:48  paul

	* image-defs.php: Fixed bug regarding image_over on the hover
	  image.

2002-09-21 08:47  paul

	* html-defs.php: Added more table functionality. We now have a new
	  class called 'matrix' which is a descendant of 'table'. This
	  allows you to define a table of N x M rows/cols from the outset.
	  We also have the new poke_cell() method to put content into a
	  given table cell addressed by row/col. Additionally we have extra
	  methods to merge/split cells, and merge/split rows.

2002-09-21 08:44  paul

	* _arrowD.gif, _arrowL.gif, _arrowR.gif, _arrowU.gif: New utility
	  images for Axyl.

2002-09-20 10:08  paul

	* session-defs.php: Removed the usage of seq_www_session_id in
	  generation of a unique session token. Instead we now use uniqid()
	  and md5() to generate a complex token based on microtime().

2002-09-19 09:49  paul

	* ChangeLog: Latest change log.

2002-09-19 09:49  paul

	* block-defs.php, recmaint-defs.php, recmaint.js: Developing the
	  editing of multiple blocks on a page. Also dealt to the issue of
	  defaults for new blocklets.

2002-09-19 08:08  paul

	* image-defs.php: Fixed the hover_button hovering stuff so that it
	  now swaps the images without recourse to javascript preloads and
	  functions etc.

2002-09-18 17:50  paul

	* block-defs.php, recmaint-defs.php, recmaint.js: Implemented
	  datasources, and also implemented the delete and add
	  functionality in javascript.

2002-09-18 17:49  paul

	* html-defs.php: Line-endings.

2002-09-18 17:48  paul

	* form-defs.php: Cosmetics only.

2002-09-17 13:41  paul

	* form-defs.php: Added in the maxlength attribute for
	  form_textfield. You can set this using the set_width() method, or
	  by direct assignment of the 'maxlength' property.

2002-09-17 13:22  paul

	* query-defs.php: Fixed some bugs in sqlquery class: - Adding field
	  and table lists as arrays was referencing a typoed variable name.
	  Fixed.  - Only add fields, tables and where clauses which are not
	  an empty string. Protects the SQL statement formatting this way.

2002-09-17 12:31  paul

	* response-defs.php: Removed debugging on statement.

2002-09-17 11:18  paul

	* block-defs.php, configuration-defs.php, constants.php,
	  database-defs.php, datetime-defs.php, db-mssql-server.php,
	  dbsearch-defs.php, debugger.php, error-defs.php, form-defs.php,
	  html-defs.php, image-defs.php, mail-defs.php, menu-defs.php,
	  mime-types.php, pager-defs.php, query-defs.php,
	  recmaint-defs.php, response-defs.php, search-defs.php,
	  session-defs.php, swish-defs.php, tableviewer-defs.php,
	  user-defs.php, utils.php: Cosmetic changes only - making sure
	  that DOS line-endings are removed from all Axyl library files.

2002-09-17 10:52  paul

	* configuration-defs.php: Fixed up the new button sizes to all be
	  57px wide.

2002-09-17 09:51  paul

	* block-defs.php: Changed the axylcolours style format to
	  amalgamate the colour descriptions into the one style element.
	  More elegant.

2002-09-17 09:50  paul

	* menu_com.js: Changed ztop from 100 down to 20.

2002-09-17 09:49  paul

	* html-defs.php: No longer replace null text content with a
	  non-breaking space so that we avoid forcing typesetting metrics
	  on cell sizes. In other words, if you want a non-breaking space
	  in a cell then explicitly put one in there.

2002-09-16 15:37  paul

	* menu-defs.php: Added 'parent_id' and 'menu_level' to the menuitem
	  class so we can do hierarchical menus easily.

2002-09-16 09:03  paul

	* block-defs.php: Added datasource definition to the block
	  maintenance screen.  Also reformatted some headings.

2002-09-15 10:00  paul

	* block-defs.php: Added image content insertion.

2002-09-15 10:00  paul

	* mime-types.php: Added shockwave flash mime-type.

2002-09-14 13:35  paul

	* button-defs.php: Now we always generate a title= attribute for an
	  image_button when we have alt= text. That way we always get the
	  tooltip being shown.

2002-09-14 13:34  paul

	* _dot.gif, _e.gif: New _e.gif and changed _dot.gif.

2002-09-14 11:11  paul

	* ChangeLog: Latest ChangeLog.

2002-09-14 11:11  paul

	* block-defs.php: Latest blocks content management snapshot.

2002-09-14 11:10  paul

	* button-defs.php: Made sure that the onmouse event attributes for
	  linkover text in the status bar are not generated for image
	  buttons where there is no label to display.

2002-09-14 11:09  paul

	* response-defs.php: Now include contants.php as one of the
	  required modules.

2002-09-14 11:08  paul

	* file-defs.php: Added new method error_message() which returns any
	  error messag(s) which have accrued, or nulstring if none. Also
	  re-worked a few trivial parts of the logic. Nothing dramatic.

2002-09-14 11:07  paul

	* session-defs.php: Changed to use the constants defined on the new
	  constants.php module for session cookie lifetime definition.

2002-09-14 11:05  paul

	* mail-defs.php: The mime types definitions have been abstracted
	  out of this module and put in a new file called mime-types.php.
	  There should be no effect on pre-existing code.

2002-09-14 11:04  paul

	* constants.php: Constants which are generic. Initially the SECS
	  constants used to set session cookie expiry have been abstraced
	  here, from session-defs.php, and we have added a couple of
	  others: KILOBYTE and MEGABYTE.

2002-09-14 11:03  paul

	* mime-types.php: Mime types used by Axyl. As at the current time
	  the modules which use these constant definitions are:
	  mail-defs.php, and file-defs.php.

2002-09-14 11:02  paul

	* _dot.gif, _x.gif: Two new utility images for Axyl.

2002-09-12 16:44  paul

	* block-defs.php: Added gutters for multi-column blocks, and also
	  implemented the add link facility to add clickable links to the
	  content section.

2002-09-12 14:31  paul

	* html-defs.php: Phpdoc documenting additions.

2002-09-12 14:31  paul

	* form-defs.php, recmaint.js, recmaint-defs.php: Cosmetic changes.

2002-09-11 08:35  paul

	* recmaint-defs.php, recmaint.js: New module to facilitate
	  Javascript record maintenance in the web browser.

2002-09-11 08:35  paul

	* response-defs.php: Added recmaint* to the globals alllowed in.

2002-09-11 08:34  paul

	* html-defs.php: Added the HR element. Fixed the th_* method calls.

2002-09-11 08:33  paul

	* block-defs.php: Latest development snapshot of Axyl content
	  management blocks system.

2002-09-10 16:36  paul

	* block-defs.php: In progress. Block content management is now
	  pretty much operational with add, edit and delete implemented.
	  More refinements on the way.

2002-09-10 16:36  paul

	* html-defs.php: The td_content() method of the table class now
	  appends content, rather than setting it. This allows multiple
	  calls to the method to add content.

2002-09-10 16:35  paul

	* webpage-defs.php: Removed the block rendering stuff from
	  make_content() method.  This is now done in the plugins
	  themselves.

2002-09-10 16:34  paul

	* form-defs.php: Major changes: added check() and uncheck() methods
	  to both the form_checkbox and form_radiobutton classes. Also
	  added a new class form_radiogroup which contains multiple
	  form_radiobutton objects and is populated via add_item() like in
	  the form_combofield class.

2002-09-10 16:32  paul

	* plugin-defs.php: Render the block in each plugin, since we need
	  to be able to reference RESPONSE object from block stuff.

2002-09-10 16:31  paul

	* _add.gif, _done.gif, _save.gif: Made these buttons 57px wide.

2002-09-06 14:52  paul

	* _hide.gif, _show.gif: Two new additions to the Axyl button
	  library.

2002-09-06 14:44  paul

	* response-defs.php: Now include html-defs.php by default.

2002-09-06 14:43  paul

	* block-defs.php: Added block toolbar and edit button.

2002-09-06 14:42  paul

	* html-defs.php: Added some carriage returns etc. to make table
	  rendering a bit clearer to view as source in the browser.

2002-09-06 14:39  paul

	* configuration-defs.php: Cosmetics.

2002-09-06 14:39  paul

	* webpage-defs.php: Added a call to the render_block_tags()
	  function if block-defs.php has been included. This will render
	  block content on a page where block tags are present just before
	  the page is sent to the users browser.

2002-09-06 14:17  paul

	* plugin-defs.php: Cosmetic changes only.

2002-09-06 14:16  paul

	* form-defs.php: Now uses the new table class to render the form.
	  We also have made the add() method more generic, and do not
	  differentiate between objects being added until we render().
	  Also added the property 'showlabels'. If true (default) any field
	  lables are shown (2-col table) otherwise not (single-col table).

2002-09-06 13:41  paul

	* _edit.gif: Added new edit gif button

2002-09-06 08:18  paul

	* html-defs.php: New class containing StylableObject and descendant
	  classes which render HTML objects such as tables.

2002-09-06 08:18  paul

	* block-defs.php, layout-defs.php: Renamed layout-defs to
	  block-defs and moved the table class (and associated classes)
	  from this file to a new file called html-defs.

2002-09-06 08:16  paul

	* tri.gif, tridown.gif, trileft.gif: Renamed menu arrow gifs with
	  underscore to be consistent with all the other library images.

2002-09-05 18:49  paul

	* _tri.gif, _tridown.gif, _trileft.gif, menu-defs.php: Renamed menu
	  arrow gifs with underscore to be consistent with all the other
	  library images.

2002-09-05 12:32  paul

	* configuration-defs.php: Supression of the Save and Delete buttons
	  when there are no fields in the config set, since they are
	  irrelevant then.

2002-09-05 12:15  paul

	* configuration-defs.php: Fixed up the sizes for the new Axyl
	  button set.

2002-09-05 12:11  paul

	* _add.gif, _back.gif, _cancel.gif, _clear.gif, _create.gif,
	  _del.gif, _delete.gif, _done.gif, _down.gif, _new.gif, _ok.gif,
	  _quit.gif, _remove.gif, _reset.gif, _save.gif, _up.gif: The new
	  Axyl button image set. Re-done to incorporate a white border for
	  dark backgrounds, and also added a number of additional utility
	  buttons.

2002-09-05 09:57  paul

	* configuration-defs.php: Renamed the button gifs to more generic
	  names for usage in other parts of the Axyl library.

2002-09-05 09:57  paul

	* _add.gif, _cancel.gif, _cfgadd.gif, _cfgcancel.gif,
	  _cfgdelete.gif, _cfgsave.gif, _delete.gif, _save.gif: Renamed
	  these gifs to more generic names for usage in other parts of the
	  Axyl library.

2002-09-04 15:18  paul

	* image-defs.php: Added the 'use_map()' method to the image class.
	  This just sets the name of the image map to use with the given
	  image.

2002-09-02 10:32  brenda

	* webpage-defs.php: Libraei files - fixes by Paul

2002-09-01 15:50  paul

	* layout-defs.php: Enhanced the auto-justify feature of table class
	  so that it will justify the first row of a thead group using the
	  content of the first row of the tbody group. For this to work you
	  have to define a thead group, but this is recommended practice
	  anyway.

2002-09-01 12:10  paul

	* debugger.php: Added a comment for DBG_TABLES in header.

2002-09-01 10:41  paul

	* ChangeLog: Latest ChangeLog.

2002-09-01 09:30  paul

	* layout-defs.php: Changed the schema of the blocklet table: field
	  'type' has been renamed to 'blocklet_type' to avoid clash with
	  reserved word.

2002-08-31 17:27  paul

	* session-defs.php: When recovered a guest session we now check for
	  IP login so that these users are never 'marooned' in a guest
	  session.  Also added a few more debug output lines and clarified
	  a few.  These changes should not affect existing websites.

2002-08-31 17:25  paul

	* user-defs.php: Now keep total_logins as a class variable.

2002-08-28 09:03  paul

	* layout-defs.php: The new layout module for Axyl.

2002-08-27 16:00  paul

	* session-defs.php: Allowed login for username/password of blank
	  fields. This will allow refresh of sessions for IP login users,
	  by submitting an empty login form.

2002-08-27 15:59  paul

	* debugger.php: Added the debugging class DBG_TABLES to allow debug
	  information for table objects to be displayed.

2002-08-24 09:56  paul

	* menu-defs.php, antihack.php, button-defs.php,
	  configuration-defs.php, data-defs.php, database-defs.php,
	  datetime-defs.php, db-defs.php, db-mssql-server.php,
	  db-mysql.php, db-odbc.php, db-postgres.php, dbsearch-defs.php,
	  debugger.php, error-defs.php, file-defs.php, form-defs.php,
	  globals-defs.php, image-defs.php, keep-defs.php, list-funcs.php,
	  mail-defs.php, pager-defs.php, paging-defs.php, plugin-defs.php,
	  query-defs.php, renderable.php, response-defs.php,
	  search-defs.php, session-defs.php, stash-defs.php,
	  swish-defs.php, tableviewer-defs.php, timer-defs.php,
	  user-defs.php, utils.php, varpool-defs.php, webpage-defs.php,
	  wml-defs.php: Replaced all the headers with GPL lincense text.

2002-08-21 09:53  paul

	* menu-defs.php, menu_com.js: Added facility to display the menu
	  item description in the status bar. This adds to the readability
	  of the site menu.

2002-08-21 09:11  paul

	* menu_com.js: Enabled the showing of statusbar URLs (link info)

2002-08-21 09:10  paul

	* menu-defs.php: Added the show-status style (yes/no).

2002-08-19 17:31  paul

	* webpage-defs.php: Also fix up background= and object param value=
	  references for the template fixup process.

2002-08-18 11:40  paul

	* menu_com.js: Upgraded to v4.51 if HVmenu.

2002-08-18 11:39  paul

	* menu-defs.php: Added in the extra switch to make the <div>
	  containing the HVmenu relative-positioned or not via the
	  stylesheet. Note that IE doesn't seem to like the relative
	  positioning and puts the menu in a funny place if it is done that
	  way.

2002-08-16 09:44  paul

	* ChangeLog: Latest change log

2002-08-16 09:43  paul

	* menu-defs.php: Fixed the way authorisation on menuoptions works.
	  Also fixed the top line items count to be dynamic per user.

2002-08-15 16:26  paul

	* configuration-defs.php: Make sure the configurator form still
	  gets shown even if there are no elements in the configuration yet
	  (so we can add some).

2002-08-15 16:25  paul

	* form-defs.php: Changed the html() function so that the form still
	  gets rendered even if there are no elements in it. There may
	  still be hidden fields or buttons in it.

2002-08-15 16:24  paul

	* menu-defs.php: Added option for MENU_LEVEL_ALL which flattens the
	  menu options out into a single menu list.

2002-08-15 10:26  paul

	* response-defs.php: Cope with null string persistent hosts list.

2002-08-14 19:17  paul

	* webpage-defs.php: Enhanced the set_template method for a webpage
	  such that it converts all the "src=" tags to have the correct
	  directory stem for the theme/template in effect. That allows us
	  to have static images etc. in our templates, and still serve them
	  from the correct subdirectory.

2002-08-13 17:09  paul

	* webpage-defs.php: Implemented a second alternate stylesheet:
	  stylesheet_ns so we can cope with old Netscape browsers too.

2002-08-13 17:08  paul

	* session-defs.php: Made cookie setting dependent on browser.
	  Netscape doesn't like the path and host elements.

2002-08-13 09:03  paul

	* button-defs.php, form-defs.php: Various changes to cope with
	  generation of HTML for the Netscape browser (Mozilla < 5.0).

2002-08-13 09:02  paul

	* response-defs.php: Added browser_version variable and fill this
	  with the proper version number. Also added type BROWSER_NETSCAPE.

2002-08-07 11:34  paul

	* ChangeLog: Latest changes for those that want to check.

2002-07-31 10:03  paul

	* menu-defs.php: Added a new field 'user_type' to the menuoption
	  table. Usually this is a nullstring, and will have no effect. If
	  set, then the user accessing the menu must have a user type
	  (uuser table) of the given value, or they cannot see the menu
	  option. Works for both the 'sitemenu' class and the 'HVmenu'
	  class.

2002-07-18 16:29  paul

	* user-defs.php: When user not validated we now set the valid flag
	  to false, as it should be.

2002-07-18 16:28  paul

	* response-defs.php: Added some extra debugging output to trace
	  logins.

2002-07-13 15:50  paul

	* session-defs.php, user-defs.php: Added handling for IP address
	  authentication and beefed up the other authentication methods so
	  we try each one in turn to authorise logins.

2002-07-13 15:49  paul

	* utils.php: Added a couple of utilities for handling IP addresses
	  (ipv4).

2002-07-07 10:20  paul

	* _cfgadd.gif, _cfgcancel.gif, _cfgdelete.gif, _cfgsave.gif: Images
	  for buttons on the new configuration maintenance forms.

2002-07-07 10:15  paul

	* configuration-defs.php: The new methodology for maintaining
	  configurations. We now have a "stash" in the form of a serialized
	  object which contains field structure. The structure is
	  maintainable through methods in this object and allows you to
	  create and maintain configuration sets for anything from a single
	  system config record to multiple user preference sets (or the
	  like).

2002-07-07 10:12  paul

	* plugin-defs.php: Removed debugbr debugging statements. Too many.

2002-07-07 10:12  paul

	* response-defs.php: Made sure that vars beginning "_cfg" will be
	  globalised.

2002-07-07 10:11  paul

	* debugger.php: Solidified the way we detect boolean type
	  variables.

2002-06-28 21:45  paul

	* form-defs.php: Added new form element pseudo types: textcontent
	  and separator. The former puts the given text into the table and
	  the latter puts a separator ruler across it with optional
	  heading.

2002-06-28 21:39  paul

	* stash-defs.php: New way of handling configuration sets. Initial
	  commital - not finished.

2002-06-28 13:50  paul

	* query-defs.php: Simplified the typing algorithm in the set()
	  method when building SQL queries. This should stop numerics being
	  quoted.

2002-06-25 16:53  paul

	* search-defs.php: Phrase searching experimentation.

2002-06-24 08:47  paul

	* makedoc.sh: Phpdoc make script.

2002-06-24 08:46  paul

	* antihack.php, button-defs.php, data-defs.php, database-defs.php,
	  db-defs.php, dbsearch-defs.php, debugger.php, form-defs.php,
	  menu-defs.php, pager-defs.php, paging-defs.php, query-defs.php,
	  response-defs.php, swish-defs.php, tableviewer-defs.php,
	  webpage-defs.php, wml-defs.php: Re-arranged from include_once
	  calls and added some comments to make Phpdoc work better. Nothing
	  changed which should affect functionality.

2002-06-23 14:12  paul

	* response-defs.php, session-defs.php: Implemented the
	  database-backed/standalone session types.  This allows you to
	  specify in application.php that the session can be standalone -
	  no database. This is useful for websites which are simple pages
	  and which require no database.

2002-06-23 14:11  paul

	* query-defs.php: Added in checking to make sure the system is in
	  database backed mode before allowing database action to proceed.

2002-06-23 11:16  paul

	* form-defs.php: Fixed up the size-width-line confusion. We now
	  have only one attribute "size" which "width" and "lines" map onto
	  for text boxes and selects respectively.

2002-06-23 10:52  paul

	* image-defs.php: Add title tag to image when non-IE browser. This
	  gives a tooltip for non-IE browsers. IE will take tooltip from
	  the alt tag.

2002-06-23 10:34  paul

	* response-defs.php: Corrected erroneous call to valid() for user.
	  Should have been isvalid()

2002-06-11 17:39  paul

	* ChangeLog: Latest changelog

2002-06-11 17:36  paul

	* plugin-defs.php: Definitions for handling plugin content. Plugin
	  content is parcels of content which are going to be plugged into
	  specific areas of the webpage template. In this module we define
	  a container called the pluginset, the plugin itself, and the
	  plugin content classes.

2002-06-11 17:35  paul

	* webpage-defs.php: Big re-shuffle of classes in the file, but the
	  main change is the addition of two important new methods:
	  plugin() and plugin_inline(). Both of these allow you to plug
	  content into templates from a variety of sources: literal,
	  function, object, and file.

2002-06-11 17:30  paul

	* response-defs.php: Added the option to run the application
	  without buffering.  Output is simply echoed in this case. Also
	  changed when we send the headers. They are now sent just before
	  content delivery. Also brought the method allowed_groups() into
	  the RESPONSE object.

2002-06-11 17:26  paul

	* file-defs.php: The readall() method now returns the actual
	  content, rather than a boolean flag indicating success.

2002-06-11 17:26  paul

	* debugger.php: Default debugging output is now 'stored' rather
	  than echoing it as well as storing it.

2002-06-04 19:46  paul

	* response-defs.php, webpage-defs.php: The response class is now
	  the head of a dynasty which comprises
	  user->sesssion->webstream->webpage->response.  The $RESPONSE
	  global now contains an instance of this class, which is to say a
	  webpage, with a session and a user who owns it. Everything now
	  hangs off this one central response object.

2002-06-04 19:43  paul

	* session-defs.php: Renamed a few session methods to be prefixed by
	  "session_" to make sure they are recognizable.

2002-06-04 13:39  paul

	* db-postgres.php: Fixed the initialisation of Port Number to be
	  zero (0) rather than the erstwhile nullstring ("").

2002-06-04 11:32  paul

	* debugger.php: Got rid of version_compare, since it is version
	  dependent!! Used the old phpversion() instead.

2002-06-03 09:25  paul

	* wml-defs.php: Fixed the call to insert.

2002-06-02 15:59  paul

	* ChangeLog: Latest changes logged.

2002-06-02 15:58  paul

	* button-defs.php, configuration-defs.php, data-defs.php,
	  database-defs.php, datetime-defs.php, db-defs.php,
	  dbsearch-defs.php, debugger.php, error-defs.php, file-defs.php,
	  image-defs.php, keep-defs.php, mail-defs.php, menu-defs.php,
	  pager-defs.php, paging-defs.php, query-defs.php, renderable.php,
	  response-defs.php, search-defs.php, session-defs.php,
	  swish-defs.php, tableviewer-defs.php, timer-defs.php,
	  user-defs.php, utils.php, varpool-defs.php, webpage-defs.php,
	  wml-defs.php: Added Phpdoc comments.

2002-05-31 11:02  catalyst

	* response-defs.php: Updates to make a few things work and look
	  better

2002-05-29 11:39  paul

	* paging-defs.php, query-defs.php: Added comments as per Phpdoc.

2002-05-28 17:16  paul

	* pager-defs.php, paging-defs.php: Added comments as per Phpdoc.

2002-05-28 14:35  paul

	* mail-defs.php, menu-defs.php: Added comments as per Phpdoc.

2002-05-28 08:42  paul

	* globals-defs.php, image-defs.php, keep-defs.php, list-funcs.php:
	  Added comments as per Phpdoc.

2002-05-28 07:50  paul

	* globals-defs.php: Cosmetic. Comments added.

2002-05-27 17:41  paul

	* db-defs.php: Cosmetic.

2002-05-27 17:34  paul

	* form-defs.php: Comments added as per Phpdoc.

2002-05-27 09:07  paul

	* globals-defs.php: Cosmetics regarding comments and arrangement of
	  the separator lines etc. Also added the package directive at the
	  top.

2002-05-26 22:12  paul

	* debugger.php, error-defs.php, file-defs.php: Added comments as
	  per Phpdoc.

2002-05-26 22:11  paul

	* globals-defs.php: A few cosmetics. Comments.

2002-05-26 17:11  paul

	* webpage-defs.php: Fixed name of cachecontrol variable, as
	  declared global.

2002-05-26 17:08  paul

	* antihack.php, button-defs.php, configuration-defs.php,
	  data-defs.php, database-defs.php, datetime-defs.php, db-defs.php,
	  db-mssql-server.php, db-mysql.php, db-odbc.php, db-postgres.php,
	  debugger.php: More code commenting activity. No functionality
	  changes, unless there has been a typo somewhere!

2002-05-26 17:07  paul

	* webpage-defs.php: Added the cachecontrol functionality. You can
	  now put something like "cachecontrol=refresh" on a URL for a
	  cached page and it will refresh the page. Alternatively the
	  following will render the page with a refresh interval of 120s:
	  "cachecontrol=120".

2002-05-26 17:05  paul

	* response-defs.php: Added the cachecontrol var as permitted
	  global.

2002-05-26 09:35  paul

	* webpage-defs.php: Fixed latent bug with output_to_file missing
	  the parameters!

2002-05-25 15:30  paul

	* globals-defs.php: A new class called globals. This class handles
	  the globalisation of variables from external sources such as GET,
	  POST, COOKIES, the environment and the web-server. See the
	  comments in this class for further details.

2002-05-25 15:29  paul

	* response-defs.php: Implemented the globalisation process. This
	  response class creates all the server globals for you, and also
	  makes sure that the application cookie is globalised too. It also
	  exposes three important methods for use in application code:
	  $RESPONSE->register()   ... register your global var names
	  $RESPONSE->globalise() ... globalise the registered vars
	  $RESPONSE->globalise_all() This last method os provided to allow
	  you to fix a broken site when the php.ini is changed to set
	  register_globals = Off.  A good place to put this call is in your
	  application.php file.

2002-05-25 15:25  paul

	* session-defs.php: Nothing much changed - just a rather cosmetic
	  change to a debug_trace() statement.

2002-05-25 15:24  paul

	* debugger.php: Made the debugger variable dumper sensitive to Php
	  version and use the correct arrays accordingly. Future-proofing.
	  Also fixed up a problem with the utility functions like debugbr()
	  so they now check that $RESPONSE isset before actually trying to
	  do anything.

2002-05-23 08:59  paul

	* datetime-defs.php, debugger.php, error-defs.php: Added Phpdoc
	  comments.

2002-05-21 10:45  paul

	* antihack.php, button-defs.php, configuration-defs.php,
	  data-defs.php, database-defs.php, db-defs.php,
	  db-mssql-server.php, db-mysql.php, db-odbc.php, db-postgres.php:
	  Commented as per requirements of the PhpDoc system.

2002-05-21 10:45  paul

	* datetime-defs.php: Commented as per requirements of the PhpDoc
	  system.  Also removed superfluous first parameter from two
	  functions: displaydate_to_timestamp() and
	  datetime_to_timestamp().  Please search and replace accordingly,
	  and remove the first parameter (displaydate_format) from your
	  calls.

2002-05-21 09:01  paul

	* browser-check.php: Browser checking is now done in
	  response-defs.php.

2002-05-20 21:45  paul

	* webpage-defs.php: Added a cacheing sub-system to the webpage
	  output process.  This is invoked by the following kind of
	  example:  $page = new sitepage("mypage");  $page->cache(60);
	  Which creates a new webpage object $page and then causes it to be
	  cached for 60 seconds. initially the cached file does not exists
	  so the first time around, it is created. Then for the next 60
	  seconds any request for the same file will result in the cached
	  copy being returned. After than the file is regenerated on the
	  next request.  NB: you must add the following directory to your
	  application.php file:  $CACHEDIR = "cache" Also create a
	  directory called "cache" in your main website directory. Cached
	  copies of dynamic Php content will be stashed in this directory.

2002-05-19 10:00  paul

	* button-defs.php: Added the style attribute to the Link class. You
	  can now specify the style of the clickable link with the
	  setstyle() method.

2002-05-19 09:59  paul

	* data-defs.php: A new method for adding items to the set
	  "add_querydata()".  Using this method you can pass a query
	  variable to the function, together with a nominated fieldname for
	  the keys, and another parameter string containing one or more
	  field names to be the values.This second parameter string takes
	  multiple fieldnames which are delimited by the pipe "|". Literal
	  fields begin with a "#" and all text following will be taken as
	  the value. Fields can also be flagged as uppercase by beginning
	  them with the "^" symbol.

2002-05-19 09:56  paul

	* form-defs.php: A new method for the form_combofield
	  "add_querydata()".  Using this method you can execute a query,
	  and pass the query variable to the function, together with a
	  nominated fieldname for the option values, and another parameter
	  string containing one or more field names to be the displayed
	  text in the combo.  This second parameter string takes multiple
	  fieldnames which are delimited by the pipe "|". See the method of
	  the same name in data-defs.php.

2002-05-15 23:19  paul

	* form-defs.php: Tidying up of the HTML rendering of the new
	  form_imagefield()

2002-05-15 22:36  paul

	* db-defs.php: Added support for displaying fields which contain
	  image URLs.  Thsi is done through a new class: db_imagefield()

2002-05-15 22:35  paul

	* image-defs.php: Cosmetic changes only.

2002-05-15 22:34  paul

	* tableviewer-defs.php: Added support for displaying database
	  fields which contain URLs of images.

2002-05-15 22:34  paul

	* form-defs.php: Added the form_imagefield() class. This is the
	  same as a simple text field, but it assumes that the contents of
	  the text field are a URL or path to an image. The control
	  therefore displays the image below the text box.

2002-05-14 10:38  paul

	* datetime-defs.php: Just a small refinement in the way that the
	  "monthno()" function works. We now set the case and trim the
	  length of the month name passed into this function prior to
	  lookup.

2002-05-14 10:37  paul

	* response-defs.php, session-defs.php: Change to the way we send
	  cookies. We now specify the domain and the path, as the defaults
	  using HTTP_HOST and "/".

2002-05-12 12:31  paul

	* file-defs.php: Implementation of fileupload() class. When you
	  instantiate this class it looks at the global var scope and
	  pre-processes any submitted uploaded file information. You can
	  then specify destination directories, and process these uploaded
	  files accordingly. See also form_fileuploadfield() class in
	  form-defs.php for the client-side part of this process.

2002-05-12 12:29  paul

	* form-defs.php: Implementation of form_fileuploadfield() class
	  which gives you a form element which will enable the user to
	  browse to a local file and upload it to a location you specify on
	  the server.  See also the new class fileupload() in file-defs.php
	  which handles the server-side part of this process.

2002-05-07 09:17  mark

	* form-defs.php: type in form_displayonlyfield.

	  now reads ... extends form_textfield...

2002-05-07 07:59  paul

	* error-header.php: Removed. Not part of library!

2002-05-06 23:10  paul

	* form-defs.php: Changed the way the readonly and disabled
	  functions work.  We now have an additional property 'disabled'
	  defaulting to false. If set to true, the element has the
	  attribute 'disabled' added to it.  If an element is NOT_EDITABLE,
	  then we put the attribute 'readonly' into the tag for the
	  following types of form fields: 'text', 'password', and
	  'textarea'.  For all the others (except hiddne fields) we include
	  the 'disabled' attribute instead, the the relevant class also
	  adds a hiddne field for form value submission to occur.  Also
	  renamed class 'form_displayonlyfield' to be class
	  'form_labelfield'. This renders a value as a text field, with no
	  associated hidden field. A new class has taken the place of the
	  old: 'form_displayonlyfield', and this one renders a value as
	  text, but WITH an associated hidden field.

2002-05-05 22:35  paul

	* ChangeLog: [no log message]

2002-05-05 22:34  paul

	* menu-defs.php: Moved the HVmenu code into the main LIB directory.

2002-05-05 22:33  paul

	* menu_com.js, tri.gif, tridown.gif, trileft.gif: The new HVmenu
	  script and images.

2002-05-05 19:42  paul

	* ChangeLog: Latest changes. Mainly HVmenu.

2002-05-05 19:39  paul

	* menu-defs.php: Added the new HVmenu class.  This is a generic
	  Javascript multi-level menu system which uses the standard menu
	  tables 'menu' and 'menuoption' to render a menu. It is designed
	  to work with the 'webpage' object (eg. your sitepage()), and
	  derives the stylesheet from that object. It is said to be
	  compatible with NS4, IE4+, NS6 and Mozilla browsers. Certainly
	  IE5.0, Mozilla, and NS4.7 have been tried and found to work
	  perfectly so far.  NB: The following needs to be checked/done
	  before you can expect this to be functional for your website: 1.
	  The database tables 'menu' and 'menuoption' need to be updated to
	  include new field 'last_modified'.  2. A new database procedure
	  called "modstamp()" needs to be installed on the server, and
	  triggers to call it installed on the menu and menuoption tables.
	  3. Database table 'menuoption' needs new fields 'width' and
	  'height' to be added.  NB: For examples of this, see the schema
	  definitions in /var/www/newsquest/db/tables.sql and
	  functions.sql.  4. Your website stylesheet should have the
	  following new classes added to it: '.menu' and '.submeu'. See the
	  NewsQuest stylesheet and make a copy of that to start, since
	  there are numerous rules in the menu class in particular.  5.
	  Your site-webpage.php file should be changed to define your
	  stylesheet via the new mechanism (see ChangeLog entry for
	  webpage-defs.php).  6. The new HVmenu() is then used very simply
	  within your sitepage object:	 $menu = new HVmenu("main", $this);
	  $menu->render();

2002-05-05 19:26  paul

	* webpage-defs.php: Two changes to the webpage definitions: 1)
	  Added method add_scriptsrc() This allows you to specify a file
	  with scripting in it, and have it appear in the relevant page
	  section (head, body, or foot) in the form <script
	  type='text/javascript' src='myfile.js'></script> Default language
	  is 'javascript' but you can specify this too.  2) Added the
	  stylesheet properties Two new properties: stylesheet and
	  stylesheet_ie have been added. If specified these lead to the
	  page having the correct stylesheet references put into the page
	  for you.

2002-05-05 18:38  paul

	* form-defs.php: The change which prevented the size= attribute
	  from being rendered if a class or style was present has been
	  reversed.  This had an adverse effect on code already out there.

2002-05-05 18:36  paul

	* file-defs.php: New classes added: 1) csv_inputfile Extends the
	  inputfile class to handle CSV formatted files more easily. The
	  readln() function is extended in this class to return an array of
	  CSV fields.  2) stylesheet Extends the inputfile class to handle
	  stylesheet files. This class provides the function style() which
	  returns the specified style rule(s).

2002-05-02 14:12  paul

	* ChangeLog: Latest.

2002-05-02 14:09  paul

	* query-defs.php: Fixed the recursion on failure bug. This bug
	  occurred when the dbrecords() object was executed, failed, then
	  went on and still called get_first(). The get_first() function
	  would then see that the query object was invalid, and re-execute
	  it, ad-infinitum.  We have now bracketed the get_first() with an
	  "if valid" test.  Also made some cosmetic changes to formatting.

2002-04-30 19:19  paul

	* ChangeLog: Latest changelog.

2002-04-30 08:44  paul

	* utils.php: Added function "log_sys()" to log messages to syslog.
	  It is just a simple wrapper. You provide a single paramter - the
	  message to log. Saves having to provide that "0" parameter to
	  error_log() every time, and also prefixes your APP_NAME.

2002-04-29 17:02  paul

	* query-defs.php: Added a trim() to strings before they are sent to
	  the DB.

2002-04-29 17:02  paul

	* form-defs.php: Added a couple of defines to indicate whether a
	  combo is multi-select of single select: MULTISELECT, and
	  SINGLESELECT.  Also added a new parameter to the
	  form_combofield() class which takes these values and defaults to
	  single select.

2002-04-29 17:00  paul

	* debugger.php: Aded a new debugging utility function called
	  "debughex()".  This takes three parameters: $str - This is a
	  string you want to view as a hexadecimal dump $msg - A message
	  which appears before the dump $class - The debugging class The
	  dump is colour-coded. Normal chars are default colour.  Spaces
	  are blue. Control chars (<=31dec) are red.  Chars with values >
	  127 are green.

2002-04-29 16:53  paul

	* file-defs.php: Added a new utility function called "mkpath()".
	  The only parameter to pass is the path you wish to make. This
	  function will ensure that all elements of the path are created if
	  they don't exist. You can specify a realtive path, and it will
	  make it into a "real" full path. Returns false if it fails, else
	  true.

2002-04-29 16:45  paul

	* datetime-defs.php: Added a new date format which renders the date
	  in the form: YYYY/MM/DD, ie. backwards.

2002-04-28 22:16  paul

	* webpage-defs.php: Added the method "discard()" which throws away
	  all the webpage content built up to that point.

2002-04-28 22:16  paul

	* renderable.php: Just provided for the $browser_type "xml". This
	  is in preparation for a bit of work concerned with the response
	  object and how it should be used. Currently this is just a
	  cosmetic addition.

2002-04-28 22:13  paul

	* form-defs.php: Corrected single quotes around the style tag to
	  double quotes.  Also changed the way the "size" tag is used with
	  fields. It is now supressed if there is either a "class" or a
	  "style" tage, on the assumption that these would deal with field
	  width.

2002-04-26 16:52  paul

	* response-defs.php: The HTTP Authentication option has been
	  implemented. This is selected using the method
	  set_authentication_type() in the response class. For HTTP
	  Authentication we use the Php variables PHP_AUTH_USER and
	  PHP_AUTH_PW, which are obtained by sending the WWW-Authenticate
	  header to the users browser.

2002-04-26 16:42  paul

	* session-defs.php: Abstracted the code which detects and gets the
	  application session cookie from the global scope into a dedicated
	  routine.  This is because it is now also used by the response
	  class.

2002-04-26 16:40  paul

	* utils.php: Slight re-formatting of the error code to bring it
	  into line with 'real' HTTP error codes which people see in their
	  browsers.

2002-04-26 15:51  catalyst

	* response-defs.php: [no log message]

2002-04-25 18:12  paul

	* database-defs.php: Changed back to using HTTP_HOST since HOSTNAME
	  is rather machine-specific, and not a reliable var since it is an
	  evironment var.

2002-04-25 17:58  paul

	* database-defs.php: Use the global var $HOSTNAME for the
	  persistent hosts check, and not $HTTP_HOST!

2002-04-25 17:48  paul

	* database-defs.php: Bracketing - cosmetic only.

2002-04-25 17:47  paul

	* response-defs.php: Removed the syslog logging statements.

2002-04-25 16:51  paul

	* keep-defs.php: This new module contains a class with a few simple
	  methods to wrap around the PHP session system. It provides a
	  constructor which creates a named session, and the main methods:
	  remember() which registers varnames to keep alive, and
	  forget() which de-registers varnames.  This class is used in the
	  'response' class which creates a 'keep' object to allow variables
	  to be kept alive in the session.

2002-04-25 16:42  paul

	* user-defs.php: We now properly authenticate the 'guest' user,
	  which is to say we check it it's present in the uuser table, and
	  that the 'enabled' field is set to true.

2002-04-25 16:41  paul

	* utils.php: Fixed up error_exit() so it now deletes cookies
	  properly and recognises the browser type in doing so.

2002-04-25 16:39  paul

	* response-defs.php: Added new method to return whether a given
	  hostname is in the list of persistent hosts. Also added the
	  excess logins stuff to support sessions. Also fixed the problem
	  with authorisation fallback to guest not working previously.

2002-04-25 16:36  paul

	* session-defs.php: Added the facility to configure the operational
	  mode for handling excess logins, as determined by the number of
	  wwwsession records compared with the limit imposed by the value
	  of the uuser.limit_logins field. This is now specified in the
	  application.php file.

2002-04-25 16:34  paul

	* database-defs.php: Hopefully we have fixed the persistent
	  connection option so that it will connect to the database
	  persistently when the code finds itself running on the
	  appropriate host.

2002-04-24 11:30  paul

	* ChangeLog, keep-defs.php: New keep-defs module to allow
	  session-wide variable persistence.

2002-04-24 09:53  paul

	* ChangeLog, authenticate.php, debugger.php, form-defs.php,
	  response-defs.php, session-defs.php, user-defs.php, utils.php,
	  webpage-defs.php: This is the latest cut of the unstable branch
	  of phplib.  Using this (as before) to protect the innocent from
	  unstable changes!

2002-04-23 16:16  paul

	* form-defs.php: The form_memofield class now uses the "browser"
	  variable in the $RESPONSE object to determine the "wrap"
	  attribute value for the right browser. It makes sure that wrap is
	  set to "physical" or "virtual" for IE, and "hard" or "soft" for
	  mozilla.

2002-04-23 16:15  paul

	* response-defs.php: Provided a new RESPONSE variable called
	  'browser'. So now you have the option of using $RESPONSE->browser
	  to aid in code generation. This variable can take the following
	  values: "msie", "mozilla" or"other". Note, you can use the
	  following defines instead of the literal strings above:
	  BROWSER_IE   BROWSER_MOZILLA	 BROSWER_OTHER

2002-04-22 18:21  paul

	* debugger.php, response-defs.php, session-defs.php, user-defs.php,
	  utils.php, webpage-defs.php: Added the AUTHFAIL behaviour
	  settings. When authorisation fails from a bad login or authcode
	  we can now: 1) Die silently.	2) Die with message.  3) Re-direct
	  to given URL 4) Accept the user as a guest login

2002-04-18 16:05  paul

	* authenticate.php: Authentication is now taken care of in the
	  session object using the new identify_user() method. This is all
	  taken care of automatically when the response class is used.

2002-04-18 12:11  paul

	* user-defs.php: Removed the special preocessing for the guest
	  user. This is now always a valid user with a uuser record so no
	  need for special handling.

2002-04-18 11:51  paul

	* response-defs.php:
	  The module which defines the response class.

2002-04-18 11:26  paul

	* session-defs.php: Added more diagnostic debugging.  Fixed the
	  over-enthusiastic login culling problem.

2002-04-18 08:45  paul

	* ChangeLog, button-defs.php, database-defs.php, datetime-defs.php,
	  db-mssql-server.php, db-mysql.php, db-postgres.php, debugger.php,
	  form-defs.php, menu-defs.php, query-defs.php, renderable.php,
	  session-defs.php, user-defs.php, webpage-defs.php, wml-defs.php:
	  This change marks the updating of the whole library to the
	  version which has been developed to date in the unstable branch.

	  The changes mainly revolve around the implementation of a new
	  'response' class, and the associated $RESPONSE object which gets
	  created automatically for every session. This object now controls
	  the whole process of getting a response back to the user request.
	  See individual changes in ChangeLog for more details.

2002-04-17 23:06  paul

	* user-defs.php: Renamed the ambiguously named 'type' attribute to
	  be 'user_type' for the benefit of classes inheriting this one.

2002-04-17 22:26  paul

	* form-defs.php: Complete rework of code which renders the common
	  form field property tags/attributes. We now have a method in the
	  abstract form_field class to do this and all the other child
	  classes call it. Also implemented additional events handlers.
	  Backward compatible - no changes required to your existing code.

2002-04-17 22:24  paul

	* webpage-defs.php: Added convenient wrapper method for
	  add_script() so we default to adding script to the body section.

2002-04-17 22:23  paul

	* query-defs.php: Got rid of error logging statement.

2002-04-16 15:45  paul

	* renderable.php: Fixed the bug whereby the $browser_type was not
	  being looked up from the global RESPONSE object.

2002-04-16 15:44  paul

	* form-defs.php: Cosmetic stuff.

2002-04-16 08:05  paul

	* ChangeLog: Latest ChangeLog.

2002-04-16 00:02  paul

	* button-defs.php, debugger.php, menu-defs.php, session-defs.php,
	  webpage-defs.php, wml-defs.php: Re-shuffle of the class
	  hierarchy. The response class is now a descendant of the
	  user->session hierarchy, instead of the webdebugger. This makes
	  more sense, as most of the app.  code needs to reference session
	  and user info, not debug info.

2002-04-16 00:01  paul

	* response-defs.php: New file. This contains the definition of the
	  central response class which is used to contain all of the
	  relevant information and data structures for the whole response
	  to the request.

2002-04-15 17:50  paul

	* button-defs.php: Now references the new RESPONSE object to find
	  the session_id for building some links.

2002-04-15 17:50  paul

	* database-defs.php: Now references the new RESPONSE object to find
	  the peristent hosts string. Also changed the case of the names of
	  constants TRUE and FALSE to lowercase.

2002-04-15 17:48  paul

	* datetime-defs.php: Altered function timestamp_to_datetime so that
	  if nothing is passed in then it returns the current datetime.

2002-04-15 17:47  paul

	* db-mysql.php, db-mssql-server.php: Cosmetics.

2002-04-15 17:47  paul

	* debugger.php: Changed the global functions to use the new
	  RESPONSE object to access the debugger. Also renamed hascontent()
	  to debug_hascontent() to make it a little more obvious.

2002-04-15 17:45  paul

	* menu-defs.php: Changed to use the new RESPONSE object to identify
	  the current user.

2002-04-15 17:45  paul

	* query-defs.php: Changed to use the new RESPONSE object to find
	  the relevant datasource. Also reworked the type identification
	  stuff using the is_* functions instead of gettype().

2002-04-15 17:43  paul

	* renderable.php: Removed the browser_type stuff which doesn't have
	  anything to do with this class.

2002-04-15 17:42  paul

	* session-defs.php: Completely reworked as part of the RESPONSE
	  changes. We now inherit from the user class, so a session is just
	  a special type of user. The constructor also now implements the
	  authorisation protocol, rather than having it floating about in a
	  separate included file.

2002-04-15 17:24  paul

	* user-defs.php: Added the authenticate() function to verify users
	  by userid and password, or by authid (MD5), or as guests. Also
	  made the SQL where clauses escape user_id. Also brought in two
	  more user fields: enabled, and limit_logins.

2002-04-15 17:22  paul

	* webpage-defs.php: Changed to use the new RESPONSE opbject for
	  access to the debugger. The REPONSE object is the debugger.

2002-04-15 17:22  paul

	* wml-defs.php: Changed to use the new RESPONSE opbject for
	  session_id.

2002-04-15 17:19  paul

	* db-postgres.php: Re-worked the whole session area to incorporate
	  a single response object which is descended from RenderableObject
	  and webdebugger. This now contains the session, which inherits
	  user, and which now does all of the authentication.

2002-04-12 12:05  paul

	* ChangeLog: The updated ChangeLog.

2002-04-06 00:42  paul

	* datetime-defs.php: Changed the displaydate_to_datetime() function
	  so that we will fall through to using strtotime() if the date is
	  found to be set to the default 1/1/1900 date. This allows people
	  to put things like "Yesterday" into a date field and we will get
	  the right date and time back.

2002-04-06 00:40  paul

	* user-defs.php: Altered the group information storage, reading and
	  checking to be the same as in session-defs.php. Sometime in the
	  future we will amalgamate these into a decent virtual class.

2002-04-05 19:16  paul

	* query-defs.php: Further tidying with the execute() function
	  override.

2002-04-05 19:13  paul

	* query-defs.php: Provided an override to the execute() method in
	  the dbrows() class. This simply executes the query using the
	  parent (dbquery) execute() method, and then performs a
	  get_first() call. This makes sure that data is available right
	  away for descendant classes like dbrecords().

2002-04-05 17:40  paul

	* datetime-defs.php: Added a new time-only format in 'nice'
	  arrangement.

2002-04-05 17:39  paul

	* search-defs.php: Hold the termcount now.

2002-04-03 16:35  mark

	* button-defs.php: added border=0 to image_button so a border
	  doesn't appear around the images on netscape

2002-04-03 07:56  paul

	* dbsearch-defs.php: New module for database searching for
	  articles.

2002-04-03 07:40  paul

	* db-defs.php: Cosmetics.

2002-04-03 07:40  paul

	* swish-defs.php: Removed the max_results stuff. We no longer cull
	  results in the swish++ module due to the neccessity of filtering
	  by date in parent modules.

2002-04-03 07:39  paul

	* search-defs.php: Got rid of the date range stuff. This is not
	  generally applicable at this level.

2002-04-03 07:38  paul

	* configuration-defs.php, database-defs.php, mail-defs.php,
	  button-defs.php: Added documentation stuff.

2002-04-03 07:37  paul

	* datetime-defs.php, db-mssql-server.php, image-defs.php:
	  Cosmetics.

2002-04-01 16:58  paul

	* button-defs.php: Assign the image_button a new property called
	  'type' and set this to 'image'. This is so it is compatible with
	  form elements which have the 'type' property when added to a form
	  object.

2002-04-01 16:57  paul

	* form-defs.php: Automatically use add_button() for elements with
	  type='image' since these are image buttons.

2002-03-31 08:45  paul

	* mail-defs.php: Cosmetic only.

2002-03-31 08:43  paul

	* query-defs.php: Enhancement to the field() method whereby it now
	  automatically applies stripslashes() to string values. You no
	  longer need to bother to do this when retrieving data in your
	  application using the field() method.

2002-03-29 12:17  paul

	* ChangeLog: Latest changelog.

2002-03-29 12:12  paul

	* ChangeLog: Change log essential now that we have people using the
	  library.

2002-03-29 12:11  paul

	* form-defs.php: Fixed bug where the selected value modifier didn't
	  have a space after it, and so messed up the <option> tag in a
	  <select>.

2002-03-29 12:10  paul

	* utils.php: Cosmetic changes.

2002-03-26 20:11  paul

	* image-defs.php: Added onmouseover/out and also linkover_text to
	  the standard image class. This allows you to define text to show
	  up in the status bar when the user mouses over the image.

2002-03-26 20:10  paul

	* form-defs.php: Added setclass() to all applicable form elements.
	  You can now use this to set the class of any element to go with a
	  stylesheet entry.

2002-03-26 20:06  paul

	* menu-defs.php: Changed the menu item separator strings. We now
	  have at least one real space in each, so that broswers can wrap
	  the menu list in table cells. Previous the nbsp; approach stopped
	  that and very long menus caused the users to have to scroll.

2002-03-26 20:05  paul

	* button-defs.php: Cosmetic stuff.

2002-03-24 18:42  paul

	* authenticate.php, configuration-defs.php, database-defs.php,
	  error-defs.php, menu-defs.php, pager-defs.php, search-defs.php,
	  session-defs.php, swish-defs.php, tableviewer-defs.php,
	  user-defs.php, utils.php: Two main sets of changes: 1) Added
	  debug_trace() statements to make tracing within the library
	  happen.  2) Replaced calls in the form "$q = new dbrecords()" to
	  the new format using utility function: "$q = dbrecordset()".
	  These changes should be 100% backward compatible, so you should
	  not have to change your code.

2002-03-24 18:40  paul

	* debugger.php: Added a TRACING facility to show which modules are
	  producing debug output. This is done by inserting a function call
	  to begin a tracing context, and then one to end it with
	  "debug_trace($context)" and "debug_trace()" respectively. The
	  library already does this now, and you can see the output by
	  flagging it in the debug_on() call eg:
	  debug_on(DBG-SQL|DBG_TRACE) is an example.

2002-03-24 18:37  paul

	* query-defs.php: Added an SQL Query Text Container class which all
	  other query classes inherit. This has methods for building SQL
	  statements, rather than the ad-hoc string concats we usually have
	  to do. The original approach is stil valid, so you don't have to
	  change any code! Also added wrapper classes: dbselect, dbinsert,
	  and dbupdate to support the query building idea.

2002-03-24 15:00  paul

	* db-defs.php: Added the debug_trace() stuff. Also updated the db
	  access calls to the new ones: dbrecordset(0 and dbcommands().

2002-03-21 21:28  paul

	* menu-defs.php: Fixed the business where you leave the
	  wrap_threshold defaulting to zero. It used to assign default
	  values of 5 and 10 for horizontal and vertical menus resp. but
	  now we let them wind to infinity if they specify zero as
	  wrap_threshold.

2002-03-21 20:43  paul

	* menu-defs.php: Fixed up vertical menus a bit. Also added the <br>
	  back to the horiz menus.

2002-03-20 16:28  paul

	* mail-defs.php: Added the pjpeg content type as CONTENT_PHOTO

2002-03-20 12:23  paul

	* session-defs.php: Re-worked the way we read in groups. We now
	  hold two arrays group_names[] and group_info[]. The former used
	  to be called user_groups[], and contains group names/descriptions
	  only. The latter is an associative array keyed on the group_id,
	  and containing the names as data. Also added central get_groups()
	  function and a function for returning group id list.

2002-03-18 22:04  paul

	* form-defs.php: Defaulted all the form element $name parameters to
	  nullstring.

2002-03-18 22:04  paul

	* authenticate.php: Fixed up the REQUESTED stuff.

2002-03-18 14:34  paul

	* menu-defs.php: Added sitemenu() class. Now have database based
	  menus.

2002-03-18 14:33  paul

	* mail-defs.php: Fixed content types. Added some as well.

2002-03-18 14:32  paul

	* image-defs.php: Fixed quotes.

2002-03-18 14:32  paul

	* button-defs.php: Added the highlight() method to Link class.

2002-03-18 14:20  paul

	* authenticate.php: Added the $REQUESTED and $REQUEST_QUERY vars to
	  the global context of every session hit.

2002-03-14 10:04  paul

	* search-defs.php: Changed the diagnostic position for addterm.

2002-03-09 14:49  paul

	* user-defs.php: Added user email address as one of the default
	  vars read in.

2002-03-09 14:48  paul

	* button-defs.php: Renamed setonclick() to set_onclick() for
	  consistency.

2002-03-07 17:46  paul

	* mail-defs.php: Further refinements and extra mime types.

2002-03-07 16:57  paul

	* mail-defs.php: Incorporated the new MIME-aware email class
	  downloaded by Mark from the net. Enhanced it to cater for
	  multipart/alternative text-html combination e-mails, as per Haka
	  competitions. Renamed a few of the functions, reformatted etc.

2002-03-07 11:11  paul

	* button-defs.php, image-defs.php: Some adjustments to the way
	  element parts are quoted.

2002-03-05 10:54  paul

	* swish-defs.php: Re-implemented the max-results limit by breaking
	  out of the read loop since swish++ seems to crash when you
	  provide the -m parameter (swish v5.7). Will reverse this when we
	  get a fixed swish++ version.

2002-03-03 22:54  paul

	* swish-defs.php: More solid debug msgs

2002-03-03 22:54  paul

	* search-defs.php: Minor changes to do with search terms.

2002-03-02 14:17  paul

	* form-defs.php: Extensive changes in the way we handle READONLY
	  rendering of fields. We have especially changed the
	  form_combofield() one so that now we render a normal SELECT but
	  with readonly and disabled set. We also render a hidden field at
	  this point.

2002-03-02 14:15  paul

	* search-defs.php: Allow null search terms.  Default the ID of the
	  term in addterm.  Implemented new function updateterm. This is
	  done by index number in the searchterm array.

2002-03-02 14:09  paul

	* query-defs.php: Implemented an alias function called
	  start_transaction(). Saves having to remember that its really
	  begin_transaction() since I'm alwasy making that mistake!

2002-03-02 14:07  paul

	* authenticate.php: Implemented the new functionality for limiting
	  logins. There is a new field on uuser called "limit_logins". If
	  set to zero this means unlimited logins per user id. Otherwise we
	  cull sessions until the limit is satisfied. We also now delete
	  the session of a user who is actually logging out.

2002-02-28 22:09  paul

	* webpage-defs.php: Along with changes to the debugger, we now have
	  a debug output mode setting of STORED, for webpages.

2002-02-28 22:08  paul

	* utils.php: Brought the errorcode_exit() function up to date with
	  all the HTTP error codes that send_errorcode_and_die() has.

2002-02-28 22:07  paul

	* debugger.php: Output modes are now more rigorous. NONE means
	  nothing is collected or output. STORED is a new mode which is
	  what NONE used to be: output is stored in the content var. Our
	  default is now STORED & ECHO. Also added a placeholder for output
	  to logfile, not implemented yet.

2002-02-28 22:05  paul

	* authenticate.php: Stopped it assuming login and clearing the
	  cookie if the username and password are nullstrings. Sometimes
	  the form gets submitted by a webpage along with other stuff, so
	  we only take it as a login attempt if at least one field is
	  non-null.

2002-02-28 16:28  paul

	* search-defs.php: Got rid of debug statement.

2002-02-28 11:23  paul

	* search-defs.php, swish-defs.php: Created a generic search class,
	  and abstracted the bits which are specific to swish++ to the
	  swish-defs.php module.

2002-02-28 11:22  paul

	* data-defs.php: Cosmetics.

2002-02-27 13:29  paul

	* data-defs.php: Cosmetic.

2002-02-24 22:11  paul

	* swish-defs.php: Cosmetics really.

2002-02-24 22:10  paul

	* webpage-defs.php: Added more HTTP error codes. Changed the look
	  of the message to be more realistic.

2002-02-24 22:09  paul

	* datetime-defs.php: Added another format.

2002-02-24 22:09  paul

	* configuration-defs.php: Cosmetics.

2002-02-24 22:09  paul

	* button-defs.php: Made linkover_text option available to the
	  standard Link() function and made action_link use it.

2002-02-22 08:04  paul

	* utils.php: Added little function for defaulting a variable to a
	  given value if the variable turns out to be empty.

2002-02-19 14:50  paul

	* button-defs.php: Cosmetics

2002-02-18 21:25  paul

	* db-defs.php: Defaulted nullstring name for form element to the
	  fieldname.

2002-02-18 21:18  paul

	* db-defs.php: Defaulted the argument to html() and wml() functions
	  to nullstring.

2002-02-18 18:16  paul

	* mail-defs.php: Defaulted the format to plain text.

2002-02-18 17:25  paul

	* renderable.php: Added 'wget' to our list of HTML browsers so we
	  get the correct behaviour for our automated cron jobs.

2002-02-18 17:18  paul

	* browser-check.php: Added 'wget' to our list of HTML browsers so
	  we get the correct behaviour for our automated cron jobs.

2002-02-18 11:13  paul

	* user-defs.php: Cosmetics

2002-02-16 18:07  paul

	* session-defs.php: Used some defines instead of constants.  Used
	  microtime to generate cookie md5s Replaced 'Punter' with 'Guest'
	  for default login group Used stristr case-insensitive match on
	  'guest' login

2002-02-16 18:05  paul

	* authenticate.php: Implemented a logoff behaviour if there is a
	  form element called 'tbxLogoff' submitted containing the string
	  'Logoff'. This kills the cookie and makes them a guest.

2002-02-15 09:46  paul

	* user-defs.php: Added method to return unique auth_code for the
	  user, or if there isn't one then generate it.  Also added another
	  special user with ID=#new#. If a user object is created with this
	  userid then a blank user object is made without any reference to
	  the DB. This is so we can make new users easily.

2002-02-15 09:44  paul

	* form-defs.php: Added: 1. onclick clause 2. id clause 3.
	  form_displayonlyfield element. This is for when you really only
	  want to display some fixed text on the built-in form, and don't
	  want to do a readonly textfield, which automitcally puts a hidden
	  field in the page for you.

2002-02-13 10:55  paul

	* webpage-defs.php: Implemented a generic mechanism for including
	  scripting into sections of the webpage. Usually this will be
	  either the head or body sections.  The scripting language can be
	  specified; defaults to javascript.

2002-02-13 10:53  paul

	* swish-defs.php: Added daterange stuff. We only store the date
	  range in this object as a convenient central point. The swish++
	  search does not use it itself.  Rather the daterange values can
	  be used by calling routines if they need to filter by date. See
	  search-exec.php for usage of this.

2002-02-13 10:51  paul

	* datetime-defs.php: Added functions to extract DMY date parts from
	  strings, and also HMS time parts. These are used in
	  displaydate_to_timestamp(). Made it more robust and it will now
	  cope with USA formatted dates (MDY) on its own.

2002-02-07 16:34  paul

	* swish-defs.php: Added various options: - Skip results - Index
	  file name

2002-02-07 07:45  paul

	* swish-defs.php: Added function to define the max results to
	  return from the swish query.

2002-02-07 07:44  paul

	* webpage-defs.php: Added a function to add javascript to the page.
	  This is rendered just after the BODY tag.

2002-02-07 07:44  paul

	* datetime-defs.php: Added utility function format_DMY. This takes
	  a date string and formats it as DD/MM/YYYY. It checks a few
	  things with the ordering of the input date as well.

2002-02-07 07:42  paul

	* authenticate.php: Important change: we now check to see if
	  username/password have been submitted. If so then we blow away
	  any existing cookie and assume a re-login is being done.

2002-02-04 14:26  paul

	* swish-defs.php: Latest version including a rethink of how to
	  store and handle search terms.

2002-02-04 14:25  paul

	* form-defs.php: Provided for renaming the widget when calling
	  render() so we can have dynamic use of generic objects with
	  different names.

2002-02-04 14:24  paul

	* button-defs.php: Properly handle image button width and height
	  via style.

2002-02-01 16:26  paul

	* swish-defs.php: Snapshot.

2002-02-01 12:45  paul

	* form-defs.php: Fixed up the multiple select change so that
	  assigned value arrays will render the right options selected in
	  html() routine.

2002-02-01 12:18  paul

	* debugger.php: Provided for array variables being returned. We now
	  display these in the variable dump correctly.

2002-02-01 12:18  paul

	* form-defs.php: Added [] to names of select form elements, where
	  the mode is multiple select.

2002-02-01 07:48  paul

	* swish-defs.php: Initial cut at a module to do searching with
	  swish++

2002-02-01 07:47  paul

	* form-defs.php: Added multiple select boolean to selects.

2002-01-25 11:28  paul

	* user-defs.php: Fixed bug where no valid usergroups gave an error.

2002-01-25 10:51  paul

	* authenticate.php, session-defs.php, user-defs.php, utils.php:
	  Sorted out the scheme for doing cookies named by app prefix.	We
	  now grab this cookie and assign 'session_id' var in
	  session-defs.php at the top. Authenticate is as it was, except
	  that it can now be included any number of times, to
	  re-authenticate if neccessary.

2002-01-25 08:57  paul

	* webpage-defs.php: Removed include of debugger. Already done
	  earlier now.

2002-01-25 08:56  paul

	* file-defs.php: Now uses APP_PREFIX for prefix on temp filenames
	  in /tmp

2002-01-25 08:41  paul

	* utils.php: The cookie name is now defined in application.php
	  derived from the application prefix string. This gives us more
	  flexibility and avoids cookie names clashing when using
	  session_id on multiple websites.  NOTE: Removed a few functions
	  which were RugbyVU-specific. These must be implemented in another
	  module for RugbyVU.

2002-01-25 08:40  paul

	* error-header.php, session-defs.php: The cookie name is now
	  defined in application.php derived from the application prefix
	  string. This gives us more flexibility and avoids cookie names
	  clashing when using session_id on multiple websites.

2002-01-22 20:50  paul

	* authenticate.php: Webmaster definitions.

2002-01-21 17:11  paul

	* session-defs.php: Changed session_id to be a text field, and now
	  we compute an MD5 hash to generate this code. The reason is to
	  foil hackers from grabbing other sessions by making up their own
	  bogus ids. Also implemented a parameterized SESSION_LIFETIME
	  variable.

2002-01-21 10:45  paul

	* session-defs.php: Removed game_id reference. This is no longer a
	  generic field for the wwwsession record. This kind of thing is
	  handled by context-defs.php

2002-01-21 09:59  paul

	* user-defs.php: Added friendlyName() method.

2002-01-21 09:59  paul

	* button-defs.php: Added styles for buttons.

2002-01-21 09:06  paul

	* varpool-defs.php: Replaced the old version with the proper
	  version with urlstring() method.

2002-01-21 08:59  paul

	* session-defs.php: Made the rvuuser -> uuser table name change

2002-01-21 08:52  paul

	* user-defs.php: Set default guest user group setting.

2002-01-21 08:52  paul

	* authenticate.php: Made the rvuuser -> uuser table name change

2002-01-20 14:19  paul

	* user-defs.php: Fixed references to rvuuser et al.

2002-01-19 20:31  paul

	* antihack.php, authenticate.php, browser-check.php,
	  button-defs.php, configuration-defs.php, data-defs.php,
	  database-defs.php, datetime-defs.php, db-defs.php,
	  db-mssql-server.php, db-mysql.php, db-odbc.php, db-postgres.php,
	  debugger.php, error-defs.php, error-header.php, file-defs.php,
	  form-defs.php, image-defs.php, list-funcs.php, mail-defs.php,
	  menu-defs.php, pager-defs.php, paging-defs.php, query-defs.php,
	  renderable.php, session-defs.php, tableviewer-defs.php,
	  timer-defs.php, user-defs.php, utils.php, varpool-defs.php,
	  webpage-defs.php, wml-defs.php: A php website framework

2002-01-19 20:31  paul

	* antihack.php, authenticate.php, browser-check.php,
	  button-defs.php, configuration-defs.php, data-defs.php,
	  database-defs.php, datetime-defs.php, db-defs.php,
	  db-mssql-server.php, db-mysql.php, db-odbc.php, db-postgres.php,
	  debugger.php, error-defs.php, error-header.php, file-defs.php,
	  form-defs.php, image-defs.php, list-funcs.php, mail-defs.php,
	  menu-defs.php, pager-defs.php, paging-defs.php, query-defs.php,
	  renderable.php, session-defs.php, tableviewer-defs.php,
	  timer-defs.php, user-defs.php, utils.php, varpool-defs.php,
	  webpage-defs.php, wml-defs.php: Initial revision


Documentation generated by phpDocumentor 1.3.0RC3