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.