WACT doesn't output any messages if config file for MDBC is bad
(missing config or driver, can't login).
This is better error handling:
diff -u -r1.2 mdbc.inc.php
--- framework/db/mdbc.inc.php 24 May 2004 00:31:03 -0000
1.2
+++ framework/db/mdbc.inc.php 14 Jun 2004 15:25:50 -0000
@@ -44,9 +44,16 @@
function &newConnection($name) {
$ConnectionConfiguration =& new
MDBC_ConnectionConfiguration($name);
$driver = $ConnectionConfiguration->get("driver");
- $ConnectionClass = $driver . 'Connection';
+ if ($driver === NULL) {
+ RaiseError('db', 'DB_ERROR_MISSING_CONFIG',
array('name' => $name));
+ return NULL;
+ }
- require_once(WACT_ROOT . '/db/drivers/' . $driver .
'.inc.php');
+ $ConnectionClass = $driver . 'Connection';
+ if (! @include_once(WACT_ROOT . '/db/drivers/' . $driver .
'.inc.php')) {
+ RaiseError('db', 'DB_ERROR_UNKNOWN_DRIVER',
array('driver' => $driver));
+ return NULL;
+ }
return new $ConnectionClass($ConnectionConfiguration);
}
diff -u -r1.2 db.vars
--- framework/default/errormessages/db.vars 10 Nov 2003
11:42:10 -0000 1.2
+++ framework/default/errormessages/db.vars 14 Jun 2004
15:25:50 -0000
@@ -3,3 +3,5 @@
DB_ERROR_MESSAGE=A Database error occurred. {errorno}:
{error}
DB_ERROR_MESSAGE_SQL=A Database error occurred
({errorno}): {error} while processing sql statement
DB_ERROR_LIBRARY_REQUIRED=The {library} library is
missing from {path}
+DB_ERROR_UNKNOWN_DRIVER=An unknown driver {driver}
+DB_ERROR_MISSING_CONFIG=The {name} Database
configuration is missing