]> source.dussan.org Git - nextcloud-server.git/commitdiff
add support for custom ports for mysql/pgsql by adding :portnumber to the database...
authorRobin Appelman <icewind@owncloud.com>
Wed, 16 May 2012 23:06:22 +0000 (01:06 +0200)
committerRobin Appelman <icewind@owncloud.com>
Wed, 16 May 2012 23:06:22 +0000 (01:06 +0200)
lib/db.php

index 9f951d645e4f6277a05e8c0723fe101237c4a5bb..08bd06df95ec45b0f331636f01e2098e13d4cc81 100644 (file)
@@ -96,6 +96,11 @@ class OC_DB {
                $user = OC_Config::getValue( "dbuser", "" );
                $pass = OC_Config::getValue( "dbpassword", "" );
                $type = OC_Config::getValue( "dbtype", "sqlite" );
+               if(strpos($host,':')){
+                       list($host,$port)=explode(':',$host,2);
+               }else{
+                       $port=false;
+               }
                $opts = array();
                $datadir=OC_Config::getValue( "datadirectory", OC::$SERVERROOT.'/data' );
                
@@ -110,11 +115,19 @@ class OC_DB {
                                        $dsn='sqlite:'.$datadir.'/'.$name.'.db';
                                        break;
                                case 'mysql':
-                                       $dsn='mysql:dbname='.$name.';host='.$host;
+                                       if($port){
+                                               $dsn='mysql:dbname='.$name.';host='.$host.';port='.$port;
+                                       }else{
+                                               $dsn='mysql:dbname='.$name.';host='.$host;
+                                       }
                                        $opts[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES 'UTF8'";
                                        break;
                                case 'pgsql':
-                                       $dsn='pgsql:dbname='.$name.';host='.$host;
+                                       if($port){
+                                               $dsn='pgsql:dbname='.$name.';host='.$host.';port='.$port;
+                                       }else{
+                                               $dsn='pgsql:dbname='.$name.';host='.$host;
+                                       }
                                        break;
                        }
                        try{