Glad to announce the release of AjaXplorer 4.1.0 in the « dev » channel, fixing problems introduced by php5.4.0, adding a couple of low level features to improve performance and prepare forthcoming features, and fixing a lot of known issues (see detail changes below). Please test, report bugs, and let’s move on to the stable.
As a reminder, the minor version number 4.1.0 is odd, which means this AjaXplorer release is considered a « development » release, and once tested and bugfixed, it will come back to the « stable » channel under the 4.2.0 name. Actually, changes are not that huge, so it should not be too dangerous to upgrade, particularly if you want php 5.4 support. But if you have a conservative upgrade policy, you should definitely wait for the next stable release.
Even if not a « stable » release, upgrade is possible via the automatic upgrade mechanism :
Go to Settings > Global Options > Plugins > Update Engine and edit the plugin configuration
Switch the « update channel » from « Stable » to « Development » and save the configuration
Check for new update, the package 4.0.4-4.1.0 should appear
Apply the update
There is a little trick for this update : during upgrading, by default the new config file conf/boostrap_context.php does not override your current version installed. Now either remove the old version and override it with the new one (that was dropped inside conf/ folder with a « .php.new.date » extension), or at least manually include the following change in your old version :
Add the following at line 46: define(« AJXP_PLUGINS_MESSAGES_FILE », AJXP_CACHE_DIR. »/plugins_messages.ser »);
[CORE & ACCESS DRIVERS]
PHP 5.4 Support : Call-time pass by reference are deprecated, replace static calls to DOMDocument::loadXML
Cross-Repository copy : two successive node expand changed the current repository to the destination repository (switch back replaced twice).
Core : Fix mkdir() call for the cmd_outputs folder
Metadata loading : Set a « hidden » metadata to a passed node
Access.fs : handle symlinks more properly
Access.fs : Filter files and folders when creating Zips, using PCLZIP_CB_PRE_ADD callback
Access.smb : Clean URL everywhere, pass the Locale as environnement variable when defined
Access.fs : Big typo error making the « nodeName » resetting useless
Access.smb : override makeZip and allow its usage (by plugin configuration), as it can be an option when on a very fast network connection.
Access.smb : fix « + » in folder name, use rawurldecode() instead of urldecode()
Open_basedir : Multiple files downloads broken, do not « patch path » in readFile function when on the realFileSystem.
Core.conf : Add a $context parameter to the user save() method, to avoid « over saving » data : if context is « superuser », save preferences and rights, where as in context « user » save only preferences.
Core.uploader : should solve the problems of setting the upload limit.
Auth.ftp : Force call to getServerFeatures() when coming from the login operation.
Auth.ldap : Jon Peck ldap contrib : ability to configure DN as an array and iterate through them
Meta.svn : manually set a library path to access the SVN commands.
Meta.filehasher : new utility for accelerating synchronization, compute and store file md5 in metadata (if metastore active) and delete on file change.
Action.powerfs : Fix zip delegation : do not sleep for one second, change the download mechanism, and place the zip inside the temporary folder, otherwise it makes problems for read-only folders. Allow compression when using powerfs in read mode, Todo : exclude hidden files from zip operation using an exclude list,