3.4 Changelog

3000 3.4 - 2003/05/15 - "Maintenance state"
---------------------
NEW FEATURES:
- Added maintenance state.
- Added the maintenance library.
- Added the ampmaintenance.php bootstrap script, to be invoked in a script
or in a cron job/planned task without arguments. This script launches
Ampoliros in maintenance state.
- Added the instance.maintenance hook, called in ampmaintenance.php before
starting the maintenance system.
- Added garbage collecting for modules (cache.library).
- Now modules cached items are removed when uninstalling their modules.
- Now the XML Hui widget (xml.hui) accepts "definitionfile" as argument;
if given, the XML definition is read from the file.
- Added proxy support in XmlRpc protocol (xmlrpc.library).
- Now sites can be assigned to remote users. If a remote user with an
assigned site logs in, that site is initialized.
- Added the "compact" attribute to Hui link, label and grid widgets.
- Added "target" attribute to Hui link widget.
- Added "bold" attribute to Hui link widget.
- Now children of Hui table container can set their width in the table.
- Implemented the designed but never programmed "sitepreinstall" and
"sitepreinstall" installation phases scripts.
- Added the "maintenancetask" element. It adds scheduled tasks to be execute
during the maintenance.
- Added LocaleCountry::GetDateArrayFromUnixTimestamp() method
(locale.library).
- Added the $gEnv['user']['locale'] section in amproot.php.
- Added the Maintenance root page.
- Now $gEnv['runtime']['site']['init'] is set to true when a site has been
initialized by init_amp_site() (ampsite.php), and a check to avoid multiple
init_amp_site() calls is done.
- Now $gEnv['runtime']['root']['init'] is set to true when a site has been
initialized by init_amp_root() (amproot.php), and a check to avoid multiple
init_amp_root() calls is done.
- Added the "MAINTENANCE_REPORTS_ENABLED" Ampoliros configuration key. If
set to "1" a report is sent when the maintenance is started.
- Added the "MAINTENANCE_REPORTS_EMAIL" Ampoliros configuration key. This is
the destination email for maintenance reports.
- Added "title" attribute to Hui link widget, that opens a popup with the
attribute content when the mouse pointer is over the link.

CHANGES:
- Now Ampoliros 3000 3.3.0 is required as a bare minimum for Ampoliros
update.
- Removed the 256 max lines length limit in ConfigFile class
(configman.library).
- Now Hui tab widgets have an arrow inside each tab like the treemenu
widget.
- Now major number version updates no more shows the minor version
number.
- Added some missing apices in array indexes in dblayer_pgsql.dblayer.
- Changed main menu icons in Amp3000 default theme.
- Removed all the uniqid() commands. This may boost performance in various
cases, especially with XML based Hui definitions.
- The processes list in ampadvanced.php no more shows itself.
- Changed all the Hui::LoadAllWidgets() calls to Hui::LoadWidget() ones.
- The listbox Hui widget now accepts multiple default elements, giving
an array as "default" argument.
- Now Hui SessionKey widget accepts empty values.
- Updated PHP Layers Menu code to 2.3.5. See AUTHORS file for credits.
- LocaleCountry class (locale.library) is more tolerant with date arrays
when some keys are missing.
- Now Hui root menus open only when they get clicked.

FIXES:
- Now the AmpCentral and Edition setup temporary files get removed.
- Added missing AMP_INTERFACE_REMOTE interface setting in ampremote.php.
- Fixed wrong handling of mysql_insert_id() in dblayer_mysql->NextSeqValue()
(dblayer_mysql.layer).
- Fixed a SQL query in root/sum.php that under Postgres layer caused a
warning in the database log.
- Fixed bug in dblayer.library that prevented RecordSet::Fields() from
retrieving field 0 when using indexes.
- Fixed AmpolirosSecurityHandler::GetUnsecureWebServicesProfiles()
(security.library) to let it work under Postgres layer.
- Fixed handling of submodules management in sites.php when modules depending
on the module with submodules have been enabled.
- Fixed disappearing layers bug when opening menus under Konqueror 3.1.
- Fixed old bug with quotes in SQL queries.
- Fixed some HTML code created by Hui widgets.

SECURITY:
- Now the access log contains also the remote address when logging in or
logging out.
- Fixed expoitable issue in ampremote.php that may lead to arbitrary
persistent connections to Ampoliros root database.
- Now the "|" and ":" characters are stripped from the username when
creating a new user (users.library), in order to avoid possible session
keys injections when doing web authentication.