summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/setup.php31
1 files changed, 22 insertions, 9 deletions
diff --git a/lib/setup.php b/lib/setup.php
index ce7ee24e134..eb32e84713f 100644
--- a/lib/setup.php
+++ b/lib/setup.php
@@ -189,16 +189,29 @@ class OC_Setup {
self::pg_createDatabase($dbname, $dbuser, $connection);
}
- //fill the database if needed
- $query = "select count(*) FROM pg_class WHERE relname='{$dbtableprefix}users' limit 1";
- $result = pg_query($connection, $query);
- if($result){
- $row = pg_fetch_row($result);
- }
- if(!$result or $row[0]==0) {
- OC_DB::createDbFromStructure('db_structure.xml');
- }
+ // the connection to dbname=postgres is not needed anymore
pg_close($connection);
+
+ // connect to the ownCloud database (dbname=$dbname) an check if it needs to be filled
+ $dbuser = OC_CONFIG::getValue('dbuser');
+ $dbpass = OC_CONFIG::getValue('dbpassword');
+ $connection_string = "host=$dbhost dbname=$dbname user=$dbuser password=$dbpass";
+ $connection = @pg_connect($connection_string);
+ if(!$connection) {
+ $error[] = array(
+ 'error' => 'PostgreSQL username and/or password not valid',
+ 'hint' => 'You need to enter either an existing account or the administrator.'
+ );
+ } else {
+ $query = "select count(*) FROM pg_class WHERE relname='{$dbtableprefix}users' limit 1";
+ $result = pg_query($connection, $query);
+ if($result) {
+ $row = pg_fetch_row($result);
+ }
+ if(!$result or $row[0]==0) {
+ OC_DB::createDbFromStructure('db_structure.xml');
+ }
+ }
}
}
else {