summaryrefslogtreecommitdiffstats
path: root/lib/db.php
diff options
context:
space:
mode:
authorFrank Karlitschek <frank@owncloud.org>2012-11-23 16:40:28 +0100
committerFrank Karlitschek <frank@owncloud.org>2012-11-23 16:40:28 +0100
commitfb5d0db0376f8f75fe6745fd1c94d5b325be4f41 (patch)
tree6c73ee17c32b21c9b068469859d19f53d69d5ecf /lib/db.php
parent67f9f079ae848116d5eb4306d35456fe0e34f5e4 (diff)
downloadnextcloud-server-fb5d0db0376f8f75fe6745fd1c94d5b325be4f41.tar.gz
nextcloud-server-fb5d0db0376f8f75fe6745fd1c94d5b325be4f41.zip
prettier error output. Let´s see how many more low hanging fruits I find on my way to the real bug that I want to fix ;-)
Diffstat (limited to 'lib/db.php')
-rw-r--r--lib/db.php47
1 files changed, 38 insertions, 9 deletions
diff --git a/lib/db.php b/lib/db.php
index de42626563d..687c49a0210 100644
--- a/lib/db.php
+++ b/lib/db.php
@@ -168,7 +168,10 @@ 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>');
+ $error['error']='<b>can not connect to database, using '.$type.'. ('.$e->getMessage().')</center>';
+ $error['hint']='';
+ $errors[]=$error;
+ OC_Template::printGuestPage("", "error", array("errors" => $errors));
die();
}
// We always, really always want associative arrays
@@ -263,9 +266,12 @@ 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);
+ $error['error']='<b>can not connect to database, using '.$type.'. ('.self::$MDB2->getUserInfo().')</center>';
+ $error['hint']='';
+ $errors[]=$error;
+ OC_Template::printGuestPage("", "error", array("errors" => $errors));
die();
}
@@ -326,7 +332,11 @@ 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 );
+ $error['error']=$entry;
+ $error['hint']='';
+ $errors[]=$error;
+ OC_Template::printGuestPage("", "error", array("errors" => $errors));
+ die();
}
}else{
try{
@@ -336,7 +346,11 @@ 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 );
+ $error['error']=$entry;
+ $error['hint']='';
+ $errors[]=$error;
+ OC_Template::printGuestPage("", "error", array("errors" => $errors));
+ die();
}
$result=new PDOStatementWrapper($result);
}
@@ -449,7 +463,11 @@ class OC_DB {
// Die in case something went wrong
if( $definition instanceof MDB2_Schema_Error ) {
- die( $definition->getMessage().': '.$definition->getUserInfo());
+ $error['error']=$definition->getMessage().': '.$definition->getUserInfo();
+ $error['hint']='';
+ $errors[]=$error;
+ OC_Template::printGuestPage("", "error", array("errors" => $errors));
+ die();
}
if(OC_Config::getValue('dbtype', 'sqlite')==='oci') {
unset($definition['charset']); //or MDB2 tries SHUTDOWN IMMEDIATE
@@ -461,8 +479,11 @@ class OC_DB {
// Die in case something went wrong
if( $ret instanceof MDB2_Error ) {
- echo (self::$MDB2->getDebugOutput());
- die ($ret->getMessage() . ': ' . $ret->getUserInfo());
+ $error['error']=self::$MDB2->getDebugOutput().' '.$ret->getMessage() . ': ' . $ret->getUserInfo();
+ $error['hint']='';
+ $errors[]=$error;
+ OC_Template::printGuestPage("", "error", array("errors" => $errors));
+ die();
}
return true;
@@ -575,7 +596,11 @@ class OC_DB {
$entry .= 'Offending command was: ' . $query . '<br />';
OC_Log::write('core', $entry, OC_Log::FATAL);
error_log('DB error: '.$entry);
- die( $entry );
+ $error['error']=$entry;
+ $error['hint']='';
+ $errors[]=$error;
+ OC_Template::printGuestPage("", "error", array("errors" => $errors));
+ die();
}
if($result->numRows() == 0) {
@@ -607,7 +632,11 @@ class OC_DB {
$entry .= 'Offending command was: ' . $query.'<br />';
OC_Log::write('core', $entry, OC_Log::FATAL);
error_log('DB error: ' . $entry);
- die( $entry );
+ $error['error']=$entry;
+ $error['hint']='';
+ $errors[]=$error;
+ OC_Template::printGuestPage("", "error", array("errors" => $errors));
+ die();
}
return $result->execute();