|
|
|
|
@ -168,8 +168,7 @@ class OC_DB {
|
|
|
|
|
try{
|
|
|
|
|
self::$PDO=new PDO($dsn, $user, $pass, $opts);
|
|
|
|
|
}catch(PDOException $e) {
|
|
|
|
|
echo( '<b>can not connect to database, using '.$type.'. ('.$e->getMessage().')</center>');
|
|
|
|
|
die();
|
|
|
|
|
OC_Template::printErrorPage( 'can not connect to database, using '.$type.'. ('.$e->getMessage().')' );
|
|
|
|
|
}
|
|
|
|
|
// We always, really always want associative arrays
|
|
|
|
|
self::$PDO->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
|
|
|
|
@ -263,10 +262,7 @@ class OC_DB {
|
|
|
|
|
|
|
|
|
|
// Die if we could not connect
|
|
|
|
|
if( PEAR::isError( self::$MDB2 )) {
|
|
|
|
|
echo( '<b>can not connect to database, using '.$type.'. ('.self::$MDB2->getUserInfo().')</center>');
|
|
|
|
|
OC_Log::write('core', self::$MDB2->getUserInfo(), OC_Log::FATAL);
|
|
|
|
|
OC_Log::write('core', self::$MDB2->getMessage(), OC_Log::FATAL);
|
|
|
|
|
die();
|
|
|
|
|
OC_Template::printErrorPage( 'can not connect to database, using '.$type.'. ('.self::$MDB2->getUserInfo().')' );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// We always, really always want associative arrays
|
|
|
|
|
@ -326,7 +322,7 @@ class OC_DB {
|
|
|
|
|
$entry .= 'Offending command was: '.htmlentities($query).'<br />';
|
|
|
|
|
OC_Log::write('core', $entry,OC_Log::FATAL);
|
|
|
|
|
error_log('DB error: '.$entry);
|
|
|
|
|
die( $entry );
|
|
|
|
|
OC_Template::printErrorPage( $entry );
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
try{
|
|
|
|
|
@ -336,7 +332,7 @@ class OC_DB {
|
|
|
|
|
$entry .= 'Offending command was: '.htmlentities($query).'<br />';
|
|
|
|
|
OC_Log::write('core', $entry,OC_Log::FATAL);
|
|
|
|
|
error_log('DB error: '.$entry);
|
|
|
|
|
die( $entry );
|
|
|
|
|
OC_Template::printErrorPage( $entry );
|
|
|
|
|
}
|
|
|
|
|
$result=new PDOStatementWrapper($result);
|
|
|
|
|
}
|
|
|
|
|
@ -449,7 +445,7 @@ class OC_DB {
|
|
|
|
|
|
|
|
|
|
// Die in case something went wrong
|
|
|
|
|
if( $definition instanceof MDB2_Schema_Error ) {
|
|
|
|
|
die( $definition->getMessage().': '.$definition->getUserInfo());
|
|
|
|
|
OC_Template::printErrorPage( $definition->getMessage().': '.$definition->getUserInfo() );
|
|
|
|
|
}
|
|
|
|
|
if(OC_Config::getValue('dbtype', 'sqlite')==='oci') {
|
|
|
|
|
unset($definition['charset']); //or MDB2 tries SHUTDOWN IMMEDIATE
|
|
|
|
|
@ -461,8 +457,7 @@ class OC_DB {
|
|
|
|
|
|
|
|
|
|
// Die in case something went wrong
|
|
|
|
|
if( $ret instanceof MDB2_Error ) {
|
|
|
|
|
echo (self::$MDB2->getDebugOutput());
|
|
|
|
|
die ($ret->getMessage() . ': ' . $ret->getUserInfo());
|
|
|
|
|
OC_Template::printErrorPage( self::$MDB2->getDebugOutput().' '.$ret->getMessage() . ': ' . $ret->getUserInfo() );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|