]> source.dussan.org Git - nextcloud-server.git/commitdiff
Connect to the newly created database when checking if it needs to be filled.
authorDaniel Köb <daniel.koeb@peony.at>
Thu, 12 Jan 2012 19:35:50 +0000 (20:35 +0100)
committerRobin Appelman <icewind1991@gmail.com>
Fri, 13 Jan 2012 03:38:59 +0000 (04:38 +0100)
lib/setup.php

index ce7ee24e13478ae2ca13681d6882ebb6a2806803..eb32e84713f187da82f4aceeace7155c68a9da81 100644 (file)
@@ -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 {