Use %lmt and %ofs instead of LIMIT for dibi queries

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Rework DateTime handling in class.sqlLogDriver.php

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Do not use mysql escaping (`), use dibi one ([])

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
groupPath need to have [] (case sensitive)

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Use COUNT(*) instead of counting the number of returned values

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Do no reinvent dibi (use (%s))

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Delete from [ajxp_user_rights] only for the current user (add [login] in where clause)
Also use more dibi (use (%s))

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Do no reinvent dibi in listRoles() / class.sqlConfDriver.php

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Use dibi %~like~

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Use dibi %in instead of (%s) where appropriate

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Rework "regexp" in listUsersPaginated / getUsersCount in class.sqlAuthDriver.php
Now "^a" matches everything that start with a
"a$" matches everything that end with a
"^a$" matches exactly a (wasn't working)
"a" matches everything that contains a (was matching exactly a)

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
inferOptionsFromParent is a boolean (dibi take care of sqlite)

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Add PostgreSQL database support

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Add PostgreSQL support to class.AjaXplorerUpgrader.php

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Change serial_role type to bytea for PostgreSQL (table ajxp_roles)

Output of php serialize() "is a binary string which may include null bytes,
and needs to be stored and handled as such". (see php manual)
We should store all serialization in BLOB/BYTEA column.

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Force an archive name for downloading multiple nodes.
Pass a return_selection parameter to search/search_keyword methods, to pipe the given nodes into another action.
Initialize a UserSelection from an array of nodes instead of httpVars.
Fix floating "No Results Found" in the search engine.
Pipe search and download actions by using nodes selections to download a whole search result at once.
Update i18n table