]> source.dussan.org Git - nextcloud-server.git/commitdiff
allow using only dbname for oracle
authorJörn Friedrich Dreyer <jfd@butonic.de>
Tue, 11 Sep 2012 16:12:38 +0000 (18:12 +0200)
committerJörn Friedrich Dreyer <jfd@butonic.de>
Tue, 11 Sep 2012 16:12:38 +0000 (18:12 +0200)
lib/setup.php

index 67346799fe04b077208e0066170ff5651a18bdd8..c21c8be3957d7c9af37657679622df33a6dcd7b6 100644 (file)
@@ -63,7 +63,7 @@ class OC_Setup {
                        if(empty($options['dbname'])) {
                                $error[] = "$dbprettyname enter the database name.";
                        }
-                       if(empty($options['dbhost'])) {
+                       if($dbtype != 'oci' && empty($options['dbhost'])) {
                                $error[] = "$dbprettyname set the database host.";
                        }
                }
@@ -237,7 +237,7 @@ class OC_Setup {
                                $dbpass = $options['dbpass'];
                                $dbname = $options['dbname'];
                                $dbtablespace = $options['dbtablespace'];
-                               $dbhost = $options['dbhost'];
+                               $dbhost = isset($options['dbhost'])?$options['dbhost']:'';
                                $dbtableprefix = isset($options['dbtableprefix']) ? $options['dbtableprefix'] : 'oc_';
                                OC_CONFIG::setValue('dbname', $dbname);
                                OC_CONFIG::setValue('dbtablespace', $dbtablespace);
@@ -247,8 +247,12 @@ class OC_Setup {
                                $e_host = addslashes($dbhost);
                                $e_dbname = addslashes($dbname);
                                //check if the database user has admin right
-                               $connection_string = '//'.$e_host.'/'.$e_dbname;
-                               $connection = @oci_connect($dbuser, $dbpass, $connection_string);
+                               if ($e_host == '') {
+                                       $easy_connect_string = $e_dbname; // use dbname as easy connect name
+                               } else {
+                                       $easy_connect_string = '//'.$e_host.'/'.$e_dbname;
+                               }
+                               $connection = @oci_connect($dbuser, $dbpass, $easy_connect_string);
                                if(!$connection) {
                                        $e = oci_error();
                                        $error[] = array(
@@ -314,8 +318,12 @@ class OC_Setup {
                                        $e_host = addslashes($dbhost);
                                        $e_dbname = addslashes($dbname);
 
-                                       $connection_string = '//'.$e_host.'/'.$e_dbname;
-                                       $connection = @oci_connect($dbuser, $dbpass, $connection_string);
+                                       if ($e_host == '') {
+                                               $easy_connect_string = $e_dbname; // use dbname as easy connect name
+                                       } else {
+                                               $easy_connect_string = '//'.$e_host.'/'.$e_dbname;
+                                       }
+                                       $connection = @oci_connect($dbuser, $dbpass, $easy_connect_string);
                                        if(!$connection) {
                                                $error[] = array(
                                                        'error' => 'Oracle username and/or password not valid',