I use PostgreSQL ;)
Ah, you are the one! (Just kidding.) Let me dig up if MDB2 has an
abstraction.
This error happens to me if I use MySQL, so I don't think it is a
MySQL vs. PostgreSQL thing.
I use a remote machine for the database(s). The database check in
check.php works, so
$db_working = true;
There is an abstraction for the unixtimestamp() thing in rcube_db.inc
and rcube_mdb2.inc
However I think something is amiss with the rcube_mdb2.inc file.
( looked at the two side-by-side, and there are some differences
where I don't think there should be. The version in the header(s) is
different between the two [1.16 vs. 1.17], so there might be some bug
fixes in rcube_db.inc that aren't in rcube_mdb2.inc There are some
references to PEAR:: in rcube_mdb2.inc that I think should be MDB2::)
If I hardcode using db in a couple lines from check.php instead
require_once 'include/rcube_db.inc'; $DB = new rcube_db($rcmail_config['db_dsnw'], '', false);
Then it works OK with MySQL.
I think there might be some issues in the error handling code
initialized by check.php. It isn't that I'm using PostgreSQL, but
some database error I have is triggering a code path that you aren't
exercising.
You are checking the database connection with raw MDB2:: calls, but
then for the timezone checks you use the rcube_mdb2.inc functions. I
think you should use the same code path for both.
Charles Dostale System Admin - Silver Oaks Communications http://www.silveroaks.com/ 824 17th Street, Moline IL 61265
List info: http://lists.roundcube.net/dev/