Ampoliros 3.0.0 released

Today I released the new generation of Ampoliros, with many new features and changes.

Change log:

3000 3.0.0 - 2002/09/09 - "Hui themes"
- Added Hui themes big features.
- Added ampshared.library for Ampoliros interface elements shared between
  various files and modules.
- Added menus in administration pages.
- Added a specific log for PHP events.
- Added PHP_LOG define for php log.
- Added more entries in the TROUBLESHOOTING file.
- Added the tempdir element type.
- Added the modinst tempdir.
- Added the ampcache tempdir.
- Added the phpsessions tempdir.
- Added the mWidgetType member to HuiWidgetElement class (hui.library).
- Added persistant HUI widgets using sessions big feature.
- Added persistant pages to the Hui table element.
- Added the Hui sessionkey element.
- Added list of sites enabled to each module in module dependencies panel.
- Added the MODULE_CATEGORY configuration key for modules general.def file.
- Added the $gEnv Ampoliros environment variable big feature.
- Added the Ampoliros state feature. Now Ampoliros can be in one of this
  states: setup, upgrade, debug, development and production. State is set in
- Added the Ampoliros interface mode feature. Interface mode can be one of the
  following: unknown, console, web, remote, gui. Interface mode is set in
- Added registered shutdown function ampoliros_shutdown().
- Added creation of a pid file for each Ampoliros instance, that gets deleted
  at the instance end by the shutdown function. Pid is set in
- Added the pids tempdir.
- Added email field to site users.
- Added the Ampoliros mode feature. Mode can be root or site.
- Added ampsite.php and amproot.php elements for system bootstrap.
- Added P3P compact header in Hui::Render() (hui.library).
- Added a log viewer during setup phase if something goes wrong.
- Added option to not create site database at site creation.
- Hooks can now return special codes to the calling function. Current
- Added a root page for advanced settings like Ampoliros state.
- Added list of the available remote methods for the remote accounts in the
  web services root page.
- Added ampremote.php element for remote system bootstrap.

- Changed Ampoliros generation to 3000.
- Changed default interface look with a new theme. See AUTHORS file for icon
  set credits.
- Moved development docs in a separate directory and archive.
- Now PHP memory limit defaults to 64 Mb.
- Reorganized the TROUBLESHOOTING file.
- Various optimizations.
- Added a consider extensions option in Module::CheckSiteDepengindModules()
  and Module::IsEnabled() (modules.library).
- Now the PHP session files are stored in the Ampoliros temporary directory
  under TMP_PATH.'phpsessions/'.
- Now the Ampoliros cache files are stored in the Ampoliros temporary directory
  under TMP_PATH.'ampcache/'.
- Now the Ampoliros modules installation temporary files are stored in the
  Ampoliros temporary directory under TMP_PATH.'modinst/'.
- Better interface where Hui tables elements are involved.
- Hui treemenu element is now persistant.
- Now sessions stay alive even when closing the browser.
- Now when entering administration pages, the last seen page is loaded.
- Now the modules list is ordered by category. If a module has no category,
  it is listed in the "Various" category.
- Updated dblayer_pgsql.dblayer to new Postgres functions names.
- Various optimizations in users.library.
- Completely restructured the ampconfig.php bootstrap file and system.
- Changed some remaining $PHP_SELF into $_SERVER['PHP_SELF'].
- Now Hui treemenu element widgets are clickable.
- Now menu borders have been removed, only flat style.
- Removed width and height attributes from Hui treemenu widget.
- Added time() as second option to all touch() functions due to a bug
  introduced in PHP since the 4.2.1 release.
- Web setup phase has been improved, graphically and functionally.
- Now hook return codes in Ampoliros functions are verified in order to take
  advantage of new hook functions.
- Now the Ampoliros error handler chooses when to log and when to die in base
  of Ampoliros state.
- Now if an event of type LOGGER_FAILURE is logged, Ampoliros dies in any
- Now LOGGER_DEBUG and LOGGER_WARNING log event types are logged only if
  Ampoliros state allows it.
- Added a lot of isset() checks to array indexes in order to avoid PHP notices
  when Ampoliros state is set to AMP_STATE_DEBUG.
- Updated Hui menu code to PHPLayersMenu 2.0 beta 3. Now the system works also
  on Mozilla  even with the long DTD for HTML 4.01 Transitional.
- Now sessions stay alive for a year if not specified.
- Increased width of log viewers.
- Now module structure can be seen only when Ampoliros state is set to
- Now comments in Hui HTML code are automatically enabled in debug state.
- Added support for APC PHP cache. After installing/upgrading a module, the
  cache gets flushed by Ampoliros.

- Added missing copy of logout icons.
- Fixed minor typos in huielement.element handler.
- Fixed typo in dblayer_pgsql.dblayer that prevented the creation of tables.
- Fixes bug which prevented site remotion.
- Fixed broken Module::CheckSiteModuleDeps(); there was a bug in a certain
  situation with multiple dependencies.
- Fixed handling of sessions expire time.
- Fixed typo in sites.library that prevented the correct insert in the sites
  table of the database port when creating a new site.
- Restored support of Postgres, broken due to various fixed issues.
- Fixed Hui treemenu widget that caused a PHP warning if a group was empty.
- Fixed wrong reference to an internal member in DbLayer::ErrorMsg()
- Fixed broken Hui new window widget javascript code under Internet Explorer.
- Fixed sites permissions trouble with adminpages accessible even for not
  enabled modules.