serialized data can contain null bytes, store them in blob

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Rework core.log:
In case of problem log with php error_log()
Introduce write2 method to better transmit log to the loggers

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Rework loggers to use write2 function
Let core.log handle exception in write2() loggers

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Rework error and exception handler (catchError and catchException in AJXP_XMLWriter)

Sending too much info is bad, only send real error message to admins
or when SERVER_DEBUG is true (else send "Oops, something happened ...").
If we want to send error message to user we should do it explicitly.

If an exception is thrown in catchException, log to error_log()

AJXP_Logger now handle his exception on his own (no more try catch in catchError)

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Add "pydio" as default identifier for log.syslog

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Don't limit log messages size (use TEXT for params column)

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Auth.remote cms_functions: when looking for the hidden files, make sure to use ".//" to search only below the current node.
Merge branch 'master' of https://github.com/ajaxplorer/ajaxplorer-core
ajxp_users.login must be in GROUP BY clause
(Correct PostgreSQL error)

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Merge pull request #336 from echampet/group-by

ajxp_users.login must be in GROUP BY clause
Merge pull request #334 from Afterster/master

Add new Avatar plugin category (with Gravatar and Libravatar) - by @Afterster
Merge pull request #313 from echampet/log

Rework log (error and exception handler) - By @echampet
Merge pull request #311 from echampet/serialize

serialized data can contain null bytes, store them in blob
Avatar : do not create a whole new plugin type, merge both plugins under a unique action.avatar
Check if plugin is active in UserWidget to avoid sending a request for nothing.
Auth.remote: test if ajxp_gluecode_updateRole function exists to avoid errors if the glueCode is inserted many times.
Broke build by code style
Add glueCode.php to the list of ignored php_cs (otherwise adds "public" to the function).